功率谱估计的参数模型方法---AR模型谱估计:自相关法&协方差法
第一篇自己的博客,这篇文章将参考文献[1]中的AR模型方法与参考文献[2]中的方法联系起来,算是个笔记吧。看到这个代码有点懵acm.m,这样简单的问题都思考了好一会儿了,LaTex也不怎么会用。。。我的知识真是太匮乏了
信号的线性模型(零极点模型/Pole-Zero Modeling)
常系数线性差分方程:
Y
[
n
]
+
a
1
Y
[
n
−
1
]
+
⋯
+
a
p
Y
[
n
−
p
]
=
b
0
X
[
n
]
+
b
1
X
[
n
−
1
]
+
⋯
+
b
q
X
[
n
−
q
]
Y[n] + a_1Y[n-1]+\cdots+a_pY[n-p]=b_0X[n]+b_1X[n-1]+\cdots+b_qX[n-q]
Y[n]+a1Y[n−1]+⋯+apY[n−p]=b0X[n]+b1X[n−1]+⋯+bqX[n−q]
其中,
X
[
n
]
X[n]
X[n]是输入随机序列,
Y
[
n
]
Y[n]
Y[n]是输出序列。
(1)AR模型(自回归/全零点模型)
如果则如果
q
=
0
q=0
q=0(右端仅有一项)
Y
[
n
]
+
a
1
Y
[
n
−
1
]
+
⋯
+
a
p
Y
[
n
−
p
]
=
b
0
X
[
n
]
Y[n] + a_1Y[n-1]+\cdots+a_pY[n-p]=b_0X[n]
Y[n]+a1Y[n−1]+⋯+apY[n−p]=b0X[n]
记为
A
R
(
p
)
AR(p)
AR(p),称
Y
[
n
]
Y[n]
Y[n]为
p
p
p阶自回归模型
(2)MA模型(移动平均/全极点模型)
如果则如果
p
=
0
p=0
p=0(左端仅有一项)
Y
[
n
]
=
b
0
X
[
n
]
+
b
1
X
[
n
−
1
]
+
⋯
+
b
q
X
[
n
−
q
]
Y[n] =b_0X[n]+b_1X[n-1]+\cdots+b_qX[n-q]
Y[n]=b0X[n]+b1X[n−1]+⋯+bqX[n−q]
记为
M
A
(
q
)
MA(q)
MA(q),称
Y
[
n
]
Y[n]
Y[n]为
q
q
q阶移动平均模型
(3)ARMA模型(自回归/全零点模型)
如果则如果 p , q 0 p,q0 p,q0记为 A R M A ( p , q ) ARMA(p,q) ARMA(p,q),称 Y [ n ] Y[n] Y[n]为 ( p , q ) (p,q) (p,q)阶自回归移动平均模型
常系数线性差分方程对应的系统函数
H
(
z
)
H(z)
H(z)为
H
(
z
)
=
b
0
+
b
1
z
−
1
+
⋯
+
b
q
z
−
q
1
+
a
1
z
−
1
+
⋯
+
a
p
z
−
p
)
H(z)=\frac{b_0+b_1z^{-1}+\cdots+b_qz^{-q}}{1+ a_1z^{-1}+\cdots+a_pz^{-p}})
H(z)=1+a1z−1+⋯+apz−pb0+b1z−1+⋯+bqz−q)
将随机信号建模为零均值单位方差白噪声激励
H
(
z
)
H(z)
H(z)产生:假设输入随机序列
X
[
n
]
X[n]
X[n]是零均值单位方差白噪声,功率谱为常数
1
1
1,自相关函数为单位脉冲函数
δ
(
k
)
\delta(k)
δ(k),则输出功率谱为
P
(
e
j
ω
)
=
∣
b
0
+
b
1
e
−
j
ω
+
⋯
+
b
q
e
−
j
q
ω
∣
2
∣
1
+
a
1
e
−
j
ω
+
⋯
+
a
p
e
−
j
p
ω
∣
2
P(e^{j\omega})=\frac{|b_0+b_1e^{-j\omega}+\cdots+b_qe^{-jq\omega}|^2}{|1+ a_1e^{-j\omega}+\cdots+a_pe^{-jp\omega}|^2}
P(ejω)=∣1+a1e−jω+⋯+ape−jpω∣2∣b0+b1e−jω+⋯+bqe−jqω∣2
一旦模型选定,下一步是由给定数据估计参数模型
a
i
,
b
j
a_i,b_j
ai,bj,对于AR模型需要估计
b
0
,
a
1
,
⋯
,
a
p
b_0,a_1,\cdots,a_p
b0,a1,⋯,ap。基于最小均方误差准则的四种参数估计方法:自相关法(Yule-Walk 法)、协方差法、修正协方差法、Burg法,后两种方法最小化前向加反向预测误差的平方和来求解参数。
a
r
g
m
a
x
a
k
ξ
M
S
E
arg\;\underset{a_k}{max}\xi_{MSE}
argakmaxξMSE
其中
ξ
M
S
E
=
E
{
∣
e
(
n
)
∣
2
}
\xi_{MSE}=E\{|{e(n)|}^2\}
ξMSE=E{∣e(n)∣2},
e
(
n
)
=
x
(
n
)
−
x
^
(
n
)
\quad e(n)=x(n)-\widehat x(n)
e(n)=x(n)−x
(n)
自相关法(Yule-Walk 法)
为求解
a
k
a_k
ak,取
ξ
M
S
E
\xi_{MSE}
ξMSE对
a
k
a_k
ak求偏导 等于
0
0
0,化简得
∑
l
=
1
p
a
l
r
x
(
k
−
l
)
=
−
r
x
(
k
)
k
=
1
,
2
,
⋯
,
p
\sum_{l=1}^{p}a_lr_x(k-l)=-r_x(k)\quad k=1,2,\cdots,p
∑l=1palrx(k−l)=−rx(k)k=1,2,⋯,p
写成矩阵形式为:
R
x
a
=
−
r
x
\boldsymbol{R_xa=-r_x}
Rxa=−rx
\quad
参考文献[1]中的式(3.7)
此式被称为线性预测的正则方程(Normal equations),其中
R
x
\boldsymbol{R_x}
Rx是数据
x
(
n
)
x(n)
x(n)的自相关矩阵,是
N
∗
N
N*N
N∗N的Hermite、Toeplitz矩阵:
R
x
=
[
r
x
(
0
)
r
x
∗
(
1
)
⋯
r
x
∗
(
p
−
1
)
r
x
(
1
)
r
x
(
0
)
⋯
r
x
∗
(
p
−
2
)
⋯
⋯
⋯
⋯
r
x
(
p
−
1
)
r
x
(
p
−
2
)
⋯
r
x
(
0
)
]
\boldsymbol{R_x}= \begin{bmatrix} r_x(0)&r_x^*(1)&\cdots&r_x^*(p-1)\\ r_x(1)&r_x(0)&\cdots&r_x^*(p-2)\\ \cdots&\cdots&\cdots&\cdots\\ r_x(p-1)&r_x(p-2)&\cdots&r_x(0)\\ \end{bmatrix}
Rx=⎣⎢⎢⎡rx(0)rx(1)⋯rx(p−1)rx∗(1)rx(0)⋯rx(p−2)⋯⋯⋯⋯rx∗(p−1)rx∗(p−2)⋯rx(0)⎦⎥⎥⎤
其中:
r
x
(
k
)
=
1
N
∑
n
=
k
N
x
(
n
)
x
∗
(
n
−
k
)
r_x(k) = \frac{1}{N}\sum_{n=k}^{N}x(n)x^*(n-k)
rx(k)=N1∑n=kNx(n)x∗(n−k)
N
N
N为数据长度,
w
h
e
n
n
<
0
o
r
n
>
N
,
x
(
n
)
=
0
when\quad n<0\quad or\quad n>N,x(n)=0
whenn<0orn>N,x(n)=0
a
=
[
a
1
,
a
2
,
⋯
,
a
p
]
T
a={[a_1,a_2,\cdots,a_p]}^T
a=[a1,a2,⋯,ap]T
式中
R
x
\boldsymbol{R_x}
Rx又可以写成
R
x
=
X
H
X
\boldsymbol{R_x}=\boldsymbol X^H\boldsymbol X
Rx=XHX
X
=
[
x
(
0
)
0
0
⋯
0
x
(
1
)
x
(
1
)
0
⋯
0
x
(
2
)
x
(
1
)
x
(
0
)
⋯
0
⋯
⋯
⋯
⋯
⋯
x
(
N
)
x
(
N
−
1
)
x
(
N
−
2
)
⋯
x
(
N
−
p
+
1
)
0
x
(
N
)
x
(
N
−
1
)
⋯
x
(
N
−
p
+
2
)
⋯
⋯
⋯
⋯
⋯
0
0
0
⋯
x
(
N
)
]
\boldsymbol X = \begin{bmatrix} x(0)&0&0&\cdots&0\\ x(1)&x(1)&0&\cdots&0\\ x(2)&x(1)&x(0)&\cdots&0\\ \cdots&\cdots&\cdots&\cdots&\cdots\\ x(N) &x(N-1) &x(N-2)&\cdots&x(N-p+1)\\ 0&x(N)&x(N-1)&\cdots&x(N-p+2)\\ \cdots&\cdots&\cdots&\cdots&\cdots\\ 0&0&0&\cdots&x(N)\\ \end{bmatrix}
X=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x(0)x(1)x(2)⋯x(N)0⋯00x(1)x(1)⋯x(N−1)x(N)⋯000x(0)⋯x(N−2)x(N−1)⋯0⋯⋯⋯⋯⋯⋯⋯⋯000⋯x(N−p+1)x(N−p+2)⋯x(N)⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
r
x
\boldsymbol{r_x}
rx可以写成
R
x
=
X
H
X
2
\boldsymbol{R_x}=\boldsymbol X^H\footnotesize{\boldsymbol X_2}
Rx=XHX2,
X
2
\footnotesize{\boldsymbol X_2}
X2是
X
\boldsymbol{X}
X的第二列。
因此正则方程可写为:
X
H
X
a
=
−
X
H
X
2
\boldsymbol X^H\boldsymbol X\boldsymbol a=-\boldsymbol X^H\footnotesize{\boldsymbol X_2}
XHXa=−XHX2
即:
X
a
=
−
X
2
\boldsymbol X\boldsymbol a=-\footnotesize{\boldsymbol X_2}
Xa=−X2
\quad
参考文献[2]中的式(4.21)(4.81)(4.123)
利用自相关法估计参数的代码acm.m在这里
协方差法
Reference
1.杨绿溪. 现代数字信号处理[M]. 2007.
2.Hayes M H. Statistical Digital Signal Processing and Modeling[J]. 1996. Chapter 4, 式(4.40)
\quad
书中MATLAB代码在这里
3.陈明. 信息与通信工程中的随机过程(第2版)[M]. 2005.