how can i filter my signal if the fft looks like this?

1 view (last 30 days)
I am looking for the best filter to filter my signal.

Accepted Answer

Kaashyap Pappu
Kaashyap Pappu on 12 Aug 2019
For plotting the FFT output, the x-axis must be defined in a vector. Ideally this vector is defined as follows:
x = (0: 1/nFFT : (1 - 1/nFFT)) * samplingFrequency;
plot(x,y)
Where nFFt is the number of FFT points, y is the FFT output and x is the vector for the x-axis. Alternatively, you can omit the multiplication with samplingFrequency if you want to use normalized frequency for the x-axis. Note that the “fft” function provides a 2-sided spectrum. To obtain single-sided spectrum, refer to the documentation here.
Following this, you can use the Filter Designer App to design the required filter. This is elaborated here. Design the filter based on the parameters from the frequency plot, and import the filter coefficients into the MATLAB workspace to use with the “filter” function elaborated here.
Additionally, you can also use the “pwelch” function for faster frequency domain analysis. This is elaborated here. The spectrum is single-sided in this case.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!