how to make a smooth sepectrum??

22 views (last 30 days)
Ali nouri
Ali nouri on 28 Jun 2020
Answered: Ameer Hamza on 29 Jun 2020
Hi guys,
I have been using the below code to make a loglog fft plot.
But i want to make a smooth spectrum, which goes through the fft plot??
I have also uploade a picture, which shows a fft plot with smooth spectrum.
Thanks in advance!
Fs = 1; % sample frequency (Hz)
N = length(A1); % number of samples
y = fft(A1);
f = (0:N-1)/Fs; % frequency range
power = abs(y).^2/N; % power of the DFT
figure(5)
bin_vals = [0 : N-1];
fax_Hz = bin_vals*Fs/N;
N_2 = ceil(N/2);
loglog(fax_Hz(1:N_2),(X_mags(1:N_2)))

Answers (1)

Ameer Hamza
Ameer Hamza on 29 Jun 2020
See smoothdata(): https://www.mathworks.com/help/releases/R2020a/matlab/ref/smoothdata.html. Pass the X_mags vector through smooth data to get a smooth profile. Similarly, you can also try low to use a low-pass filter: https://www.mathworks.com/help/signal/ref/lowpass.html on the fft data.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!