Compute the power spectral density of an autoregressive model.
ar_psd(
  a,
  v = 1,
  freq = 256,
  fs = 1,
  range = ifelse(is.numeric(a), "half", "whole"),
  method = ifelse(length(freq) == 1 && bitwAnd(freq, freq - 1) == 0, "fft", "poly")
)# S3 method for ar_psd
plot(
  x,
  yscale = c("linear", "log", "dB"),
  xlab = NULL,
  ylab = NULL,
  main = NULL,
  ...
)
# S3 method for ar_psd
print(
  x,
  yscale = c("linear", "log", "dB"),
  xlab = NULL,
  ylab = NULL,
  main = NULL,
  ...
)
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.
numeric vector of autoregressive model coefficients. The first element is the zero-lag coefficient, which always has a value of 1.
square of the moving average coefficient, specified as a positive scalar Default: 1
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.
object to plot.
character string specifying scaling of Y-axis; one of
"linear", "log", "dB"
labels passed to plotting function. Default: NULL
additional arguments passed to functions
Peter V. Lanspeary, pvl@mecheng.adelaide.edu.au.
 Conversion to R by Geert van Boxtel, gjmvanboxtel@gmail.com
This function calculates the power spectrum of the autoregressive model
                       M
x(n) = sqrt(v).e(n) + SUM a(k).x(n-k)
                      k=1
x(n) is the output of the model and e(n) is white noise.a <- c(1, -2.7607, 3.8106, -2.6535, 0.9238)
psd <- ar_psd(a)
Run the code above in your browser using DataLab