(To be removed) Parametric spectral estimate using Burg method

The dsp.BurgSpectrumEstimator System object™ will be removed in a future release. Use pburg instead. For more information, see Compatibility Considerations.


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.


Starting in R2016b, instead of using the step method to perform the operation defined by the System object, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


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

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



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.


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.


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.


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.


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.


stepEstimate of power spectral density
Common to All System Objects

Allow System object property value changes


Estimate PSD Using the Burg Method

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, myObject(x) becomes step(myObject,x).

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

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


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

Compatibility Considerations

expand all

Warns starting in R2019a

Extended Capabilities

See Also

System Objects


Introduced in R2012a