[a,v,k] = arburg(x,poles,criterion) Calculate coefficients of an autoregressive (AR) model of complex data "x" using the whitening lattice-filter method of Burg (1968). The inverse of the model is a moving-average filter which reduces "x" to white noise. The power spectrum of the AR model is an estimate of the maximum entropy power spectrum of the data. The function "ar_psd" calculates the power spectrum of the AR model. ARGUMENTS: x %% [vector] sampled data poles %% [integer scalar] number of poles in the AR model or limit to the number of poles if a valid "stop_crit" is provided. criterion %% [optional string arg] 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 (see Kay & Marple, 1981). Recognised values are 'AKICc' -- approximate corrected Kullback information criterion (recommended), 'KIC' -- Kullback information criterion 'AICc' -- corrected Akaike information criterion 'AIC' -- Akaike information criterion 'FPE' -- final prediction error" criterion The default is to NOT use a model-selection criterion RETURNED VALUES: a %% [polynomial/vector] list of (P+1) autoregression coeffic- ients; for data input x(n) and white noise e(n), the model is P+1 x(n) = sqrt(v).e(n) + SUM a(k).x(n-k) k=1 v %% [real scalar] mean square of residual noise from the whitening operation of the Burg lattice filter. k %% [column vector] reflection coefficients defining the lattice-filter embodiment of the model HINTS: (1) arburg does not remove the mean from the data. You should remove the mean from the data if you want a power spectrum. A non-zero mean can produce large errors in a power-spectrum estimate. See "help detrend". (2) If you don't know what the value of "poles" should be, choose the largest (reasonable) value you could want and use the recommended value, criterion='AKICc', so that arburg can find it. E.g. arburg(x,64,'AKICc') The AKICc has the least bias and best resolution of the available model-selection criteria. (3) arburg runs in octave and matlab, does not depend on octave forge or signal-processing-toolbox functions. (4) Autoregressive and moving-average filters are stored as polynomials which, in matlab, are row vectors. NOTE ON SELECTION CRITERION AIC, AICc, KIC and AKICc are based on information theory. They attempt to balance the complexity (or length) of the model against how well the model fits the data. AIC and KIC are biassed estimates of the asymmetric and the symmetric Kullback-Leibler divergence respectively. AICc and AKICc attempt to correct the bias. See reference [4]. REFERENCES [1] John Parker Burg (1968) "A new analysis technique for time series data", NATO advanced study Institute on Signal Processing with Emphasis on Underwater Acoustics, Enschede, Netherlands, Aug. 12-23, 1968. [2] Steven M. Kay and Stanley Lawrence Marple Jr.: "Spectrum analysis -- a modern perspective", Proceedings of the IEEE, Vol 69, pp 1380-1419, Nov., 1981 [3] William H. Press and Saul A. Teukolsky and William T. Vetterling and Brian P. Flannery "Numerical recipes in C, The art of scientific computing", 2nd edition, Cambridge University Press, 2002 --- Section 13.7. [4] Abd-Krim Seghouane and Maiza Bekara "A small sample model selection criterion based on Kullback's symmetric divergence", IEEE Transactions on Signal Processing, Vol. 52(12), pp 3314-3323, Dec. 2004