how to make a smooth sepectrum??

34 次查看(过去 30 天)
Ali nouri
Ali nouri 2020-6-28
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)))

回答(1 个)

Ameer Hamza
Ameer Hamza 2020-6-29
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.

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by