Long term average spectrum

Calculate the long-term average spectrum of a signal
1,1K téléchargements
Mise à jour 5 mai 2018

NOTE: this function is now available from the IoSR Matlab Toolbox as iosr.dsp.ltas.
-------------------------
S = LTAS(X,FS) calculates the long-term average spectrum (LTAS) of signal X, sampled at FS Hz. The spectrum is calculated from the average power spectral density (PSD) obtained from a series of overlapping FFTs; the FFT length is 4096, and the hop size is 2048. The segments of X are Hann-windowed. The average PSD is then Gaussian-smoothed to 1/3-octave resolution.
X can be a vector, matrix, or multidimensional array; LTAS will operate along the first non-signleton dimension, and return the LTAS for each corresponding row/column/etc.

S = LTAS(X,FS,'PARAMETER','VALUE') allows numerous parameters to be specified. These parameters are:-
'dim' : {find(size(X)>1,1,'first')} | scalar
Specifies the dimension of operation (defaults to the first non-singleton dimension).
'graph' : {false} | true
Choose whether to plot a graph of the LTAS.
'hop' : {NFFT/2} | scalar
Specifies the step size through X used to calculate each segment. NFFT is determined by the 'win' parameter.
'noct' : {3} | scalar
Apply 1/noct-octave smoothing to the frequency spectrum. Setting 'noct' to 0 results in no smoothing.
'scaling' : {'none'} | 'max0'
Specifies any scaling to apply to S. By default, no scaling is applied. If scaling is set to 'max0', S will be scaled to have a maximum value of 0.
'units' : {dB} | 'none'
Specifies the output units. By default the PSD is calculated in dB. Otherwise the PSD is returned directly.
'win' : {4096} | scalar | vector
Specifies the window or FFT length NFFT used to calculate the spectrum. If 'win' is a scalar, it specifies the FFT length, and a Hann window is applied to each segment. If 'win' is a vector, NFFT is the length of the vector, and the vector is multiplied with each segment.

Example

% Plot the 1/6th-octave-smoothed LTAS of the Handel example
load handel.mat
figure
ltas(y,Fs,'noct',6,'graph',true);

See also STFT, SMOOTH_SPECTRUM.

Citation pour cette source

Christopher Hummersone (2024). Long term average spectrum (https://github.com/IoSR-Surrey/MatlabToolbox), GitHub. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2015b
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Fourier Analysis and Filtering dans Help Center et MATLAB Answers
Remerciements

Inspiré par : Short time FFT with octave smooth

Community Treasure Hunt

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

Start Hunting!

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version
1.0.0.0

Migrated to GitHub.

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.