最开始学习正交原理是从实数学习的,当时觉得实数已经很好了,为什么要学习复杂的复数推导过程呢,随着慢慢的深入,发现复数才是更加通用的。这里就把学习中的推导笔记发上来,方便自己复习,也可以对其它正在学习这方面的朋友有所帮助。
这里有一个长度为M的滤波器,对于输入序列u(n),n=0,1,2...,滤波器的输出y(n)表示为
y(n)=∑k=0M−1w∗ku(n−k)n=0,1,2...y(n)=∑k=0M−1wk∗u(n−k)n=0,1,2...
这里y(n)是期望响应d(n)的一个估计值,则估计误差e(n)为
e(n)=d(n)−y(n)e(n)=d(n)−y(n)
为了优化滤波器的设计,我们使用均方误差做为代价函数。表示为
J=E[e(n)e∗(n)]=E[|e(n)|2]J=E[e(n)e∗(n)]=E[|e(n)|2]
对于复数的输入,滤波器的系数也是复数,这里只把滤波器的第k个系数做复数展开
wk=ak+jbkk=0,1,2,...wk=ak+jbkk=0,1,2,...
则代价函数J关于滤波器系数w向量的梯度向量的第k个元素为
ΔkJ=∂J∂ak+j∂J∂bkk=0,1,2,...ΔkJ=∂J∂ak+j∂J∂bkk=0,1,2,...
展开可以得到:
ΔkJ=∂J∂ak+j∂J∂bk=E[∂e(n)∂ake∗(n)+∂e(n)∂bkje∗(n)+∂e∗(n)∂ake(n)+∂e∗(n)∂bkje(n)]∂e(n)∂ak=∂[d(n)−∑k=0M−1w∗ku(n−k)]∂ak=∂[d(n)−∑k=0M−1(