-1
$\begingroup$

I am new to the topic of system identification and looking for a large Autoregressive (AR) model. Can anybody point out a large stable AR model which has more than 2 coefficients AND there should be a large number of zero coefficients?

This link presents an example of how to have nonzero coefficients in lag 1,4 for order, $p=4$ AR(4) model. But, the values are NaN !! So, how do I apply this technique so as to generate a large AR model with more number of zero coefficients and lesser number of non-zero coefficients ?

EDIT:

Looking for any stable AR($p$) model (preferably popular cited ones, if available) of higher order $p \ge 20$ where the number of non-zero coefficients are few (constraint) . If I generate a noisy sinusoidal wave given below, then

%Generate sine wave = A*sin(2*pi*f*t + phi)
t = linspace(0,1,1000);
A = 5;
f = 2;
phi = pi/8;
sinewave = A*sin(2*pi*f*t + phi);
noisy_sine=sinewave+0.5*randn(size(t));
subplot(1,2,1);
plot(t, sinewave)
hold on;
subplot(1,2,2);
plot(t,noisy_sine);

%Generate AR model
order =20;
ARCoeff = aryule(noisy_sine,order);

It returns AR model of 20 lags. But, all the coefficients are non-zero. How do I generate AR model of any order higher than 2 where the number of non-zero coefficients are lesser than the number of zero coefficients ?

$\endgroup$
8
  • $\begingroup$ It's simple to generate an AR(p) model of almost any arbitrary order. Will you consider it stable if it's slightly damped, but "lives" for at least 10k+ iterations (samples)? I can describe the method and provide an example. $\endgroup$
    – werediver
    Commented Apr 24, 2014 at 13:40
  • $\begingroup$ mathworks.com/help/signal/ref/aryule.html provides example how to generate AR(4) model where the filter coefficients are provided. How do I get to know filter coefficients for filter order p=20,50,100? I have no experimental data, and was wondering to use rand. Could you kindly describe how I can generate large AR models? $\endgroup$
    – SKM
    Commented Apr 24, 2014 at 18:13
  • $\begingroup$ Just take any data and fit the AR model to it. In the example you refered to replace aryule(y,4); with aryule(y,100);. Consider using a noisy combination of sinusoids as data. $\endgroup$
    – werediver
    Commented Apr 24, 2014 at 19:11
  • $\begingroup$ Thank you, how do I make a noisy combination of sinusoids as data?Could you please let me know this?In general, what is the method of first knowing the filter coefficients /transfer function technicalities connected to signal processing as is given in the link? $\endgroup$
    – SKM
    Commented Apr 24, 2014 at 19:20
  • $\begingroup$ Wait, do you need any (stable) AR(p) model or an AR(p) model with some predefined properties? Please, describe your requirements (feel free to extend your question post). $\endgroup$
    – werediver
    Commented Apr 24, 2014 at 19:24

1 Answer 1

0
$\begingroup$

I was able to produce the AR(p) model with much of zero-coefficients. I use Scilab rather than Matlab, therefore I'll just describe the technique:

  • Generate some appropriate data with the desired spectral properties - the AR model will mimic these spectral properties.
  • Fit the AR model of the desired order to your data.
  • Find the desired number of the coefficients with the lowest values and reset them to zero
    (something like a(find(abs(a) < stdev(a) / 2)) = 0 - valid in Scilab).

The resulting model should (may?) still has a similar spectral properties & satisfy your requirements considering zero-coefficients.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.