Bandpass filter with FDA tool
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
Can I know how to design a bandpass filter with range of 0.5 to 3Hz and needed gain is 80 (if possible 100) which will be used instead of a analog with digital filter.Coming to the sampling freq I have acquired a analog signal(having 1Hz) using a 200Hz sampling rate so I am not sure of what should be perfect sampling frequency is needed. I need the perfect bandpass filter as I will use these filter coefficients generated from fda tool in the microcontroller to design the bandpass with this matlab filter coefficients.
So,for this reason I want to be sure to have a better(perfect) filter implementation so that it won't be problem on the microcontroller filter design. Thanks.
0 Kommentare
Akzeptierte Antwort
Wayne King
am 6 Dez. 2013
Bearbeitet: Wayne King
am 6 Dez. 2013
Hi Stefan, yes I'll assume that you downsampled to 50 Hz (using an anti-aliasing filter)
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',0.5,1,3,4,80,0.5,80,50);
Hd = design(d,'butter');
Or using the butter() function
[z,p,k] = butter(30,[(2*0.5)/50, (2*3)/50],'bandpass');
sos = zp2sos(z,p,k);
fvtool(sos)
1 Kommentar
Weitere Antworten (1)
Wayne King
am 4 Dez. 2013
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',0.5,1,3,4,80,0.5,80,2000);
Hd = design(d,'butter');
but that really is hard to call a bandpass because 0.5 is close to 0. Are you sure you can't get away with a lowpass filter with a 3 Hz cutoff in this case. 80-100 dB attenuation in the stopbands with such a low frequency passband is going to be tough with that sampling frequency.
Can't you downsample this data to a lower sampling rate? 2000 Hz is overkill for this kind of filtering requirement.
Siehe auch
Kategorien
Mehr zu Analog Filters finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!