zoukankan      html  css  js  c++  java
  • 正交原理的复数详细推导过程

      最开始学习正交原理是从实数学习的,当时觉得实数已经很好了,为什么要学习复杂的复数推导过程呢,随着慢慢的深入,发现复数才是更加通用的。这里就把学习中的推导笔记发上来,方便自己复习,也可以对其它正在学习这方面的朋友有所帮助。

      这里有一个长度为M的滤波器,对于输入序列u(n),n=0,1,2...,滤波器的输出y(n)表示为

    [egin{array}{*{20}{c}}
    {y(n) = sumlimits_{k = 0}^{M - 1} {w_k^*u(n - k)} }&{n = 0,1,2...}
    end{array}]

      这里y(n)是期望响应d(n)的一个估计值,则估计误差e(n)为

    [e(n) = d(n) - y(n)]

      为了优化滤波器的设计,我们使用均方误差做为代价函数。表示为

    [J = E[e(n){e^*}(n)] = E[|e(n){|^2}]]

      对于复数的输入,滤波器的系数也是复数,这里只把滤波器的第k个系数做复数展开

    [egin{array}{*{20}{c}}
    {{w_k} = {a_k} + j{b_k}}&{k = 0,1,2,...}
    end{array}]

      则代价函数J关于滤波器系数w向量的梯度向量的第k个元素为

    [egin{array}{*{20}{c}}
    {{Delta _k}J = frac{{partial J}}{{partial {a_k}}} + jfrac{{partial J}}{{partial {b_k}}}}&{k = 0,1,2,...}
    end{array}]

      展开可以得到:

    [egin{array}{l}
    {Delta _k}J = frac{{partial J}}{{partial {a_k}}} + jfrac{{partial J}}{{partial {b_k}}} = Eleft[ {frac{{partial e(n)}}{{partial {a_k}}}{e^*}(n) + frac{{partial e(n)}}{{partial {b_k}}}j{e^*}(n) + frac{{partial {e^*}(n)}}{{partial {a_k}}}e(n) + frac{{partial {e^*}(n)}}{{partial {b_k}}}je(n)} ight]\
    frac{{partial e(n)}}{{partial {a_k}}} = frac{{partial left[ {d(n) - sumlimits_{k = 0}^{M - 1} {w_k^*u(n - k)} } ight]}}{{partial {a_k}}} = frac{{partial left[ {d(n) - sumlimits_{k = 0}^{M - 1} {({a_k} - j{b_k})u(n - k)} } ight]}}{{partial {a_k}}} =  - u(n - k)\
    frac{{partial e(n)}}{{partial {b_k}}} = frac{{partial left[ {d(n) - sumlimits_{k = 0}^{M - 1} {w_k^*u(n - k)} } ight]}}{{partial {b_k}}} = frac{{partial left[ {d(n) - sumlimits_{k = 0}^{M - 1} {({a_k} - j{b_k})u(n - k)} } ight]}}{{partial {b_k}}} = ju(n - k)\
    frac{{partial {e^*}(n)}}{{partial {a_k}}} = frac{{partial left[ {{d^*}(n) - sumlimits_{k = 0}^{M - 1} {{w_k}{u^*}(n - k)} } ight]}}{{partial {a_k}}} = frac{{partial left[ {{d^*}(n) - sumlimits_{k = 0}^{M - 1} {({a_k} + j{b_k}){u^*}(n - k)} } ight]}}{{partial {a_k}}} =  - u*(n - k)\
    frac{{partial {e^*}(n)}}{{partial {b_k}}} = frac{{partial left[ {{d^*}(n) - sumlimits_{k = 0}^{M - 1} {{w_k}{u^*}(n - k)} } ight]}}{{partial {b_k}}} = frac{{partial left[ {{d^*}(n) - sumlimits_{k = 0}^{M - 1} {({a_k} + j{b_k}){u^*}(n - k)} } ight]}}{{partial {b_k}}} =  - ju*(n - k)
    end{array}]

      将上面的4个偏微分代入梯度向量的第k个元素,整理可得

    [egin{array}{l}
    {Delta _k}J = Eleft[ { - u(n - k){e^*}(n) + ju(n - k)j{e^*}(n) - u*(n - k)e(n) - ju*(n - k)je(n)} ight]\
     = Eleft[ { - u(n - k){e^*}(n) - u(n - k){e^*}(n) - u*(n - k)e(n) + u*(n - k)e(n)} ight]\
     =  - 2Eleft[ {u(n - k){e^*}(n)} ight]
    end{array}]

      当梯度等于0,就是滤波器均方误差最小(最优)的条件,这个条件可以表示为

    [egin{array}{*{20}{c}}
    {Eleft[ {u(n - k){e^*}(n)} ight] = 0}&{k = 0,1,2,...}
    end{array}]

      这就是正交原理的数学描述,它的意思是:当估计误差与输入数据正交时,滤波器工作于均方误差准则下的最优状态。

  • 相关阅读:
    angular4升级angular5问题记录之this.location.back()
    angular4升级angular5问题记录之No NgModule metadata found for 'AppModule'
    Angular4图片上传预览路径不安全问题
    Angular4.0引入laydate.js日期插件方法
    Angular4.0用命令行创建组件服务出错
    IE10以下的img标签问题
    关于for循环删除数组内容出现的问题
    关于onmouseover和onmouseout的bug
    纯lua实现Base64加密与解密
    SciTE如何修改背景色
  • 原文地址:https://www.cnblogs.com/icoolmedia/p/orthogonality_principle.html
Copyright © 2011-2022 走看看