COMPUTE SMOOTH FOURIER AMPLITUDE SPECTRUM
This function computes Fourier amplitude spectrum and its smoothed version. For smoothing, it uses window averaging based on median or rms value of the window. Default number of windows is 20. The code also accepts a user-defined value for number of windows. Windows have equal number of data points.
[fas] = smoothFFT(w,dt);
or with rms method and a custom number of windows parameter for smoothing
[fas] = smoothFFT(w,dt,'n_windows',25,'method',rms);
w = vector of time series data (1xn or nx1)
dt = sampling interval (e.g., 0.01 second for 100 samples-per-second data)
n_windows = number of windows for averaging (each window contains same number of data points)
method = averaging method (median, rms) (e.g., 'method','rms').
VALID PROP_NAME / PROP_VAL PAIRS:
'n_windows' --> (1x1)-[numeric]-[default:20]
'method' --> [text]-[default: 'median']
fas = structure output array
fas.freq = frequency vector
fm = Fourier amplitudes
fas.smooth = smoothed Fourier amplitudes
EXAMPLE: See demo.m
I benefitted from smooth.m function of MatLAB for median and rms averaging. The original code is available at https://github.com/ashao/matlab/blob/master/external/smooth.m
If you find this code useful for your application, please don't forget to rate it.
For questions / suggestions / comments and bug reports: firstname.lastname@example.org
Dr. Erol Kalkan, P.E. (2019). COMPUTE SMOOTH FOURIER AMPLITUDE SPECTRUM (smoothFAS) (https://www.mathworks.com/matlabcentral/fileexchange/70166-compute-smooth-fourier-amplitude-spectrum-smoothfas), MATLAB Central File Exchange. Retrieved .