band pass filtering

5 次查看(过去 30 天)
oblivious
oblivious 2012-5-17
Hi, I have a data sampled at 20MHz. I need to apply a bandpass filter centered at 5MHz and a bandwidth of 5MHz. I can do it by doing FFT, then eliminating unwanted components and then doing IFFT. Is there any simpler way?
-obli

回答(1 个)

Honglei Chen
Honglei Chen 2012-5-17
Doing it by FFT and eliminating the unwanted components is actually not desired because it normally results in some distortion of the signal. You can design a filter using your specifications. For example, with all your information, let's say you want to design a 10th order filter, you can do the following:
hd = design(fdesign.bandpass('N,Fc1,Fc2',10,2.5e6,7.5e6,20e6));
To see the filter response, you can do
fvtool(hd)
If you want to pass signal through the filter, you can do
y = filter(hd,x)

产品

Community Treasure Hunt

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

Start Hunting!

Translated by