How to make bandpass filter?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear community, I have got a signal with a noise. Frequency of this noise is 50 kHz. How can I cut it off? What is the easiest way to make bandpass filter? Thanks in advise.
Andrew
0 Kommentare
Akzeptierte Antwort
Wayne King
am 28 Nov. 2012
Bearbeitet: Wayne King
am 28 Nov. 2012
OK, then you can do two filters. A highpass filter and a notch filter (I'll assume you have fdesign.notch)
d = fdesign.highpass('Fst,Fp,Ast,Ap',2500,3000,60,0.5,5e6);
Hd1 = design(d,'butter');
d2 = fdesign.notch('N,F0,Q',10,5e4,35,5e6);
Hd2 = design(d2);
Hd = cascade(Hd1,Hd2);
Now you can use Hd to filter data.
out = filter(Hd,input);
You can view the filter with
fvtool(Hd,'Fs',5e6)
Weitere Antworten (2)
Wayne King
am 28 Nov. 2012
You have to know your sampling frequency, but you can you use fdesign.bandpass
Also when you specify the frequency of the noise as 50 kHz, are you saying that the "noise" is sinusoidal, only occurring at 50 kHz? If so, then a notch filter would be appropriate. If you have the DSP System Toolbox see fdesign.notch.
If you describe your the frequency band of interest (what you want to keep) and the sampling frequency, we can help you better. For example, it may be that a lowpass filter would be appropriate.
1 Kommentar
Wayne King
am 28 Nov. 2012
With a 5 MHz sampling rate and what you want, it's going to be a very expensive filter, do you really need to keep frequencies below 1 kHz at that sampling rate? Or can you just get rid of everything below 3 kHz?
Or do you really need to have the data sampled at 5 MHz? Can you downsample to a lower sampling rate?
Also, you did not answer the question about the noise at 50 kHz. Is it sinusoidal?
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!