
Discrete Low Pass Filter
29 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi people,
I'm trying to modell a discrete low pass filter first order with a discrete time integrator.
I want to filter Frequencies up to 5 Hz.
Filter equation is y(k)= (1-a)*y_(k-1) + a*y_(k) where a is (T_s/(T_f+T_s))
How do I have to chose the T_f and T_s to filter under 5Hz

Thank you
0 Commenti
Risposte (1)
Mathieu NOE
il 23 Set 2021
hello
the a value will give you a cut off frequency of fc if you choose a = 2*pi*fc

2 Commenti
Mathieu NOE
il 24 Set 2021
hello
if you know your sampling rate then T_s is fixed . Now I don't have your T_f definition, but I can show you how the cut off frequency , sampling frequency and a factor are linked together
try this :
fc = 5; % cut off frequency (example)
Fs = 250; % sampling rate ; suggestion, depends of signal attributes
wc = 2*pi*fc / Fs ; % Fs = sampling rate, fc = cut off frequency
a = 1-exp(-wc);
% Filter equation is y(k)= (1-a)*y(k-1) + a*e(k);
% represented in H(z^-1) transfer function
numd = [a 0];
dend = [1 a-1];
freq = logspace(-1,1,200);
[mod,phas] = dbode(numd,dend,1/Fs,2*pi*freq);
figure(1)
semilogx(freq,20*log10(mod));
xlabel('Freq (Hz)');
ylabel('Gain (dB)');
you will see on the graph that the -3 dB cut off point is at fc = 5 Hz

you can of course change Fs and fc to match your needs
all the best
Vedere anche
Categorie
Scopri di più su Analog Filters in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!