Filtered signal's frequency response is not correct

1 view (last 30 days)
I am trying to pass a pure noise signal through a filter, but the frequency response is not what I expected. I have attached the sample script I am using to filter the signal.
I created a digital FIR filter as shown:
filter_response.jpg
I applied this to flat noise and expected to see abount -120 dB of attenuation at higher frequencies; however, I get the following frequency response:
freq_response.jpg
A few things stand out as incorrect:
  1. Why isn't the amplitude flat in the stopband of the filter (~1000 Hz to ~64000 Hz)? I would have expected the orange filtered signal response (the 2nd figure) to match the filter response in the first figure.
  2. The attentuation in the orange filtered signal only reaches about -60 dB, when it should reach -120 dB. Why is this?
  3. I ran a similar test using Simulink and the spectrum analyzer produced the correct frequency response for the signal. Why is this different that using a MATLAB script?
simulinkTest.JPG
simulink_spectrum.JPG

Answers (0)

Categories

Find more on Get Started with DSP System Toolbox in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!