主要内容

线性预测与自回归模型

这个例子展示了如何比较自回归建模和线性预测之间的关系。线性预测和自回归建模是两个不同的问题,但可以得到相同的数值结果。在这两种情况下,最终目标是确定线性滤波器的参数。但是,在每个问题中使用的过滤器是不同的。

简介

在线性预测的情况下,目的是确定一个FIR滤波器,可以基于过去样本的线性组合来最佳地预测自回归过程的未来样本。实际自回归信号与预测信号之间的差称为预测误差。理想情况下,这种错误是白噪声。

对于自回归建模的情况,目的是确定一个全极IIR滤波器,当被白噪声激发时,产生一个与我们试图建模的自回归过程具有相同统计量的信号。

使用白噪声作为输入的全极滤波器生成AR信号

在这里,我们使用LPC函数和FIR滤波器来简单地提出参数,我们将使用这些参数来创建我们将使用的自回归信号。FIR1和LPC的使用在这里并不重要。例如,我们可以将d替换为[1 1/2 /3 /4 /5 1/6 1/7 1/8],将p0替换为1e-6。但是这个滤镜的形状更好,所以我们用它代替。

B = fir1(1024, .5);[d,p0] = lpc(b,7);

为了产生自回归信号,我们将用方差为p0的高斯白噪声激发一个全极滤波器。注意,为了得到方差p0,我们必须使用SQRT(p0)作为噪声发生器中的“增益”项。

rng (0,“旋风”);允许复制精确的实验U =√(p0)*randn(8192,1);%方差为p0的高斯白噪声

我们现在使用高斯白噪声信号和全极滤波器来生成AR信号。

X = filter(1,d,u);

使用Yule-Walker方法从信号中找到AR模型

求解Yule-Walker方程,我们可以确定全极滤波器的参数,当用白噪声激励时,将产生一个统计数据与给定信号x匹配的AR信号。再次强调,这被称为自回归建模。为了求解Yule-Walker方程,需要估计x的自相关函数。然后使用Levinson算法有效地求解Yule-Walker方程。函数ARYULE为我们做了所有这些。

[d1,p1] = aryule(x,7);

比较AR模型和AR信号

我们现在想要计算我们刚刚用来模拟AR信号x的全极滤波器的频率响应。众所周知,当滤波器被高斯白噪声激励时,该滤波器输出的功率谱密度由其频率响应的大小平方乘以白噪声输入的方差给出。计算输出功率谱密度的一种方法是使用FREQZ,如下所示:

[H1,w1] = freqz(平方根(p1),d1);

为了了解我们对自回归信号x建模的效果如何,我们将使用FREQZ计算的模型输出的功率谱密度与使用PERIODOGRAM计算的x的功率谱密度估计叠加。请注意,周期图按2*pi缩放,并且是单侧的。为了进行比较,我们需要对此进行调整。

周期图(x)hp = plot(w1/pi,20*log10(2*abs(H1)/(2*pi)),“r”);%比例,制作单面PSD惠普。LineWidth = 2;包含(归一化频率(\乘以\ π rad/sample)) ylabel (单侧PSD (dB/rad/sample))传说(x的PSD估计“模型输出的PSD”

图中包含一个轴对象。标题为Periodogram Power Spectral Density Estimate的axis对象包含2个类型为line的对象。这些对象表示x的PSD估计,模型输出的PSD。

使用LPC进行线性预测

现在我们转向线性预测问题。在这里,我们试图确定一个FIR预测滤波器。我们使用LPC来实现这一点,但是LPC的结果需要一些解释。LPC返回整个增白滤波器A(z)的系数,该滤波器将自回归信号x作为输入,将预测误差作为输出返回。但是,A(z)中嵌入了预测过滤器,形式为B(z) = 1- A(z),其中B(z)是预测过滤器。请注意,用LPC计算的系数和误差方差与用ARYULE计算的系数和误差方差本质上是相同的,但它们的解释不同。

[d2,p2] = lpc(x,7);(d1, d2。]。
ans =8×21.0000 1.0000 -3.5245 -3.5245 6.9470 6.9470 -9.2899 -9.2899 8.9224 8.9224 -6.1349 -6.1349 2.8299 2.8299 -0.6997 -0.6997

现在,我们如上所述从A(z)中提取B(z),使用FIR线性预测器滤波器根据过去值的线性组合获得自回归信号的未来值的估计值。

Xh = filter(-d2(2:end),1,x);

比较实际信号和预测信号

为了感受我们使用7-tap FIR预测滤波器所做的工作,我们绘制了原始自回归信号(200个样本)以及由线性预测器产生的信号估计,记住预测滤波器中的单样本延迟。

类柄([x(2:end),xh(1:end-1)]) xlabel(的样品时间) ylabel (的信号值)传说(“原始自回归信号”“来自线性预测器的信号估计”)轴([0 200 -0.08 0.1])

图中包含一个轴对象。标题为Periodogram Power Spectral Density Estimate的axis对象包含2个stem类型的对象。这些对象代表原始自回归信号,线性预测器的信号估计。

比较预测误差

预测误差功率(方差)作为LPC的第二个输出返回。它的值(理论上)与AR建模问题中驱动全极滤波器的白噪声的方差(p1)相同。另一种估计方差的方法是根据预测误差本身:

p3 =规范(x(2:结束)xh (1: end-1), 2) ^ 2 /(长度(x) 1);

下面所有的值理论上都是相同的。这些差异是由于不同的计算和近似误差造成的。

[p0 p1 p2 p3]
ans =1×4105× 0.5127 0.5305 0.5305 0.5068

另请参阅

|