NOTE: this function is now available from the IoSR Matlab Toolbox as iosr.dsp.smoothSpectrum.
X_OCT = SMOOTH_SPECTRUM(X,F,NOCT) applies 1/NOCT-octave smoothing to the magnitude-frequency spectrum contained in vector X sampled at frequencies in vector F.
Christopher Hummersone (2020). 1/N-Octave Smoothing (https://www.github.com/IoSR-Surrey/MatlabToolbox), GitHub. Retrieved .
Works as intented, but is way too slow to be useful...
Thanks for this great function! It takes quite some time for large datasets though, probably because it uses all the other points to calculate each smoothed point. Maybe you could implement that the window support only is a few (like 4 or 5) standard deviations around the center, because further away the window function is so small that you can neglect it and save a lot of processing time.
My email is email@example.com
Very good function but take too long time
Hi Michael. Thanks for the rating. Could you please provide some more feedback so that I might improve the code? Thanks.
Migrated to GitHub.
Amended help and example.
Inspired by: Short time FFT with octave smooth