基于滤波器组的谱估计–Filter-Bank Method
文章目录
1. 滤波器组
首先我们介绍一下,什么是滤波器组
1.1 分段处理谱估计问题
通常随机信号是无限长的,连续的。但是实际信号的经过采样之后的,就变成了离散的,有限长度的。
现在我们想用有限长的数据估计随机信号的功率谱
Z ( t ) ⇒ { Z ( k ) } k = 1 N − 1 Z(t) \Rightarrow \{ Z(k)\}_{k=1}^{N-1} Z(t)⇒{Z(k)}k=1N−1
我们实际是希望得到每一个频点上的功率谱的分量。但是我们只有有限长的数据,这是不可能实现的事情。
我们只能降低要求。就是不求全部频率点的功率谱,而是划分一个小区间,就用有限的数据,求这一个小区间的功率谱的和
现在问题就变成了。我们的数据经过采样之后,就划分出了一段工作频带,频带取决于采样率。采样频率的倒数,就是带宽。然后将频宽归一化到(-pi,pi)
在这个频带内可以划分出很多的小段。只要划分出的小段的数量,比采样的数据数目少即可。
1.2 滤波器作为谱估计的手段
为了能够获得这个小段,我们只需要让信号通过一个滤波器即可,滤波器的通带就是这个小段
只要我们滤波器是理想的,我们就能够得到这一小段内功率的和
因此滤波器就变成了解决谱分析问题的工具
1.3 滤波器与滤波器组
为什么会有滤波器组的概念呢,因为我们一个滤波器只能得到一个频点周围的功率的和。
如果我们想看很多频点周围的功率的和,我们就要让滤波器滑动起来,就有了滤波器组的概念
我们得到了多个频点的功率和之后,就能够得到一个相对比较准确的谱估计了
2. 滤波器组与周期图之间的关系
我们用滤波器组的观点来重新看待周期图
S ^ Z ( ω ) = 1 N ∣ ∑ k = 1 N − 1 Z ( k ) e x p ( − j ω k ) ∣ 2 \hat S_Z(\omega) = \frac{1}{N} |\sum_{k=1}^{N-1}Z(k)exp(-j\omega k)|^2 S^Z(ω)=N1∣k=1∑N−1Z(k)exp(−jωk)∣2
改变一下形式,在模里面加一个相位,因为相位改变对模没有影响,所以变换前后值不变
S
^
Z
(
ω
)
=
1
N
∣
∑
k
=
1
N
−
1
Z
(
k
)
e
x
p
(
j
ω
(
N
−
k
)
)
∣
2
\hat S_Z(\omega) = \frac{1}{N} |\sum_{k=1}^{N-1}Z(k)exp(j\omega (N-k))|^2
S^Z(ω)=N1∣k=1∑N−1Z(k)exp(jω(N−k))∣2
这样做是为了构造卷积的样子
Let h k = e ( j ω k ) k = 0 , 1 , . . . , N − 1 \text{Let } h_k = e(j\omega k) \\ k = 0,1,...,N-1 Let hk=e(jωk)k=0,1,...,N−1
Then S ^ Z ( ω ) = 1 N ∣ ∑ k = 0 N − 1 Z ( k ) h N − k ( ω ) ∣ 2 \text{Then } \hat S_Z(\omega) = \frac{1}{N} |\sum_{k=0}^{N-1}Z(k)h_{N-k}(\omega)|^2 \\ Then S^Z(ω)=N1∣k=0∑N−1Z(k)hN−k(ω)∣2
再变形下,让式子更加接近卷积
= 1 N ∣ ∑ k = 0 ∞ Z ( k ) h N − k ( ω ) ∣ 2 h k ( ω ) = { e x p ( j ω k ) k=1,...,N-1 0 others = \frac{1}{N} |\sum_{k=0}^{\infty}Z(k)h_{N-k}(\omega)|^2 \\ h_k(\omega) = \begin{cases} exp(j \omega k) &\text{k=1,...,N-1 } \\ 0 &\text{others } \end{cases} =N1∣k=0∑∞Z(k)hN−k(ω)∣2hk(ω)={exp(jωk)0k=1,...,N-1 others
然后我们计算下滤波器的频率响应
H ( ω ′ ) = ∑ k = 1 N − 1 h k ( ω ′ ) e x p ( − j ω ′ k ) = ∑ k = 1 N − 1 e x p ( j ( ω − ω ′ ) k ) H(\omega') = \sum_{k=1}^{N-1} h_k(\omega') exp(-j \omega'k) \\ = \sum_{k=1}^{N-1} exp(j(\omega- \omega')k) H(ω′)=k=1∑N−1hk(ω′)exp(−jω′k)=k=1∑N−1exp(j(ω−ω′)k)
∣ H ( ω ′ ) ∣ = s i n ( N 2 ( ω − ω ′ ) ) s i n ( 1 2 ( ω − ω ′ ) ) |H(\omega')| = \frac{sin(\frac{N}{2}(\omega - \omega'))}{sin(\frac{1}{2}(\omega - \omega'))} ∣H(ω′)∣=sin(21(ω−ω′))sin(2N(ω−ω′))
上图是ω为0的时候的频率响应。如果要滑动的话,就是让这个图沿着ω轴滑动即可。我们从滤波器角度审视周期图的话,发现因为主瓣模糊和旁瓣泄漏,这个滤波器其实并不是非常好。
我们可以发现,周期图就是在用一个滤波器在频率轴进行滑动,但是滤波器的质量却离理想的差很远。
但是周期图的滤波器效果不好,只是因为我们没有对这个滤波器进行单独的设计。我们只是根据功率谱的定义式,然后通过离散化的方式得到了周期图。
下面我们就要对通过对滤波器进行单独设计,然后得到更好的谱估计。
3. 数据无关的滤波器组方法–Slepian 滤波器
3.1 设计目标
也就是我们要找到一组hk,我们对他的频响有要求。我们先在零频上找这个滤波器,然后可以通过修改相位的方法进行滑动,找到滤波器组。
首先,我们要求在整个工作频带内的通过能力是归一化的
{ h k } k = 0 N − 1 → H ( ω ) 1 2 π ∫ − π π ∣ H ( ω ) ∣ 2 d ω = 1 \{ h_k \}_{k=0}^{N-1} \rightarrow H(\omega) \\ \frac{1}{2\pi} \int_{-\pi}^{\pi} |H(\omega)|^2 d\omega = 1 {hk}k=0N−1→H(ω)2π1∫−ππ∣H(ω)∣2dω=1
并且我们要求在我们关注的频带内的通过能力是最大的。因为这个滤波器是放在零频上的,因此要求零频附近的响应能力最大
m a x H ∫ − β π β π ∣ H ( ω ) ∣ 2 d ω max_H \int_{-\beta \pi}^{\beta \pi} |H(\omega)|^2 d\omega maxH∫−βπβπ∣H(ω)∣2dω
相当于,我们做最优化,在全局范围内做了一个约束,然后在局部范围内做了目标函数
3.2 计算
3.2.1 约束条件的计算
H ( ω ) = ∑ k = 0 N − 1 h k e x p ( − j ω k ) = a ( ω ) H ∗ h h = ( h 0 , . . . , h N − 1 ) a ( ω ) = ( 1 , e x p ( j ω ) , . . . , e x p ( j ( N − 1 ) ω ) H(\omega) = \sum_{k=0}^{N-1} h_k exp(-j\omega k) = a(\omega)^H*h \\ h = (h_0,...,h_{N-1}) \\ a(\omega) = (1,exp(j\omega),...,exp(j(N-1)\omega) H(ω)=k=0∑N−1hkexp(−jωk)=a(ω)H∗hh=(h0,...,hN−1)a(ω)=(1,exp(jω),...,exp(j(N−1)ω)
H是共轭转置的意思。h和a都是列向量。
1 2 π ∫ − π π ∣ H ( ω ) ∣ 2 d ω = 1 2 π ∫ − π π ( h H a ( ω ) a ( ω ) H h ) d ω = h H ( 1 2 π ∫ − π π a ( ω ) a ( ω ) H d ω ) h \frac{1}{2\pi} \int_{-\pi}^{\pi} |H(\omega)|^2 d\omega \\ = \frac{1}{2\pi} \int_{-\pi}^{\pi} (h^H a(\omega)a(\omega)^H h) d\omega \\ = h^H(\frac{1}{2\pi}\int_{-\pi}^{\pi}a(\omega)a(\omega)^H d\omega) h 2π1∫−ππ∣H(ω)∣2dω=2π1∫−ππ(hHa(ω)a(ω)Hh)dω=hH(2π1∫−ππa(ω)a(ω)Hdω)h
被积函数是一列乘一行,是一个矩阵
Let A ( ω ) = a ( ω ) a H ( ω ) A k n ( ω ) = e x p ( j ( k − n ) ω ) \text{Let } A(\omega) = a(\omega) a^H(\omega) \\ A_{kn} (\omega)= exp(j(k-n) \omega) Let A(ω)=a(ω)aH(ω)Akn(ω)=exp(j(k−n)ω)
同时
∫ − π π A k n ( ω ) ω = δ k n \int_{-\pi}^{\pi} A_{kn} (\omega) \omega = \delta_{kn} ∫−ππAkn(ω)ω=δkn
因此可知
A ( ω ) = I A(\omega) = I A(ω)=I
所以
1 2 π ∫ − π π ∣ H ( ω ) ∣ 2 d ω = h H ( 1 2 π ∫ − π π a ( ω ) a ( ω ) H d ω ) h = h H ( 1 2 π ∫ − π π A ( ω ) d ω ) h = h H h = ∣ ∣ h ∣ ∣ 2 = 1 \frac{1}{2\pi} \int_{-\pi}^{\pi} |H(\omega)|^2 d\omega \\ = h^H(\frac{1}{2\pi}\int_{-\pi}^{\pi}a(\omega)a(\omega)^H d\omega) h \\ = h^H(\frac{1}{2\pi}\int_{-\pi}^{\pi}A(\omega) d\omega) h \\ = h^H h = ||h||^2 = 1 2π1∫−ππ∣H(ω)∣2dω=hH(2π1∫−ππa(ω)a(ω)Hdω)h=hH(2π1∫−ππA(ω)dω)h=hHh=∣∣h∣∣2=1
3.2.2 优化目标的计算
1 2 π ∫ − β π β π ∣ H ( ω ) ∣ 2 d ω \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} |H(\omega)|^2 d\omega 2π1∫−βπβπ∣H(ω)∣2dω
β限制的是滤波器的通带宽度。β应该是个很小的数,但是不能无限的小下去。2π的区间里面分段数不能够大于N
β < < 1 2 π 2 β π ≤ N ⇒ β ≥ 1 N \beta << 1 \\ \frac{2 \pi}{2 \beta \pi} \leq N \\ \Rightarrow \beta \geq \frac{1}{N} β<<12βπ2π≤N⇒β≥N1
来看约束条件
1
2
π
∫
−
β
π
β
π
∣
H
(
ω
)
∣
2
d
ω
=
h
H
(
1
2
π
∫
−
β
π
β
π
A
(
ω
)
d
ω
)
h
\frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} |H(\omega)|^2 d\omega \\ = h^H(\frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} A(\omega) d\omega)h
2π1∫−βπβπ∣H(ω)∣2dω=hH(2π1∫−βπβπA(ω)dω)h
我们假定
Let Γ = 1 2 π ∫ − β π β π A ( ω ) d ω \text{Let }\Gamma = \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} A(\omega) d\omega Let Γ=2π1∫−βπβπA(ω)dω
Γ k n = 1 2 π ∫ − β π β π A k n ( ω ) d ω = 1 2 π ∫ − β π β π e x p ( j ( k − n ) ω ) d ω \Gamma_{kn} = \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} A_{kn}(\omega) d\omega \\ = \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} exp(j(k-n)\omega) d\omega Γkn=2π1∫−βπβπAkn(ω)dω=2π1∫−βπβπexp(j(k−n)ω)dω
因为积分区间是对称的,exp中虚部的sin是个奇函数,因此在积分中是0,这个积分只会剩下cos部分
因此
Γ k n = 1 2 π ∫ − β π β π c o s ( ( k − n ) ω ) d ω = 1 2 π s i n ( ( k − n ) ω ) k − n ∣ − β π β π = s i n ( ( k − n ) β π ) ( k − n ) π \Gamma_{kn} = \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} cos((k-n)\omega) d\omega \\ = \frac{1}{2\pi} \frac{sin((k-n)\omega)}{k-n} |_{-\beta \pi}^{\beta \pi} \\ = \frac{sin((k-n)\beta \pi)}{(k-n)\pi} Γkn=2π1∫−βπβπcos((k−n)ω)dω=2π1k−nsin((k−n)ω)∣−βπβπ=(k−n)πsin((k−n)βπ)
分析优化条件
m
a
x
h
h
H
Γ
h
s
.
t
.
h
H
h
=
1
max_h h^H \Gamma h \quad s.t.h^Hh=1
maxhhHΓhs.t.hHh=1
我们用拉格朗日数乘法进行求解
L ( h , λ ) = h H Γ h + λ ( h H h − 1 ) L(h,\lambda) = h^H \Gamma h + \lambda(h^Hh-1) L(h,λ)=hHΓh+λ(hHh−1)
注意,γ是个对称矩阵
Γ H = Γ \Gamma^H = \Gamma ΓH=Γ
求导
∇ L ( h , λ ) = 2 Γ h − 2 λ h = 0 \nabla L(h,\lambda) = 2 \Gamma h- 2 \lambda h = 0\\ ∇L(h,λ)=2Γh−2λh=0
可得
Γ h = λ h \Gamma h = \lambda h Γh=λh
说明h是γ矩阵的特征向量,是特征值最大的那个的特征矢量
3.2.3 对γ矩阵的分析
Γ = 1 2 π ∫ − β π β π A ( ω ) d ω ≈ 1 2 π ∑ k = − L L a ( 2 π N k ) a H ( 2 π N k ) ∗ 2 π N \Gamma = \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} A(\omega) d\omega \\ \approx \frac{1}{2\pi} \sum_{k=-L}^L a(\frac{2 \pi}{N}k)a^H(\frac{2 \pi}{N}k)*\frac{2\pi}{N} Γ=2π1∫−βπβπA(ω)dω≈2π1k=−L∑La(N2πk)aH(N2πk)∗N2π
其中
L = β π 2 π / N = β N 2 L = \frac{\beta \pi}{2 \pi/N} =\frac{\beta N}{2} L=2π/Nβπ=2βN
这个近似如果要做的好的话,βN要充分大,也就是通带β要尽可能宽,但是这样就会损失分辨率
β N > > 1 β > > 1 N \beta N >>1 \\ \beta >> \frac{1}{N} βN>>1β>>N1
因此这个近似可能不准
Γ ≈ 1 2 π ∑ k = − L L a ( 2 π N k ) a H ( 2 π N k ) ∗ 2 π N = 1 N ∑ k = − L L a ( 2 π N k ) a H ( 2 π N k ) = Γ ~ \Gamma \approx \frac{1}{2\pi} \sum_{k=-L}^L a(\frac{2 \pi}{N}k)a^H(\frac{2 \pi}{N}k)*\frac{2\pi}{N} \\ = \frac{1}{N} \sum_{k=-L}^L a(\frac{2 \pi}{N}k)a^H(\frac{2 \pi}{N}k) = \widetilde \Gamma\\ Γ≈2π1k=−L∑La(N2πk)aH(N2πk)∗N2π=N1k=−L∑La(N2πk)aH(N2πk)=Γ
我们发现这是一个2L+1个矩阵相加得到的式子。因为每个矩阵都是一列乘一行,是个秩一矩阵。2L+1个秩一矩阵相加,秩最多就是2L+1
r ( A + B ) ≤ r ( A ) + r ( B ) r(A+B) \leq r(A) +r(B) r(A+B)≤r(A)+r(B)
a
(
2
π
k
N
)
=
(
1
,
e
x
p
(
j
2
k
π
N
)
,
.
.
.
,
e
x
p
(
j
N
−
1
N
2
k
π
)
)
a(\frac{2\pi k}{N}) = (1,exp(j\frac{2k\pi}{N}),...,exp(j\frac{N-1}{N}2k\pi))
a(N2πk)=(1,exp(jN2kπ),...,exp(jNN−12kπ))
我们来看看a的内积
a H ( 2 π k 1 N ) a ( 2 π k 2 N ) = { 0 k 1 = k 2 N k 1 = k 2 a^H(\frac{2\pi k_1}{N})a(\frac{2\pi k_2}{N}) = \begin{cases} 0 & k_1 \cancel = k_2 \\ N &k_1 = k_2 \end{cases} aH(N2πk1)a(N2πk2)={0Nk1= k2k1=k2
我们发现这是个正交的向量,并且,如果我们把N放到a里面,这还是个规范的向量
1 N a H ( 2 π k 1 N ) 1 N a ( 2 π k 2 N ) = { 0 k 1 = k 2 1 k 1 = k 2 \frac{1}{\sqrt{N}}a^H(\frac{2\pi k_1}{N})\frac{1}{\sqrt{N}}a(\frac{2\pi k_2}{N}) = \begin{cases} 0 & k_1 \cancel = k_2 \\ 1 &k_1 = k_2 \end{cases} N1aH(N2πk1)N1a(N2πk2)={01k1= k2k1=k2
继续分析γ矩阵
Γ ~ = 1 N ∑ k = − L L a ( 2 π N k ) a H ( 2 π N k ) \widetilde \Gamma=\frac{1}{N} \sum_{k=-L}^L a(\frac{2 \pi}{N}k)a^H(\frac{2 \pi}{N}k) \\ Γ =N1k=−L∑La(N2πk)aH(N2πk)
假设有这样的k
k
∈
[
−
L
,
L
]
k \in [-L,L]
k∈[−L,L]
Γ ~ ∗ a ( 2 π k N ) = ( 1 N ∑ l = − L L a ( 2 π N l ) a H ( 2 π N l ) ) ∗ a ( 2 π k N ) = 1 N ∑ l = − L L a ( 2 π N l ) ( a H ( 2 π N l ) ∗ a ( 2 π k N ) ) = 1 N ∑ l = − L L a ( 2 π N l ) N ∗ δ k l = a ( 2 π N k ) \widetilde \Gamma * a(\frac{2 \pi k}{N}) =(\frac{1}{N} \sum_{l=-L}^L a(\frac{2 \pi}{N}l)a^H(\frac{2 \pi}{N}l))* a(\frac{2 \pi k}{N}) \\ = \frac{1}{N} \sum_{l=-L}^L a(\frac{2 \pi}{N}l)(a^H(\frac{2 \pi}{N}l)* a(\frac{2 \pi k}{N})) \\ = \frac{1}{N} \sum_{l=-L}^L a(\frac{2 \pi}{N}l)N*\delta_{kl} = a(\frac{2 \pi}{N}k) Γ ∗a(N2πk)=(N1l=−L∑La(N2πl)aH(N2πl))∗a(N2πk)=N1l=−L∑La(N2πl)(aH(N2πl)∗a(N2πk))=N1l=−L∑La(N2πl)N∗δkl=a(N2πk)
可得
Γ ~ ∗ a ( 2 π k N ) = a ( 2 π N k ) \widetilde \Gamma * a(\frac{2 \pi k}{N}) = a(\frac{2 \pi}{N}k) Γ ∗a(N2πk)=a(N2πk)
我们就得到了λ为1时候的特征矢量。并且这样的特征矢量有2L+1个,因此1是2L+1重的特征值。并且这些特征矢量彼此正交
a ( 2 π k N ) a(\frac{2 \pi k}{N}) a(N2πk)
这里近似的有些厉害了,因为得到的特征矢量是复三角函数,但是实际上并不是
γ矩阵的特征值也有特点,前面的一些非常大,后面的一些几乎为0,这是因为γ矩阵的秩最大为2l+1
3.2.4 slepian window
这样设计得到的滤波器叫做slepian滤波器
4. Multitaper
4.1 周期图谱中的trade off
在周期图分析中,我们提到过Bias Variance Trade off,就是我们扩大数据量之后,对方差校正没有影响,对均值校正有影响,为了降低方差,我们只能把数据分成不同的段,求功率谱,然后取平均,这样才能得到方差比较小的功率谱估计,可是这样的话,得到的数据均值偏差就会变大,就有了Bias Variance Trade off
4.2 slepian window与周期图谱估计
4.2.1 Multitaper
我们可以通过多窗口的方法来解决周期图中的trade-off问题。这种方法叫做multiple windows(Multitaper)
也就是,我们对同一组数据,使用不同的窗进行谱分析,因为窗是我们特别设计的,所以得到的谱分析结果是不相关的。然后谱分析结果取均值,就能够降低方差。这样的话,就能够同时优化均值和方差了
怎么设计这样的窗呢?slepian window就有这样的功能
我们就用γ矩阵产生的不同滤波器来做这个思路的谱估计
Γ k n = 1 2 π ∫ − β π β π c o s ( ( k − n ) ω ) d ω = 1 2 π s i n ( ( k − n ) ω ) k − n ∣ − β π β π = s i n ( ( k − n ) β π ) ( k − n ) π \Gamma_{kn} = \frac{1}{2\pi} \int_{-\beta \pi}^{\beta \pi} cos((k-n)\omega) d\omega \\ = \frac{1}{2\pi} \frac{sin((k-n)\omega)}{k-n} |_{-\beta \pi}^{\beta \pi} \\ = \frac{sin((k-n)\beta \pi)}{(k-n)\pi} Γkn=2π1∫−βπβπcos((k−n)ω)dω=2π1k−nsin((k−n)ω)∣−βπβπ=(k−n)πsin((k−n)βπ)
假设γ矩阵有若干个特征值,然后我们就有了新的谱估计结果
Γ h ( k ) = λ k h ( k ) k = 1 , 2 , . . . , L ⇒ S ^ Z = 1 N L ∑ k = 1 L ∣ ∑ n = 0 N − 1 h n ( k ) Z ( n ) e x p ( − j n ω ) ∣ 2 \Gamma h^{(k)} = \lambda_k h^{(k)} \\ k = 1,2,...,L \\ \Rightarrow \hat S_Z = \frac{1}{NL} \sum_{k=1}^L |\sum_{n=0}^{N-1}h_n^{(k)} Z(n) exp(-jn \omega)|^2 Γh(k)=λkh(k)k=1,2,...,L⇒S^Z=NL1k=1∑L∣n=0∑N−1hn(k)Z(n)exp(−jnω)∣2
这个谱估计,里面是一个周期图,外面是不同滤波器得到结果的均值。周期图里面是加了窗的,就是L个大特征值对应的特征矢量
4.2.2 证明不同滤波器谱分析结果不相关
因为我们进行Multitaper的谱分析时,必须要证明每个滤波器得到的功率谱估计是不相关的,所以我们在这里证明一下
E ( ∑ n = 0 N − 1 h n ( k 1 ) Z ( n ) ) ( ∑ l = 0 N − 1 h l ( k 2 ) Z ( l ) ‾ ) = ∑ n = 0 N − 1 ∑ l = 0 N − 1 h n ( k 1 ) h l ( k 2 ) ‾ E ( Z ( n ) Z ∗ ( l ) ) = ∑ n = 0 N − 1 ∑ l = 0 N − 1 h n ( k 1 ) h l ( k 2 ) ‾ R Z ( n − l ) = ∑ n = 0 N − 1 ∑ l = 0 N − 1 h n ( k 1 ) h l ( k 2 ) ‾ 1 2 π ∫ − π π S Z ( ω ) e x p ( j ω ( n − l ) ) d ω = 1 2 π ∫ − π π ( ∑ n = 0 N − 1 h n ( k 1 ) e x p ( j ω n ) ) ( ∑ l = 0 N − 1 h l ( k 2 ) ‾ e x p ( − j ω l ) ) S Z ( ω ) d ω E(\sum_{n=0}^{N-1}h_n^{(k_1)}Z(n))(\overline {\sum_{l=0}^{N-1}h_l^{(k_2)}Z(l)}) \\ = \sum_{n=0}^{N-1} \sum_{l=0}^{N-1} h_n^{(k_1)}\overline{h_l^{(k_2)}} E(Z(n)Z^*(l)) \\ = \sum_{n=0}^{N-1} \sum_{l=0}^{N-1} h_n^{(k_1)}\overline{h_l^{(k_2)}} R_Z(n-l) \\ = \sum_{n=0}^{N-1} \sum_{l=0}^{N-1} h_n^{(k_1)}\overline{h_l^{(k_2)}} \frac{1}{2 \pi} \int_{-\pi}^{\pi} S_Z(\omega) exp(j\omega(n-l))d \omega \\ = \frac{1}{2 \pi} \int_{-\pi}^{\pi} (\sum_{n=0}^{N-1}h_n^{(k_1)} exp(j\omega n))(\sum_{l=0}^{N-1} \overline{h_l^{(k_2)}} exp(-j\omega l)) S_Z(\omega) d \omega \\ E(n=0∑N−1hn(k1)Z(n))(l=0∑N−1hl(k2)Z(l))=n=0∑N−1l=0∑N−1hn(k1)hl(k2)E(Z(n)Z∗(l))=n=0∑N−1l=0∑N−1hn(k1)hl(k2)RZ(n−l)=n=0∑N−1l=0∑N−1hn(k1)hl(k2)2π1∫−ππSZ(ω)exp(jω(n−l))dω=2π1∫−ππ(n=0∑N−1hn(k1)exp(jωn))(l=0∑N−1hl(k2)exp(−jωl))SZ(ω)dω
我们做一个换元,令-ω = ω,为了凑成傅里叶变换。后面的微元变号,前面的积分换方向会抵消。功率谱密度是平方,正负号不影响。然后就exp里面改变符号即可
=
1
2
π
∫
−
π
π
(
∑
n
=
0
N
−
1
h
n
(
k
1
)
e
x
p
(
−
j
ω
n
)
)
(
∑
l
=
0
N
−
1
h
l
(
k
2
)
‾
e
x
p
(
j
ω
l
)
)
S
Z
(
ω
)
d
ω
=
1
2
π
∫
−
π
π
H
(
k
1
)
(
ω
)
H
(
k
2
)
(
ω
)
‾
S
Z
(
ω
)
d
ω
=\frac{1}{2 \pi} \int_{-\pi}^{\pi} (\sum_{n=0}^{N-1}h_n^{(k_1)} exp(-j\omega n))(\sum_{l=0}^{N-1} \overline{h_l^{(k_2)}} exp(j\omega l))S_Z(\omega)d \omega \\ = \frac{1}{2 \pi} \int_{-\pi}^{\pi} H^{(k_1)}(\omega)\overline{H^{(k_2)}(\omega)}S_Z(\omega)d \omega \\
=2π1∫−ππ(n=0∑N−1hn(k1)exp(−jωn))(l=0∑N−1hl(k2)exp(jωl))SZ(ω)dω=2π1∫−ππH(k1)(ω)H(k2)(ω)SZ(ω)dω
因为对功率谱密度加了两个滤波器,两个滤波器都是在零频附近响应比较强,因此,上式可以近似等于在零频附近的能量。
然后我们假设功率谱密度几乎在零频附近是个常数
≈
1
2
π
∫
−
β
π
β
π
H
(
k
1
)
(
ω
)
H
(
k
2
)
(
ω
)
‾
S
Z
(
ω
)
d
ω
≈
S
Z
(
0
)
1
2
π
∫
−
β
π
β
π
H
(
k
1
)
(
ω
)
H
(
k
2
)
(
ω
)
‾
d
ω
=
S
Z
(
0
)
1
2
π
∫
−
β
π
β
π
(
a
H
(
ω
)
h
(
k
1
)
)
(
(
h
(
k
2
)
)
T
a
(
ω
)
‾
‾
)
d
ω
=
S
Z
(
0
)
2
π
(
h
(
k
2
)
)
H
(
∫
−
β
π
β
π
a
(
ω
)
a
H
(
ω
)
d
ω
)
h
(
k
1
)
=
S
Z
(
0
)
2
π
(
h
(
k
2
)
)
H
Γ
h
(
k
1
)
=
0
(
k
1
=
k
2
)
\approx \frac{1}{2 \pi} \int_{-\beta \pi}^{\beta \pi} H^{(k_1)}(\omega)\overline{H^{(k_2)}(\omega)}S_Z(\omega)d \omega \\ \approx S_Z(0)\frac{1}{2 \pi} \int_{-\beta \pi}^{\beta \pi} H^{(k_1)}(\omega)\overline{H^{(k_2)}(\omega)}d \omega \\ = S_Z(0)\frac{1}{2 \pi} \int_{-\beta \pi}^{\beta \pi} (a^H(\omega)h^{(k_1)})(\overline{(h^{(k_2)})^T \overline{a(\omega)}})d\omega \\ = \frac{S_Z(0)}{2\pi} (h^{(k_2)})^H (\int_{-\beta \pi}^{\beta \pi} a(\omega)a^H(\omega)d\omega )h^{(k_1)} \\ = \frac{S_Z(0)}{2\pi} (h^{(k_2)})^H \Gamma h^{(k_1)} =0 (k_1 \cancel = k_2)
≈2π1∫−βπβπH(k1)(ω)H(k2)(ω)SZ(ω)dω≈SZ(0)2π1∫−βπβπH(k1)(ω)H(k2)(ω)dω=SZ(0)2π1∫−βπβπ(aH(ω)h(k1))((h(k2))Ta(ω))dω=2πSZ(0)(h(k2))H(∫−βπβπa(ω)aH(ω)dω)h(k1)=2πSZ(0)(h(k2))HΓh(k1)=0(k1=
k2)
4.2.3 小结
其实周期图谱估计也是一种滤波器组方法,只不过周期图中用的滤波器组没有进行优化设计,有主瓣模糊和旁瓣泄漏的问题
而对滤波器通过约束条件和优化目标的设计,就得到了slepian滤波器组方法
同时,slepian除了最大的特征值对应的特征向量可用来做滤波器组以外,slepian的其他特征向量也可以用来做滤波器组谱估计,虽然性能差一点。
但是,值得注意的是,这些滤波器组处理过数据之后,得到的功率谱数据是不相关的。因此,对多个滤波器组得到的谱估计结果进行平均,就可以得到方差更小的功率谱估计结果。
这种multitaper的方法解决了周期图谱估计中矛盾点。即扩大数据长度对方差的误差减小没有帮助,把数据分段处理,最后加权平均又会影响均值的误差。而使用slepian滤波器组就不用对数据分段,利用不同滤波器组处理同一组数据,然后加权平均,同时兼顾了均值和方差的误差的减小。
5. 数据相关的谱估计方法-Capon Spectrum
5.1 问题引入
slepian在设计滤波器的时候,是数据独立的。因为约束条件和优化条件都是针对h来的,跟数据域没有关系,因此通过slepian做的滤波器组方法是数据无关的。
但是,我们希望从数据相关的角度来进行谱估计方法设计。比如机器学习,训练的模型都是数据相关的,用猫的图片进行训练,得到的模型肯定识别不出汽车
接下来引入一种数据相关的谱分析方法
5.2 约束条件与目标函数
假设我们有一个滤波器,并且要求这个滤波器在给定频率上的响应是个常数,这里就取1
{ h k } k = 0 N − 1 Given ω 0 H ( ω 0 ) = 1 \{ h_k\}^{N-1}_{k=0} \\ \text{Given } \omega_0 \\ H(\omega_0) = 1 {hk}k=0N−1Given ω0H(ω0)=1
我们在这个约束的条件下,要求这个滤波器输出的功率最小
m i n h E ∣ h H Z ∣ 2 Z = ( Z ( 0 ) , . . . , Z ( n − 1 ) ) T h = ( h 0 , . . . , h N − 1 ) T min_h E|h^HZ|^2 \\ Z = (Z(0),...,Z(n-1))^T \\ h = (h0,...,h_{N-1})^T minhE∣hHZ∣2Z=(Z(0),...,Z(n−1))Th=(h0,...,hN−1)T
相当于我们要求了滤波器在给定频率点上的响应,并且要求这个滤波器在这个频点周围的面积尽可能窄,这样才能有最小的功率输出
m i n h E ∣ h H Z ∣ 2 s . t . a H ( ω ) h = 1 min_h E|h^HZ|^2 \quad s.t. \quad a^H(\omega)h = 1 minhE∣hHZ∣2s.t.aH(ω)h=1
5.3 与slepian的对比
slepian设计滤波器的时候,是要求滤波总的功率谱是一定的,要求经过滤波器在给定频点处的功率最大。说明滤波器在给定频点的地方占据了最大的空间。是约束好整体条件,优化局部。
Slepian m a x h h H Γ h s . t . h H h = 1 1964 Bell \text{Slepian} \\ max_h h^H \Gamma h \quad s.t. \quad h^Hh=1 \\ \text{1964 Bell} SlepianmaxhhHΓhs.t.hHh=11964 Bell
而这种方法是约束好了局部条件,然后优化全局。就是要求在频点处的响应是确定的,并且要求功率输出最小。
m
i
n
h
E
∣
h
H
Z
∣
2
s
.
t
.
a
H
(
ω
)
h
=
1
1969 MIT
min_h E|h^HZ|^2 \quad s.t. \quad a^H(\omega)h = 1 \\ \text{1969 MIT}
minhE∣hHZ∣2s.t.aH(ω)h=11969 MIT
这种方法在优化里面叫对偶
MIT的方法在优化中已经用到了数据域,因此是数据相关的。并且约束条件上,还用到了频率,还是频率相关的
因此这种方法设计的滤波器组,并不是简单的数据滑动,而是在每一个频点上,都是专门设计的滤波器。而slepian是同一个滤波器在不同频点上滑动
因此MIT的这种方法在所有非参数谱分析中,是最好的
5.4 计算
E ∣ h H Z ∣ 2 = E ( h H Z Z H h ) = h H E ( Z Z H ) h = h H R Z h E|h^H Z|^2 = E(h^H Z Z^H h) \\ = h^H E(Z Z^H) h = h^H R_Z h \\ E∣hHZ∣2=E(hHZZHh)=hHE(ZZH)h=hHRZh
约束条件和优化目标
m i n h E ∣ h H Z ∣ 2 s . t . a H ( ω ) h = 1 min_h E|h^HZ|^2 \quad s.t. \quad a^H(\omega)h = 1 \\ minhE∣hHZ∣2s.t.aH(ω)h=1
拉格朗日数乘法
L ( h , λ ) = 1 2 h H R Z h − λ ( a H ( ω ) h − 1 ) ∇ h L = R Z h − λ a ( ω ) h = λ R Z − 1 a ( ω ) L(h,\lambda)=\frac{1}{2}h^H R_Z h - \lambda(a^H(\omega)h-1) \\ \nabla_h L = R_Zh - \lambda a(\omega) \\ h = \lambda R_Z^{-1}a(\omega) L(h,λ)=21hHRZh−λ(aH(ω)h−1)∇hL=RZh−λa(ω)h=λRZ−1a(ω)
下面我们就求λ
代入约束条件
a
H
(
ω
)
h
=
1
a^H(\omega)h = 1
aH(ω)h=1
a H ( ω ) λ R Z − 1 a ( ω ) = 1 λ = 1 a H ( ω ) R Z − 1 a ( ω ) a^H(\omega)\lambda R_Z^{-1}a(\omega) = 1 \\ \lambda = \frac{1}{a^H(\omega) R_Z^{-1}a(\omega)} aH(ω)λRZ−1a(ω)=1λ=aH(ω)RZ−1a(ω)1
我们就得到了确定频点处的滤波器
h = R Z − 1 a ( ω 0 ) a H ( ω 0 ) R Z − 1 a ( ω 0 ) h = \frac{R_Z^{-1}a(\omega_0)}{a^H(\omega_0) R_Z^{-1}a(\omega_0)} h=aH(ω0)RZ−1a(ω0)RZ−1a(ω0)
我们就可以得到新的功率谱估计了
这个功率谱就是滤波器输出的功率
S Z ( ω 0 ) = h H R Z h = a ( ω 0 ) H R Z − 1 R Z R Z − 1 a ( ω 0 ) ( a H ( ω 0 ) R Z − 1 a ( ω 0 ) ) 2 = a ( ω 0 ) H R Z − 1 a ( ω 0 ) ( a H ( ω 0 ) R Z − 1 a ( ω 0 ) ) 2 = 1 a H ( ω 0 ) R Z − 1 a ( ω 0 ) S_Z(\omega_0) = h^H R_Z h \\ = \frac{a(\omega_0)^HR_Z^{-1} R_ZR_Z^{-1}a(\omega_0) }{(a^H(\omega_0) R_Z^{-1}a(\omega_0))^2} \\ = \frac{a(\omega_0)^HR_Z^{-1} a(\omega_0) }{(a^H(\omega_0) R_Z^{-1}a(\omega_0))^2} \\ = \frac{1 }{a^H(\omega_0) R_Z^{-1}a(\omega_0)} SZ(ω0)=hHRZh=(aH(ω0)RZ−1a(ω0))2a(ω0)HRZ−1RZRZ−1a(ω0)=(aH(ω0)RZ−1a(ω0))2a(ω0)HRZ−1a(ω0)=aH(ω0)RZ−1a(ω0)1
5.5 小结
这种谱叫做Capon Spectrum。在非参数功率谱估计中做到了极致
这种方法也叫做MVDR(Minimum Variance Distortionless Response) 最小方差无损响应
Capon的方法的滤波器谱在频点处是非常尖的
取法乎上,得之中。就是对capon最好的描述。因为capon把别人追求的目标函数变成了约束条件