How to make bandpass filter?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Wayne King
il 28 Nov 2012
Modificato: Wayne King
il 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)
Più risposte (2)
Wayne King
il 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.
Wayne King
il 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?
Vedere anche
Categorie
Scopri di più su Digital Filter Analysis in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!