band pass filtering

1 回表示 (過去 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)

カテゴリ

Help Center および File ExchangeAnalog Filters についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by