How to make bandpass filter?

2 views (last 30 days)
Andrew
Andrew on 28 Nov 2012
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

Accepted Answer

Wayne King
Wayne King on 28 Nov 2012
Edited: Wayne King on 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)

More Answers (2)

Wayne King
Wayne King on 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 Comment
Andrew
Andrew on 28 Nov 2012
Edited: Andrew on 28 Nov 2012
I have a wanted signal with noise. The sampling rate is 5 MHz. The frequencies of this noise are 1-3 kHz and 50 kHz. So I want to cut off this frequencies and keep all other.

Sign in to comment.


Wayne King
Wayne King on 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?
  1 Comment
Andrew
Andrew on 28 Nov 2012
Yes, the noise at 50 kHz is sinusoidal. I don't want to downsample, because the wanted is signal is fluctuation, so I need to keep sampling frequency. Sorry, I have made a mistake, I can get rid of everything bellow 3kHz.

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!