How to make bandpass filter?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Wayne King
el 28 de Nov. de 2012
Editada: Wayne King
el 28 de Nov. de 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)
Más respuestas (2)
Wayne King
el 28 de Nov. de 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 comentario
Wayne King
el 28 de Nov. de 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?
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!