band pass filtering

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일

1 개 추천

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)

카테고리

제품

질문:

2012년 5월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by