dsp.BurgSpectrumEstimator System object

Package: dsp

Parametric spectral estimate using Burg method

Description

The BurgSpectrumEstimator object computes a parametric spectral estimate of the input using the Burg method. The object fits an autoregressive (AR) model to the signal by minimizing the forward and backward prediction errors (via least-squares). The AR parameters are constrained to satisfy the Levinson-Durbin recursion.

To compute the parametric spectral estimate of the input:

  1. Define and set up your System object™. See Construction.

  2. Call step to compute the estimate according to the properties of dsp.BurgSpectrumEstimator. The behavior of step is specific to each object in the toolbox.

Construction

H = dsp.BurgSpectrumEstimator returns an object, H, that estimates the power spectral density (PSD) of the input frame using the Burg method.

H = dsp.BurgSpectrumEstimator('PropertyName',PropertyValue,...) returns a spectrum estimator, H, with each specified property set to the specified value.

Properties

EstimationOrderSource

Source of estimation order

Specify the source of the estimation order as Auto or Property. If you set this property to Auto, the object assumes the estimation order is one less than the length of the input vector. The default value is Property.

EstimationOrder

Order of AR model

Specify the order of AR model as a real positive integer. This property applies only when you set the EstimationOrderSource property to Property. The default value is 6.

FFTLengthSource

Source of FFT length

Specify the source of the FFT length as Auto or Property. When you set this property to Auto, the objects assumes the FFT length is one more than the estimation order. When you set this property to Property, the FFTLength property value must be an integer power of two.

FFTLength

FFT length as power-of-two integer value

Specify the FFT length as a power-of-two numeric scalar. This property applies when you set the FFTLengthSource property to Property. The default value is 256.

SampleRate

Sample rate of input time series

Specify the sampling rate of the original input time series as a positive numeric scalar in hertz. The default value is 1.

Methods

cloneCreate estimator object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs of step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepEstimate of power spectral density

Examples

Estimate PSD using the Burg method:

 x = randn(100,1);
 h = dsp.BurgSpectrumEstimator('EstimationOrder', 4);
 y = filter(1,[1 1/2 1/3 1/4 1/5],x); % Fourth order AR filter
 p = step(h,y); % Uses default FFT length of 256

 plot([0:255]/256, p);
 title('Burg Method Spectral Density Estimate');
 xlabel('Normalized frequency'); ylabel('Power/frequency');

Algorithms

This object implements the algorithm, inputs, and outputs described on the Burg Method block reference page. The object properties correspond to the block properties.

Was this topic helpful?