how to make a smooth sepectrum??

28 visualizaciones (últimos 30 días)
Ali nouri
Ali nouri el 28 de Jun. de 2020
Respondida: Ameer Hamza el 29 de Jun. de 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)))

Respuestas (1)

Ameer Hamza
Ameer Hamza el 29 de Jun. de 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.

Categorías

Más información sobre Fourier Analysis and Filtering en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by