Introduction
In this module the DSK6713 will be used for spectrum estimation. Three estimation methods will be implemented:
- Periodogram
- Burg
- M-Cov
Periodogram
The Periodogram block computes a nonparametric estimate of the spectrum. The block averages the squared magnitude of the FFT computed over windowed sections of the input and normalizes the spectral average by the square of the sum of the window samples.
The modified covariance method
The Modified Covariance Method block estimates the power spectral density (PSD) of the input using the modified covariance method. This method fits an autoregressive (AR) model to the signal by minimizing the forward and backward prediction errors in the least squares sense. The order of the all-pole model is the value specified by the Estimation order parameter. To guarantee a valid output, you must set the Estimation order parameter to be less than or equal to two thirds the input vector length. The spectrum is computed from the FFT of the estimated AR model parameters.
Burg method
The Burg Method block estimates the power spectral density (PSD) of the input frame using the Burg method. This method fits an autoregressive (AR) model to the signal by minimizing (least squares) the forward and backward prediction errors while constraining the AR parameters to satisfy the Levinson-Durbin recursion.
Related files
- Powerpoint Presentation - SpectrumEstimation.ppt
- Simulink Model for Simulation - SpectrumEstimation.mdl
- MATLAB GUI for Real-Time - Spectrum.fig
- GUI m-file Spectrum.m
- m-file for Selection of estimation method SelectModel.m
- Simulink Model for Burg Estimation Method Burg.mdl
- Simulink Model for Periodogram Estimation Method Periodogram.mdl
- Simulink Model for Modified Covariance Estimation Method MCov_AR.mdl
Simulation
The environment
Figure 4 shows the data flow for the Estimation simulation. The input signal for the estimator is an AR process generated by feeding an all-poles filter with white noise. The AR coefficients generate the reference spectrum to be compared against the estimated one.
The procedure
- Create a new model in Simulink® and name it: “SpectrumEstimation.mdl”
- Open the Simulink library browser and add a random source object:
The Random Source Object - Double click on the random source object, and configure its parameters to fit the white noise characteristics we want to achieve:
The Random Source Object Configuration - Add a new digital filter to the model:
The Digital Filter Block - Double-click on the filter and fill in the following parameters
The Auto-Regressive process is represented by an all-pole IIR filter. The AR coefficients are the ones in the “Denominator coefficients” label.
The Digital Filter Block Parameters - Add the 3 estimators: Periodogram, Burg and Modified-Covariance to your model:
The Burg Method Block - Configure the FFT length of the three models to 128
The same configuration parameters apply for the three models. :
FFT Length Configuration for Spectrum Estimation - Add a new constant to your model:
The "DSP Constant" Block - This constant will have the AR coefficients values:
The AR coefficients values - Add a magnitude FFT block in order to get the spectrum from the AR coefficients:
The FFT Block - Set the FFT length to 128:
The FFT Length - Add a new math function object:
The Math Function Block - The “Math Function” block should be configured to calculate the reciprocal:
The "Math Function" Block Configuration - Add a new gain to your model (to represent the white noise variance in the reference spectrum generation) and set its value to 0.1:
The Gain Block - In order to display the Real and Estimated spectra simultaneously, you need to add a new concatenate object:
The "Matrix Concatenate" Block - Set the number of inputs of the concatenation object to 4:
The "Matrix Concatenate" Block Configuration - The various spectra will be displayed in a vector scope:
The "Vector Scope" Block - Select frequency as its input domain
The "Vector Scope" Block Configuration - Connect the blocks as shown:
Spectrum Estimation Simulation - When running the model
You should select a different color for each channel , you should see the get the following display:
Comparing the various spectrum estimators