使用MATLAB过滤器()生成适当缩放的AR过程

时间:2012-10-17 00:26:16

标签: matlab statistics simulation

我正在尝试使用MATLAB的filter()函数生成AR(2)过程,如图here:

A=[1 -2.7607 3.8106 -2.6535 0.9238];
% AR(4) coefficients
y=filter(1,A,0.2*randn(1024,1)); 
% Filter a white noise input to create AR(4) process
[ar_coeffs,nv] =arburg(y,4);
%compare the results in ar_coeffs to the vector A.

我有一个时间序列数据集,并且希望大致匹配模拟数据集中数据的“总”方差。当我在第二行代码中使用nv代替0.2时,我得到的模拟方差太小了。

任何人都可以帮助我纠正这种情况,以生成类似模拟的AR(N)数据集吗?

谢谢,

标记

1 个答案:

答案 0 :(得分:0)

如果您在此示例中查看nv,则为0.0392,这是差异。要创建方差为a ^ 2的白噪声,您需要将该序列乘以a。如果a ^ 2 = 0.392则a为0.198(非常接近0.2)。所以Colin T是对的,你需要将你的randn(1024,1)乘以sqrt(nv)而不是nv