随机信号的参数建模法
一、概述
在对语音信号进行编码时,因为人的发声过程相近,因此可以根据人发声的物理过程进行建模。编码器根据输入信号来计算模型的参数,然后对模型参数进行编码,解码器在收到模型参数后即可利用数学模型重建原始数据。这种方法被称为信源模型编码技术,其过程可以表示为下图所示:

对于平稳随机信号,常用的三种信号模型分别为
- AR 模型(自回归模型 Auto-regression model)
- MA 模型(滑动平均模型 Moving average model)
- ARMA 模型(自回归滑移平均模型 Auto-regression-Moving average model)
1. MA 模型
随机信号 x(n)x(n)x(n) 由当前的激励 w(n)w(n)w(n) 和若干次过去的激励 w(n−k)w(n-k)w(n−k) 线性组合产生:x(n)=∑k=0qbkw(n−k)x(n) = \sum\limits_{k=0}^{q}b_kw(n-k)x(n)=k=0∑qbkw(n−k)该模型的系统函数为:H(z)=X(z)W(z)=∑k=0qbkz−kH(z) = \frac{X(z)}{W(z)}=\sum\limits_{k=0}^{q}b_{k}z^{-k}H(z)=W(z)X(z)=k=0∑qbkz−kqqq 表示系统阶数,系统函数只有零点没有极点,所以该系统一定是稳定系统,也称为全零点模型,用 MA(q)MA(q)MA(q) 表示。
2. AR 模型
随机信号 x(n)x(n)x(n) 由本身的若干次过去值 x(n−k)x(n-k)x(n−k) 和当前的激励值 w(n)w(n)w(n) 线性组合产生:x(n)=w(n)−∑k=1pakx(n−k)x(n)=w(n)-\sum\limits_{k=1}^{p}a_kx(n-k)x(n)=w(n)−k=1∑pakx(n−k)该模型的系统函数为:H(z)=11+∑k=1pakz−kH(z) = \frac{1}{1+\sum\limits_{k=1}^{p}a_kz^{-k}}H(z)=1+k=1∑pakz−k1ppp 是系统阶数,系统函数中只有极点没有零点,也称为全极点模型,系统由于极点的原因,要考虑系统的稳定性,因而要注意极点的分布位置,用 AR(p)AR(p)AR(p) 来表示。
3. ARMA 模型
ARMA 模型是 MA 模型与 AR 模型的结合:x(n)=∑k=0qbkw(n−k)−∑k=1pakx(n−k)x(n) = \sum\limits_{k=0}^{q}b_kw(n-k)-\sum\limits_{k=1}^{p}a_kx(n-k)x(n)=k=0∑qbkw(n−k)−k=1∑pakx(n−k)该模型的系统函数为:H(z)=∑k=0qbkz−k1+∑k=1pakz−kH(z) = \frac{\sum\limits_{k=0}^{q}b_{k}z^{-k}}{1+\sum\limits_{k=1}^{p}a_kz^{-k}}H(z)=1+k=1∑pakz−kk=0∑qbkz−k它既有零点又有极点,所以也称为零极点模型,要考虑零极点的分布位置,保证系统的稳定,用 ARMA(p,q)ARMA(p,q)ARMA(p,q) 表示。
在随机信号时域分析中,提出了许多数学模型用来由已知在最大不确定原则下预测将来值,其优点是只需要很少的已知值。但是它不能用在信号是确定性的场合,在确定信号的情况下,信号是由确定的数学方程预测的。
二、AR 模型参数的估计
三种方法可以相互转换,实际中选用哪一种模型都要考虑到节约和计算量,选定模型后剩下的任务就是适当的算法估计模型参数 (ak,bk,p,q)(a_k,b_k,p,q)(ak,bk,p,q),以便用模型对随机信号进行预测。
任何平稳的 ARMA 模型或 MA 模型均可用无限阶或阶数足够的 AR 模型去近似。因此本文着重介绍 AR 模型的基本原理和方法。
1. AR 模型参数和自相关函数的关系
对 x(n)=∑k=0qbkw(n−k)−∑k=1pakx(n−k)x(n) = \sum\limits_{k=0}^{q}b_kw(n-k)-\sum\limits_{k=1}^{p}a_kx(n-k)x(n)=k=0∑qbkw(n−k)−k=1∑pakx(n−k) 两边同时乘以 $ x(n-m)$,然后求均值: E[x(n)x(n−m)]=E[w(n)x(n−m)−∑k=1pakx(n−k)x(n−m)]E[x(n)x(n-m)]=E[w(n)x(n-m)-\sum\limits_{k=1}^{p}a_kx(n-k)x(n-m)]E[x(n)x(n−m)]=E[w(n)x(n−m)−k=1∑pakx(n−k)x(n−m)]因为自相关函数: Rxx(m)=E[x(n)x(n+m)]=E[x(k−m)x(k)]=E[x(n)x(n−m)]=Rxx(−m)R_{xx}(m) = E[x(n)x(n+m)]=E[x(k-m)x(k)]=E[x(n)x(n-m)]=R_{xx}(-m)Rxx(m)=E[x(n)x(n+m)]=E[x(k−m)x(k)]=E[x(n)x(n−m)]=Rxx(−m)所以自相关函数呈现偶对称,均值表达式化为:Rxx(m)=Rxw−∑k=1pakRxx(m−k)R_{xx}(m)=R_{xw}-\sum\limits_{k=1}^{p}a_kR_{xx}(m-k)Rxx(m)=Rxw−k=1∑pakRxx(m−k)系统的单位脉冲响应 h(n)h(n)h(n) 是因果的,所以输出的平稳随机信号和输入的白噪声之间的互相关函数有以下推导:
根据 x(n)=w(n)∗h(n)=∑k=0∞h(k)w(n−k)x(n)=w(n)*h(n)=\sum\limits_{k=0}^{∞}h(k)w(n-k)x(n)=w(n)∗h(n)=k=0∑∞h(k)w(n−k)可以得到 Rxw=E[∑k=0∞h(k)w(n−k)w(n+m)]=∑k=0∞h(k)E[w(n−k)w(n+m)]=∑k=0∞h(k)Rww(m+k)=∑k=0∞h(k)σw2δ(m+k)=σ2h(−m)\begin{array}{lr}R_{xw}=E[\sum\limits_{k=0}^{∞}h(k)w(n-k)w(n+m)] \\ =\sum\limits_{k=0}^{∞}h(k)E[w(n-k)w(n+m)]\\=\sum\limits_{k=0}^{∞}h(k)R_{ww}(m+k)\\=\sum\limits_{k=0}^{∞}h(k)σ^2_wδ(m+k)\\=σ^2h(-m)\end{array}Rxw=E[k=0∑∞h(k)w(n−k)w(n+m)]=k=0∑∞h(k)E[w(n−k)w(n+m)]=k=0∑∞h(k)Rww(m+k)=k=0∑∞h(k)σw2δ(m+k)=σ2h(−m) 所以 Rxw{
0,m>0σ2h(−m),m≤0R_{xw}\left\{ \begin{array}{lr} 0, & m>0 \\ σ^2h(-m), & m\leq 0 \end{array} \right. Rxw{
0,σ2h(−m),m>0m≤0带回到 Rxx(m)R_{xx}(m)Rxx(m) 的公式可得 Rxx(m)={
−∑k=1pakRxx(m−k),m>0−∑k=1pakRxx(m−k)+σw2h(0),m=0Rxx(−m),m<0R_{xx}(m)=\left\{\begin{array}{lr} -\sum\limits_{k=1}^{p}a_kR_{xx}(m-k), & m > 0 \\ -\sum\limits_{k=1}^{p}a_kR_{xx}(m-k)+σ^2_wh(0),& m=0\\ R_{xx}(-m),& m<0 \end{array} \right.Rxx(m)=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧−k=1∑pakRxx(m−k),−k=1∑pakRxx(m−k)+σw2h(0),Rxx(−m),m>0m=0m<0将 AR 模型的系统函数转换到时域得到:h(n)+∑k=1pakh(n−k)=δ(n)h(n)+\sum\limits_{k=1}^{p}a_kh(n-k)=δ(n)h(n)+k=1∑pakh(n−k)=δ(n),因而h(0)=1h(0)=1h(0

这篇博客介绍了随机信号的参数建模,特别是自回归(Auto-regression, AR)模型及其参数估计。AR模型常用于语音信号编码,通过计算模型参数进行编码和解码。AR模型的参数可以通过Yule-Walker方程和Levinson-Durbin(L-D)算法来估计。L-D算法是一种递推方法,计算速度快且确保模型稳定,但也存在因假设数据为零而导致的误差。博客还探讨了模型阶数选择和不同参数估计算法的比较,如Burg算法和Marple算法。"
77455504,7205941,递归算法学习与反思,"['递归', '算法', '字符串', '数学', '编程竞赛']
最低0.47元/天 解锁文章
360

被折叠的 条评论
为什么被折叠?



