信号とシステム - 京都大学kashima/lecture/ss/slide17_8.pdf · 信号とシステム...
Transcript of 信号とシステム - 京都大学kashima/lecture/ss/slide17_8.pdf · 信号とシステム...
信号とシステム
信号とシステム
システム科学専攻 林 和則
• 第 2章 連続時間信号の変換
• 第 3章 サンプリングと z変換
• 第 4章 FFTとその応用
• 第 5章 アナログフィルタとディジタルフィルタ
• 第 6章 適応フィルタ
講義資料:http://www.msys.sys.i.kyoto-u.ac.jp/˜kazunori/ss.html
1
信号とシステム
第6章適応フィルタ
• 適応フィルタ =環境変動に応じてインパルス応答を調整可能なフィルタ
• 未知システムの同定(順システム推定と逆システム推定)
• フィルタ係数決定のためのアルゴリズムとその性質– Wiener-Hopf方程式: 統計量を用いた直接解法– 最急降下法: 統計量を用いた逐次解法– LMSアルゴリズム: 瞬時値を利用した近似解法– 最小二乗法: 誤差信号の二乗和を最小化– RLSアルゴリズム: 最小二乗解の逐次推定
第 6 章適応フィルタ 2
信号とシステム
適応信号処理の基本的な考え方
適応フィルタ hi の出力 y(k)と希望する信号(所望信号)d(k)との誤差が小さくなるように hi を制御
d(k) : 所望信号, x(k) : 入力信号
y(k) =
N−1∑i=0
hix(k − i) : 適応フィルタ出力
e(k) = d(k)− y(k) : 誤差信号
+
d(k)
x(k) adaptive filter
h i
e(k)y(k) +
-
第 6 章適応フィルタ 3
信号とシステム
順方向システムの推定
x(k) : 未知システムおよび適応フィルタの入力信号d(k) : 未知システムの出力(所望信号)n(k) : 観測雑音
y(k) =N−1∑i=0
hix(k − i) : 適応フィルタ出力
e(k) = [d(k) + n(k)]− y(k) : 誤差信号
+d(k)
x(k)unknown system
adaptive filter
h i
e(k)
y(k)+
n(k)
+
-
第 6 章適応フィルタ 4
信号とシステム
逆方向システムの推定
x(k) : 適応フィルタの入力信号d(k) : 未知システムの入力信号(所望信号)n(k) : 観測雑音
y(k) =N−1∑i=0
hix(k − i) : 適応フィルタ出力
e(k) = d(k)− y(k) : 誤差信号
+x(k)d(k)
unknown systemadaptive filter
h i
e(k)y(k)+
n(k)+
-
+
+
第 6 章適応フィルタ 5
信号とシステム
適応フィルタの応用例: エコー・キャンセラ
x(k)
y(k) d(k)e(k)
• 話者信号 x(k)がハイブリッド変圧器 wi を通してエコー d(k)に.
• y(k) ≈ d(k)なるエコーキャンセラ hi の出力 y(k)を減じる.
• エコー・キャンセラは順システムの推定.
第 6 章適応フィルタ 6
信号とシステム
適応フィルタの応用例: 適応等化器
+x(k)
d(k)
channel equalizer
wi h i
e(k)y(k)+
n(k)+
-
• 送信信号 d(k)が,伝送路 wi を通して歪んだ受信信号 x(k)となる.
• 等化器 hi の出力 y(k)が既知の送信信号(トレーニング信号)d(k)と一致するように hi を調整.
• 適応等化器は逆システムの推定.
• 因果性を保つために遅延 z−M が必要.
第 6 章適応フィルタ 7
信号とシステム
適応フィルタ問題の定式化
• n(k) = 0と FIRフィルタを仮定し,最適フィルタ係数を導出
入力信号ベクトル: x(k) = [x(k), x(k − 1), . . . , x(k −N + 1)]T
適応フィルタ係数(重みベクトル): h = [h0, h1, . . . , hN−1]T
フィルタ出力: y(k) =N−1∑i=0
hix(k − i) = hTx(k)
所望信号: d(k)
• 評価基準は出力誤差信号 e(k)の平均二乗誤差
J(h) = E[e(k)2
]= E
[{d(k)− y(k)}2
]
第 6 章適応フィルタ 8
信号とシステム
平均二乗誤差
J(h) = E[{d(k)− y(k)}2
]= E
[{d(k)− hTx(k)}2
]= E
[{d(k)− hTx(k)}{d(k)− xT(k)h}
]= E
[d2(k)
]− E
[hTx(k)d(k)
]− E
[d(k)xT(k)h
]+ E
[hTx(k)xT(k)h
]= E
[d2(k)
]− 2hTE [x(k)d(k)] + hTE
[x(k)xT(k)
]h
= E[d2(k)
]− 2hTp+ hTRh
= E[d2(k)
]− 2
∑i
hipi +∑i
∑j
rijhihj
R = E[x(k)xT(k)
]自己相関行列 (rij = {R}ij)
p = E [x(k)d(k)] 相互相関ベクトル (pi = {p}i)
第 6 章適応フィルタ 9
信号とシステム
Wiener-Hopf方程式 (1/2)
J(h)を最小にする hを hopt を求める.∑i
∑j
rijhihj =∑i ̸=k
∑j ̸=k
rijhihj + hk
∑j ̸=k
rkjhj + hk
∑i ̸=k
rikhi + rkkh2k
より
∂J(h)
∂hk=
∂
∂hk
E[d2(k)
]− 2
∑i
hipi +∑i
∑j
rijhihj
= −2pk +
∑j ̸=k
rkjhj +∑i ̸=k
rikhi + 2rkkhk
= −2pk + 2∑i ̸=k
rkihi + 2rkkhk (rij = rji)
= −2pk + 2∑i
rkihi
第 6 章適応フィルタ 10
信号とシステム
Wiener-Hopf方程式 (2/2)
∂J(h)
∂hk= −2pk + 2
∑i
rkihi
= −2pk + 2(Rの k行)h
∂J(h)
∂h=
[∂J(h)
∂h0
∂J(h)
∂h1· · · ∂J(h)
∂hN−1
]T= −2p+ 2Rh
Wiener-Hopf方程式(正規方程式):
Rhopt = p
hopt = R−1p
第 6 章適応フィルタ 11
信号とシステム
スカラーをベクトルで微分(実数編)Wiener-Hopf方程式の導出で出てきた式:
J(h) = E[d2(k)
]− 2hTp+ hTRh
∂J(h)
∂h= −2p+ 2Rh
実数の列ベクトル xに対し,次が成り立つ:∂
∂x
(xTa
)= a
∂
∂x
(xTAx
)= Ax+ATx
= 2Ax (Aが対称行列のとき)
第 6 章適応フィルタ 12
信号とシステム
スカラーをベクトルで微分(複素数編)複素スカラー関数 f(z)を複素数 z = x+ jyで微分:
∂f
∂z=
1
2
(∂f
∂x− j
∂f
∂y
)∂f
∂z∗=
1
2
(∂f
∂x+ j
∂f
∂y
)複素数の列ベクトル zに対し,次が成り立つ:
∂z
∂z=
∂z∗
∂z∗ = I
∂z
∂z∗ =∂z∗
∂z= O
∂
∂z∗
(zHa
)= a
∂
∂z∗
(zHAz
)= Az
第 6 章適応フィルタ 13
信号とシステム
広義定常離散時間確率過程
離散時間確率過程:番号 (インデックス)が付けられたランダム変数の集合 {x(n); n = . . . ,−2,−1, 0, 12, . . .}
確率過程 {x(n)}の平均:µn = E [x(n)]
確率過程 {x(n)}の自己相関関数:rn,n−k = E [x(n)x∗(n− k)]
広義定常過程:平均が時刻 nに依存せず (µn = µ, ∀n),自己相関関数が時間差 kのみに依存 (rn,n−k = rk)する (平均と自己相関が時間の原点シフト (n → n+ l, ∀l)に依存しない)とき,{x(n)}は広義定常と呼ばれる
任意の次数のモーメントについて上が成り立つとき {x(n)}は狭義定常
第 6 章適応フィルタ 14
信号とシステム
自己相関行列 (autocorrelation matrix)
離散時間広義定常確率過程 {x(n)}の観測ベクトル:x(n) ∈ CN
自己相関行列の定義:
R = E[x(n)xH(n)
]=
r0 r1 . . . rN−1
r−1 r0 . . . rN−2
......
. . ....
r−N+1 r−N+2 . . . r0
ただし,(·)H はエルミート転置(共役転置)広義定常過程の相関行列はテプリッツ行列
第 6 章適応フィルタ 15
信号とシステム
自己相関行列の性質 (1/3)
性質 1:離散時間定常確率過程の相関行列はエルミート行列
RH =(E[x(n)xH(n)
])H= E
[(x(n)xH(n))H
]= E
[x(n)xH(n)
]= R
[別証明]
r−k = E [x(n)x∗(n+ k)] = (E [x∗(n)x(n+ k)])∗= (E [x∗(n− k)x(n)])
∗
= r∗k
なので
R = E[x(n)xH(n)
]=
r0 r1 . . . rN−1
r∗1 r0 . . . rN−2
......
. . ....
r∗N−1 r∗N−2 . . . r0
第 6 章適応フィルタ 16
信号とシステム
自己相関行列の性質 (2/3)
性質 2:離散時間定常確率過程の自己相関行列は非負定値
uを任意の非零のN × 1複素数値ベクトルとし,x(n)との内積をy = uHx(n)とする.このとき,
E[|y|2]= E [yy∗]
= E[uHx(n)xH(n)u
]= uHE
[x(n)xH(n)
]u
= uHRu ≥ 0
第 6 章適応フィルタ 17
信号とシステム
自己相関行列の性質 (3/3)
性質 3:相関行列Rの互いに異なる固有値 λ1, · · · , λN に対応する
固有ベクトル q1, · · · , qN は互いに直交する
Rはエルミート行列なので自明.
性質 4:相関行列Rの固有値 λ1, · · · , λN は全て非負の実数
λi に対応する固有ベクトルを qi とすると
Rqi = λiqi, i = 1, 2, . . . , N
qHi Rqi = λiq
Hi qi, i = 1, 2, . . . , N
λi =qHi Rqi
qHi qi
, i = 1, 2, . . . , N
よって,λi は非負の実数(レイリー商)
第 6 章適応フィルタ 18
信号とシステム
直交原理 (principle of orthogonality) (1/2)
平均 2乗誤差 J(h) = E[e(k)2
]について再度考える.
∂J(h)
∂hi= E
[2e(k)
∂e(k)
∂hi
], i = 0, 1, . . . , N − 1
e(k) = d(k)− y(k)より
∂e(k)
∂hi= −∂y(k)
∂hi= − ∂
∂hi
(N−1∑l=0
hlx(k − l)
)= −x(k − i)
∂J(h)
∂hi= −2E [e(k)x(k − i)]
最適解 hopt に対応する誤差を eo(k) = d(k)− hToptx(k)とすると
E [eo(k)x(k − i)] = 0, i = 0, 1, . . . , N − 1
重みベクトルが最適解のとき,誤差と入力は無相関(直交原理)
第 6 章適応フィルタ 19
信号とシステム
直交原理 (principle of orthogonality) (2/2)
最適解 hopt = [ho,0, ho,1, . . . , ho,N−1]T に対応する出力を
yo(k) = hToptx(k) =
N−1∑i=0
ho,ix(k − i)
とすると,
E [eo(k)yo(k)] = E
[eo(k)
N−1∑i=0
ho,ix(k − i)
]
=N−1∑i=0
ho,iE [eo(k)x(k − i)] = 0
重みベクトルが最適解のとき,誤差と出力も直交する
第 6 章適応フィルタ 20
信号とシステム
直交原理に基づくWiener-Hopf方程式の導出最適解 hopt に対応する誤差
eo(k) = d(k)−N−1∑l=0
ho,lx(k − l)
直交原理 E [eo(k)x(k − i)] = 0に代入して
E
[{d(k)−
N−1∑l=0
ho,lx(k − l)
}x(k − i)
]= 0
N−1∑l=0
E [x(k − i)x(k − l)]ho,l = E [d(k)x(k − i)]
E [x(k − i)x(k − l)] = ril = {R}il, E [d(k)x(k − i)] = pi = {p}i より
Rhopt = p
第 6 章適応フィルタ 21
信号とシステム
最急降下法 (method of steepest descent)
J(h)の勾配 g方向へ hを修正して J(h)を逐次的に最小化.
• 正規方程式は逆行列演算を含み計算量が大きい.
• j回更新した時の係数ベクトルを h(j),勾配ベクトルを g(j)と表す.
g(j − 1) =∂J(h)
∂h
∣∣∣∣h=h(j−1)
= 2 [Rh(j − 1)− p]
h(j) = h(j − 1)− 0.5α(j)g(j − 1)
α(j): ステップゲイン,ステップサイズ0.5 1 1.5 2 2.5 3 3.50
0.5
1
1.5
2
2.5
3
第 6 章適応フィルタ 22
信号とシステム
最急降下法の収束性: 推定誤差ベクトルの漸化式
最急降下法 h(j) = h(j − 1)− 0.5α(j)g(j − 1)について,推定誤差ベクトル θ(j) = h(j)− hopt の変化を調べる.
θ(j) = h(j)− hopt
= h(j − 1)− 0.5α(j)g(j − 1)− hopt
= θ(j − 1)− α(j)[Rh(j − 1)− p]
= θ(j − 1)− α(j)[Rh(j − 1)−Rhopt]
= θ(j − 1)− α(j)R[h(j − 1)− hopt]
= [I − α(j)R]θ(j − 1)
第 6 章適応フィルタ 23
信号とシステム
最急降下法の収束性: 収束条件と収束速度 (1/2)
θ(j) =
j∏i=1
[I − α(i)R]θ(0)
=
j∏i=1
[I − α(i)QDQT]θ(0)
= Q
j∏i=1
[I − α(i)D]QTθ(0),
R = QDQT :固有値分解, D = diag[λ1, . . . , λN ].
• α(i) = 1/λiとすれば,N 回の反復で最適解が得られる (θ(N) = 0)
• λi = λ, ∀i (入力が白色)の場合は,α(1) = 1/λとすることで一回の反復で誤差ゼロ (θ(1) = 0)
第 6 章適応フィルタ 24
信号とシステム
最急降下法の収束性: 収束条件と収束速度 (2/2)
• α(i)が定数 αの場合
θ(j) = Q[I − αD]jQTθ(0), D = diag[λ1, . . . , λN ].
– 収束のための条件は −1 < 1− αλn < 1, ∀n ⇔ 0 < α <2
λmax
– 収束が最も速いのは 1− αλmin = −(1− αλmax)のとき,すなわちα =
2
λmin + λmax
– 最も収束が遅いのは [I − αD]の最大絶対値の固有値に対応する
モードで,上の αのときは λmax/λmin − 1
λmax/λmin + 1.
(条件数, condition number)
第 6 章適応フィルタ 25
信号とシステム
ステップゲインの設定
• 最適な αは 2
λmin + λmaxだが,Rの固有値分解は計算量大.
• 簡単な計算により,収束性が保証される αを導く.
Gerschgorinの定理 Rの固有値は rii を中心とし∑k ̸=i
|rik|を半径とす
るN 個の複素平面における円内または円上に存在する.
λmax ≤ µ ≡ min
maxi
N∑j=1
|rij |,maxj
N∑i=1
|rij |
0 < α < 2/µとすればよい.
2 3 4 5 6 7 8−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
第 6 章適応フィルタ 26
信号とシステム
統計量を用いない適応アルゴリズム
入力信号の自己相関行列R = E[x(k)xT(k)
]や相互相関ベクトル
p = E [x(k)d(k)]が未知のとき,J = E[e(k)2
]は最小化できない.
誤差の瞬時値を最小化
• LMS (least-mean-square)アルゴリズム: 期待値の代わりに瞬時値JLMS = e(k)2 を利用.
• 正規化 LMSアルゴリズム (学習同定法 ): 収束条件を緩和した LMSアルゴリズムの改良版.
誤差の二乗和を最小化
• RLS (recursive least squares)アルゴリズム: 誤差の期待値の代わりに誤差の二乗和 JLS =
∑e(k)2 を利用.
第 6 章適応フィルタ 27
信号とシステム
LMS (least-mean-square)アルゴリズム
期待値 J = E[e(k)2
]の代わりに瞬時値 JLMS = e(k)2 を最小化.
JLMS = e(k)2 = [d(k)− y(k)]2
= [d(k)− hT(k)x(k)]2
= hT(k)x(k)xT(k)h(k)− 2hT(k)x(k)d(k) + d(k)2
∂JLMS
∂h(k)= 2x(k)xT(k)h(k)− 2x(k)d(k)
= −2x(k)e(k)
LMSアルゴリズムの更新式:
h(k + 1) = h(k) + αx(k)e(k)
α:ステップゲイン
第 6 章適応フィルタ 28
信号とシステム
LMSアルゴリズムの収束性 (1/2)
推定誤差ベクトルの漸化式
θ(k + 1) = h(k + 1)− hopt
= h(k) + αx(k)e(k)− hopt
= θ(k) + αx(k){d(k)− xT(k)h(k)}
= θ(k) + αx(k){d(k)− xT(k)hopt − xT(k)h(k) + xT(k)hopt}
= θ(k) + αx(k){eo(k)− xT(k)θ(k)} (eo(k) = d(k)− xT(k)hopt)
= [I − αx(k)xT(k)]θ(k) + αx(k)eo(k)
両辺の期待値をとると
E [θ(k + 1)] = E[[I − αx(k)xT(k)]θ(k)
]+ αE [x(k)eo(k)]
= E[[I − αx(k)xT(k)]θ(k)
]第 6 章適応フィルタ 29
信号とシステム
LMSアルゴリズムの収束性 (2/2)
x(k)と θ(k)の独立性を仮定し,
E[x(k)xT(k)θ(k)
]= E
[x(k)xT(k)
]E [θ(k)]
とする(実際には x(k)と θ(k)は独立でないが厳密な解析は困難).
E [θ(k + 1)] = E[[I − αx(k)xT(k)]θ(k)
]= E
[I − αx(k)xT(k)
]E [θ(k)]
= [I − αR]E [θ(k)]
最急降下法の収束性の議論より,これが収束するための条件は
0 < α <2
λmax
(ただし,独立性の仮定の下での平均の収束を意味するのであって,LMSアルゴリズムの安定性を保証するものではないことに注意)
第 6 章適応フィルタ 30
信号とシステム
正規化 LMS (NLMS)アルゴリズム (学習同定法)
更新項を入力の大きさで正規化する時変のステップゲインを導入することにより高速化を図る
時変ステップゲインの LMS: h(k + 1) = h(k) + α(k)x(k)e(k)
事後誤差:
e+(k) = d(k)− hT(k + 1)x(k)
= d(k)− [h(k) + α(k)x(k)e(k)]Tx(k)
= [1− α(k)xT(k)x(k)]e(k)
α(k) =1
xT(k)x(k)=
1
||x(k)||2とすることで (e+(k))2 = 0
NLMSアルゴリズム: h(k + 1) = h(k) +x(k)
∥x(k)∥2e(k)
第 6 章適応フィルタ 31
信号とシステム
NLMSアルゴリズムの別導出 (1/3)
NLMSアルゴリズムは次の制約付き最適化問題と解としても得られる
最適化問題 :入力ベクトル x(k)と希望信号 d(k)が与えられたとき,制約 hT(k + 1)x(k) = d(n)の下で,η(k) = h(k + 1)− h(k)の 2乗ユークリッドノルムを最小にする h(k + 1)を求めよ
NLMSアルゴリズムの更新式を代入
hT(k + 1)x(k) =
(h(k) +
x(k)
∥x(k)∥2e(k)
)T
x(k)
= hT(k)x(k) +xT(k)x(k)
∥x(k)∥2e(k)
= hT(k)x(k) + e(k)
= d(n)
NLMSの更新式は最適化問題の制約条件を満足する.
第 6 章適応フィルタ 32
信号とシステム
NLMSアルゴリズムの別導出 (2/3)
NLMS更新式での η(k)を
ηNLMS(k) = h(k + 1)− h(k) =x(k)
∥x(k)∥2e(k)
と定義し,最適な η(k)が次で与えられるとする.
ηopt(k) = ηNLMS(k) + η1(k)
NLMS更新式の h(k + 1)も最適解の h(k + 1)も制約条件を満足
[h(k) + ηNLMS(k)]Tx(k) = d(k)
[h(k) + ηopt(k)]Tx(k) = d(k)
辺々引いて ηT1 (k)x(k) = 0を得る.これより
ηT1 (k)ηNLMS(k) = ηT
1 (k)x(k)
∥x(k)∥2e(k) = 0
第 6 章適応フィルタ 33
信号とシステム
NLMSアルゴリズムの別導出 (3/3)
ηTopt(k)ηopt(k) = (ηNLMS(k) + η1(k))
T(ηNLMS(k) + η1(k))
= ηTNLMS(k)ηNLMS(k) + ηT
1 (k)η1(k) + 2ηT1 (k)ηNLMS(k)
= ηTNLMS(k)ηNLMS(k) + ηT
1 (k)η1(k)
ηopt(k)の 2乗ユークリッドノルム ||ηopt(k)||2 = ηTopt(k)ηopt(k)は
ηT1 (k)η1(k) = 0,すなわち η1(k) = 0のときに最小となり,このとき
ηopt(k) = ηNLMS(k).
w(k)
Tw (k+1)x(k)=d(k)
η (k)NLMS
第 6 章適応フィルタ 34
信号とシステム
NLMSの推定誤差ベクトルの漸化式
推定誤差ベクトルの漸化式
θ(k + 1) =
[I − x(k)xT(k)
||x(k)||2
]θ(k) +
x(k)eo(k)
||x(k)||2
両辺期待値をとり,独立性の仮定を用いると
E [θ(k + 1)] = E
[I − x(k)xT(k)
∥x(k)∥2
]E [θ(k)]
[I − x(k)xT(k)
∥x(k)∥2
]は xの直交補空間への直交
射影行列,すなわち NLMSは θ(k) から x(k)
方向成分を除去するアルゴリズム.
x(k)θ(k)
θ(k+1)
第 6 章適応フィルタ 35
信号とシステム
NLMSの収束速度
入力信号 x(k)の相関が強いと収束は遅い.
• N = 2, E[x(k)2
]= 1, E [x(k)x(k − 1)] = ρ < 1, α = 1の場合.
E [θ(k + 1)] = E
[I − x(k)xT(k)
∥x(k)∥2
]E [θ(k)]
=
I − 1
2
1 ρ
ρ 1
E [θ(k)]
=1
2
1 −ρ
−ρ 1
E [θ(k)]
固有値は (1 + ρ)/2, (1− ρ)/2.
第 6 章適応フィルタ 36
信号とシステム
最小二乗法 (method of least squares) (1/3)
• 時刻 kでの入力ベクトル: x(k) = [x(k) · · ·x(k −N + 1)]T
• 時刻 kでの重みベクトル: h(k) = [h0(k) · · ·hN−1(k)]T
• 時刻 kでの希望信号: d(k)
• 重みベクトル h(k)を使ったときの過去の各時刻の出力:
yl(k) = hT(k)x(l), l = 1, 2, · · · , k
• yl(k)に対応する各時刻の誤差信号: el(k) = d(l)− yl(k)
• 時刻 kでの誤差の二乗和:
JLS(h(k)) =
k∑l=1
e2l (k)
各時刻 kで誤差の二乗和 JLS を最小化する h(k)を求める.
第 6 章適応フィルタ 37
信号とシステム
最小二乗法 (method of least squares) (2/3)
次のベクトル,行列を定義すると
d(k) = [d(1), d(2), . . . , d(k)]T
X(k) = [x(1),x(2), . . . ,x(k)]
y(k) = [y1(k), y2(k), . . . , yk(k)]T = XT(k)h(k)
e(k) = [e1(k), e2(k), . . . , ek(k)]T = d(k)− y(k)
JLS(h(k)) =k∑
l=1
e2l (k) = eT(k)e(k)
= (d(k)−XT(k)h(k))T(d(k)−XT(k)h(k))
= dT(k)d(k)− 2hT(k)X(k)d(k) + hT(k)X(k)XT(k)h(k)
第 6 章適応フィルタ 38
信号とシステム
最小二乗法 (method of least squares) (3/3)
∂JLS(h(k))
∂h(k)= −2X(k)d(k) + 2X(k)XT(k)h(k) = 0より
X(k)XT(k)h(k) = X(k)d(k) 正規方程式
最小二乗解: hLS(k) = [X(k)XT(k)]−1X(k)d(k)
R̂(k) =1
k
k∑i=1
x(i)xT(i) =1
kX(k)XT(k) → R (k → ∞)
p̂(k) =1
k
k∑i=1
x(i)d(i) =1
kX(k)d(k) → p (k → ∞)
なので
X(k)XT(k)h(k) = X(k)d(k) → Rhopt = p (k → ∞)
第 6 章適応フィルタ 39
信号とシステム
最小二乗法における直交原理
∂JLS(h(k))
∂hi(k)=
∂
∂hi(k)
(k∑
l=1
e2l (k)
)= 2
k∑l=1
el(k)∂el(k)
∂hi(k)
el(k) = d(l)−∑N−1
n=0 hn(k)x(l − n)より ∂el(k)∂hi(k)
= −x(l − i)なので
∂JLS(h(k))
∂hi(k)= −2
k∑l=1
el(k)x(l − i)
h(k) = hLS(k)のときの誤差を eLS,l(k)とすると, ∂JLS(h(k))∂hi(k)
= 0より
k∑l=1
eLS,l(k)x(l − i) = 0, i = 0, . . . , N − 1
eLS(k) = [eLS,1(k), · · · , eLS,k(k)]T, xi(k) = [x(1− i), · · · , x(k − i)]T と定義すると,eTLS(k)xi(k) = 0, i = 0, . . . , N − 1
第 6 章適応フィルタ 40
信号とシステム
RLS (recursive least squares)アルゴリズムの考え方
• 最小二乗法を素朴に行なうと R̂(k)の更新とその逆行列計算が大変
• 逐次最小二乗法 (RLS)では R̂(k+1), p̂(k+1)の導出に R̂(k), p̂(k)を利用
X(k + 1)XT(k + 1) = (X(k),x(k + 1))
XT(k)
xT(k + 1)
= X(k)XT(k) + x(k + 1)xT(k + 1)
X(k + 1)d(k + 1) = (X(k),x(k + 1))
d(k)
d(k + 1)
= X(k)d(k) + x(k + 1)d(k + 1)
• RLSでは,逆行列の計算に逆行列補題を利用
第 6 章適応フィルタ 41
信号とシステム
逆行列補題 (matrix inversion lemma) (1/2)
(A+BD−1C)−1 = A−1 −A−1B(D +CA−1B)−1CA−1
[証明] ブロック行列とその逆行列を次のように定義するA B
C D
−1
=
X Y
Z W
ただし,A,X ∈ Rm×m, B,Y ∈ Rm×n, C,Z ∈ Rn×m, D,W ∈ Rn×n.
A B
C D
X Y
Z W
=
I 0
0 I
⇔
AX +BZ = I (1)
AY +BW = 0 (2)
CX +DZ = 0 (3)
CY +DW = I (4)
第 6 章適応フィルタ 42
信号とシステム
逆行列補題 (matrix inversion lemma) (2/2)
X Y
Z W
A B
C D
=
I 0
0 I
⇔
XA+ Y C = I (5)
XB + Y D = 0 (6)
ZA+WC = 0 (7)
ZB +WD = I (8)
(3)より Z = −D−1CX となり,(1)に代入してX = (A−BD−1C)−1.一方,(7)より Z = −WCA−1 なので,これを (8)に代入するとW = (D −CA−1B)−1 となり,Z = −(D −CA−1B)−1CA−1.さらにこの Z を (1)に代入すると
X = A−1 −A−1BZ = A−1 +A−1B(D −CA−1B)−1CA−1
よって,B を −B に置き直すと
(A+BD−1C)−1 = A−1 −A−1B(D +CA−1B)−1CA−1
第 6 章適応フィルタ 43
信号とシステム
RLSアルゴリズムの導出 (1/2)
P (k) = [X(k)XT(k)]−1 と定義すると hLS(k) = P (k)X(k)d(k)
h(k + 1) = P (k + 1)X(k + 1)d(k + 1)
=[X(k)XT(k) + x(k + 1)xT(k + 1)
]−1
[X(k)d(k) + x(k + 1)d(k + 1)]
=[P (k)−1 + x(k + 1)xT(k + 1)
]−1 [P (k)−1h(k) + x(k + 1)d(k + 1)
]逆行列補題より (A+BC)−1 = A−1 −A−1B(I +CA−1B)−1CA−1
=
[P (k)− P (k)x(k + 1)xT(k + 1)P (k)
1 + xT(k + 1)P (k)x(k + 1)
] [P (k)−1h(k) + x(k + 1)d(k + 1)
]= h(k)− P (k)x(k + 1)xT(k + 1)h(k)
1 + xT(k + 1)P (k)x(k + 1)+ P (k)x(k + 1)d(k + 1)
− P (k)x(k + 1)xT(k + 1)P (k)x(k + 1)
1 + xT(k + 1)P (k)x(k + 1)d(k + 1)
第 6 章適応フィルタ 44
信号とシステム
RLSアルゴリズムの導出 (2/2)
h(k + 1) = h(k)− P (k)x(k + 1)xT(k + 1)h(k)
1 + xT(k + 1)P (k)x(k + 1)+
P (k)x(k + 1)d(k + 1)
1 + xT(k + 1)P (k)x(k + 1)
= h(k) +P (k)x(k + 1)
1 + xT(k + 1)P (k)x(k + 1)
[d(k + 1)− xT(k + 1)h(k)
]= h(k) + k(k)ek+1(k)
ただし,k(k) =P (k)x(k + 1)
1 + xT(k + 1)P (k)x(k + 1):ゲインベクトル
P (k + 1) = P (k)− P (k)x(k + 1)xT(k + 1)P (k)
1 + xT(k + 1)P (k)x(k + 1)
=[I − k(k)xT(k + 1)
]P (k)
第 6 章適応フィルタ 45
信号とシステム
RLSアルゴリズムのまとめRLSアルゴリズム:
k(k) =P (k)x(k + 1)
1 + xT(k + 1)P (k)x(k + 1)
P (k + 1) =[I − k(k)xT(k + 1)
]P (k)
h(k + 1) = h(k) + k(k)ek+1(k)
• ゲインベクトル k(k)により成分毎にステップゲインを制御
• 収束が速い
• 計算量は N2 のオーダー
第 6 章適応フィルタ 46
信号とシステム
忘却係数付 RLSアルゴリズムパラメータの変動に追従させるため,忘却係数 λ (0 < λ < 1)を導入
JLS(h(k)) =
k∑l=1
λk−l[d(l)− yl(k)]2
忘却係数付 RLSアルゴリズム:
k(k) =λ−1P (k)x(k + 1)
1 + λ−1xT(k + 1)P (k)x(k + 1)
P (k + 1) = λ−1[I − k(k)xT(k + 1)
]P (k)
h(k + 1) = h(k) + k(k)e(k)
第 6 章適応フィルタ 47
信号とシステム
適応フィルタのまとめ
• 適応フィルタは,誤差信号を用いてインパルス応答(フィルタ係数)を決定する.
• 応用例は順システム推定と逆システム推定に大別される.
• 平均二乗誤差基準によりWiener-Hopfの方程式が導かれる.
• 最急降下法はWiener-Hopfの方程式の逐次解法.
• LMSアルゴリズムとその発展形は,誤差の瞬時値を用いる.
• 最小二乗法は誤差の二乗和を用いる.
• RLSアルゴリズムは逆行列補題による標本相関行列の逆行列の逐次計算に基づく.
第 6 章適応フィルタ 48