Analisi spettrale
La rappresentazione nel dominio della frequenza di un segnale rivela importanti caratteristiche del segnale che sono difficili da analizzare nel dominio del tempo. L'analisi spettrale consente di caratterizzare il contenuto in frequenza di un segnale. Eseguire l'analisi spettrale in tempo reale di un segnale dinamico utilizzando l'oggetto spectrumAnalyzer
in MATLAB® e il blocco Spectrum Analyzer in Simulink®. Per calcolare i dati spettrali, Spectrum Analyzer utilizza il metodo del banco di filtri o il metodo di Welch per la media del periodogramma modificato. Entrambi questi metodi sono metodi di stima spettrale basati su FFT che non formulano alcuna ipotesi sui dati di input e possono essere utilizzati con qualsiasi tipo di segnale. Per ulteriori informazioni sull'algoritmo utilizzato da Spectrum Analyzer, vedere Spectral Analysis. Oltre alla visualizzazione dello spettro, è possibile visualizzare lo spettrogramma del segnale in Spectrum Analyzer. Per un esempio, vedere View the Spectrogram Using Spectrum Analyzer.
Se si desidera acquisire questi dati per la post-elaborazione in MATLAB, richiamare le funzioni degli oggetti isNewDataReady
e getSpectrumData
sull'oggetto Spectrum Analyzer. Richiamando queste funzioni nel loop di streaming, è possibile acquisire tutti i dati spettrali. Per acquisire i dati spettrali in Simulink, creare un oggetto SpectrumAnalyzerBlockConfiguration
ed eseguire la funzione getSpectrumData
su questo oggetto. Si noti che in Simulink è possibile acquisire solo l'ultimo fotogramma dei dati spettrali visualizzati su Spectrum Analyzer.
In alternativa, è possibile utilizzare dsp.SpectrumEstimator
System object™ e il blocco Spectrum Estimator per calcolare lo spettro di potenza e acquisire i dati spettrali per ulteriori elaborazioni. Per visualizzare i dati spettrali calcolati dallo stimatore di spettro, utilizzare un grafico ad array. Per gli esempi, vedere Estimate the Power Spectrum in MATLAB e Estimate the Power Spectrum in Simulink.
Oggetti
Blocchi
Argomenti
- Spectral Analysis
Spectral analysis is the process of estimating the power spectrum (PS) of a signal from its time-domain representation.
- Estimate the Power Spectrum in MATLAB
Compute the power spectrum using the
spectrumAnalyzer
and thedsp.SpectrumEstimator
objects. - Estimate the Power Spectrum in Simulink
Compute the power spectrum using the Spectrum Analyzer and the Spectrum Estimator blocks.
- Streaming Power Spectrum Estimation Using Welch's Method
Use Welch's method of averaged modified periodogram to estimate power spectrum.
- High Resolution Filter-Bank-Based Power Spectrum Estimation
This example shows how to perform high resolution spectral analysis by using an efficient polyphase filter bank sometimes referred to as a channelizer.
- View the Spectrogram Using Spectrum Analyzer
Spectrograms are a two-dimensional representation of the power spectrum of a signal as this signal sweeps through time.
- Estimate the Transfer Function of an Unknown System
You can estimate the transfer function of an unknown system based on the system's measured input and output data.
- Continuous-Time Transfer Function Estimation
This example shows how to use the Discrete Transfer Function Estimator block to estimate the magnitude and phase response of a continuous-time analog filter.
- Group Delay Estimation in Simulink
This example shows how to estimate the group delay of a filter in Simulink®.
- Variable-Size Signal Support DSP System Objects
List of System objects that support variable-sized signals in DSP System Toolbox™.