band pass filtering

4 Ansichten (letzte 30 Tage)
oblivious
oblivious am 17 Mai 2012
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

Antworten (1)

Honglei Chen
Honglei Chen am 17 Mai 2012
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)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by