Discrete Low Pass Filter
조회 수: 62 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Mathieu NOE
2021년 9월 23일
hello
the a value will give you a cut off frequency of fc if you choose a = 2*pi*fc
댓글 수: 2
Mathieu NOE
2021년 9월 24일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!