Calculate Burg maximum-entropy power spectral density.
pburg(
x,
p,
criterion = NULL,
freq = 256,
fs = 1,
range = NULL,
method = if (length(freq) == 1 && bitwAnd(freq, freq - 1) == 0) "fft" else "poly"
)input data, specified as a numeric or complex vector or matrix. In case of a vector it represents a single signal; in case of a matrix each column is a signal.
model order; number of poles in the AR model or limit to the number of poles if a valid criterion is provided. Must be < length(x) - 2.
model-selection criterion. Limits the number of poles so that spurious poles are not added when the whitened data has no more information in it. Recognized values are:
approximate corrected Kullback information criterion (recommended)
Kullback information criterion
corrected Akaike information criterion
Akaike information criterion
final prediction error
The default is to NOT use a model-selection criterion (NULL)
vector of frequencies at which power spectral density is calculated, or a scalar indicating the number of uniformly distributed frequency values at which spectral density is calculated. Default: 256.
sampling frequency (Hz). Default: 1
character string. one of:
"half" or "onesided"frequency range of the spectrum
is from zero up to but not including fs / 2. Power from negative
frequencies is added to the positive side of the spectrum.
"whole" or "twosided"frequency range of the spectrum
is -fs / 2 to fs / 2, with negative frequencies stored in
"wrap around order" after the positive frequencies; e.g. frequencies for a
10-point "twosided" spectrum are 0 0.1 0.2 0.3 0.4 0.5 -0.4 -0.3
-0.2. -0.1.
"shift" or "centerdc"same as "whole" but with
the first half of the spectrum swapped with second half to put the
zero-frequency value in the middle. If freq is a vector,
"shift" is ignored.
Default: If model coefficients a are real, the default range is
"half", otherwise the default range is "whole".
method used to calculate the power spectral density, either
"fft" (use the Fast Fourier Transform) or "poly" (calculate
the power spectrum as a polynomial). This argument is ignored if the
freq argument is a vector. The default is "poly" unless the
freq argument is an integer power of 2.
An object of class "ar_psd" , which is a list containing two
elements, freq and psd containing the frequency values and
the estimates of power-spectral density, respectively.
# NOT RUN {
A <- Arma(1, c(1, -2.7607, 3.8106, -2.6535, 0.9238))
y <- filter(A, 0.2 * rnorm(1024))
plot(pb <- pburg(y, 4))
# }
Run the code above in your browser using DataLab