维纳滤波器(二)

维纳滤波器(二)昨天讲了关于信号模型的 其作为维纳滤波器的铺垫 今天正式开始维纳滤波器的讲解 今天的讲解我会按照 Springer handbook of speech processing 中的来进行 这本书是我目前见到的市面上对于语音处理方面讲解最全面的 我推荐大家去看一看 直奔主题 1 维纳滤波器为了方便起见 这里我们使用 SISO 模型 同时我们给出一个重要的假设 观测信号 x k 和随机噪声 b k 与源信号

昨天讲了关于信号模型的,其作为维纳滤波器的铺垫。今天正式开始维纳滤波器的讲解,今天的讲解我会按照《Springer-handbook-of-speech-processing》中的来进行。这本书是我目前见到的市面上对于语音处理方面讲解最全面的,我推荐大家去看一看。直奔主题:

1 维纳滤波器

维纳滤波器(二)

也就是说如果我们通过估计h,一般采用取均值的方式,而b是零均值的,所以我们估计出来的x中只包含后面的第一项。那么实际得到的观测信号与我们估计出来的估计信号的差就是其中的误差,其式子如下:

维纳滤波器(二)

其中:

维纳滤波器(二)

他是估计出来的长度为Lf的h,并且:

维纳滤波器(二)

那么接下来我们需要找到一个代价函数,使之最小化来得到最优的滤波器,也就是最接近真实h的h估计。很明显让估计误差e最小化能达到我们的要求,那么我们要根据e设计代价函数。一般这种情况下我们需要使用一种准则,基于这种准则来进行优化。常见的有:MMSE,MSE,最大信噪比,最大似然等等。你可以把准则理解为一种运算规则,按照这种规则进行接下来的计算。我们这里使用MSE(mean square error均方误差)。代价函数如下:

维纳滤波器(二)

这里的E是求期望的意思(不明白期望的去看概率论,大学应该学过)。这里注意,如果J看成是一个函数,他的自变量是h估计(以后称之为h_hat),当h_hat变动的时候,会产生一个e,然后得到一个J的值,以此来评判我们的J的值在如何变化,理想情况当然是J=0(自己想为什么).如果大家对于梯度有所了解的话,可以想到,最有维纳滤波器是通过如下得到的:

维纳滤波器(二)

把式子左边部分进行展开:

维纳滤波器(二)

那么可以得到后半部分为0,即:

维纳滤波器(二)

我们知道e的表达式如下:

维纳滤波器(二)

同时我们假设最优的观测信号估计为:

维纳滤波器(二)

那么通过带入我们可以得到:

维纳滤波器(二)

以上的就叫做:正交准则推论。很简单,因为不相关,在向量意义上的表现就是相互垂直。

接下来,我们把e0的表达式带入推导出的式子,得到wiener-Hopf方程:

维纳滤波器(二)

其中:

维纳滤波器(二)

注意这里用的R,表示relation,这个表达式是关于sf的相关矩阵(这里容易与协方差矩阵搞混,记住,在零均值情况下,协方差矩阵和相关矩阵是相同的)。而pf:

维纳滤波器(二)

这个就是传说中的互相关矩阵。接下来我们给出Rf的矩阵形式:

维纳滤波器(二)

其中:

维纳滤波器(二)

仔细看Rf,有很多矩阵上的特点,包括Toeplitz矩阵等等,不一一说明(此处用处不大)。原文指出:即使对于次稳态的语音信号(我了解的其他资料都称语音为非稳态),矩阵也常常是正定的。当然也有出现误差的情况出现。

有人问了,你费半天劲讨论正定有啥用处,同学你很上路,正定->非奇异->可逆,所以我们能够对上面的式子进行左乘Rf^-1,也就是Rf的逆。得到如下:

维纳滤波器(二)

我们把误差e的表达式带入得到:

维纳滤波器(二)

其中等号右边的第一个表示协方差,当均值为0的时候,也就是E{x(k)^2}。通过维纳滤波器的思想,我们这里使用MMSE准则,来获取最优维纳滤波器。也就是当我们的hf为hf,0的时候,如下:

维纳滤波器(二)

其中:

维纳滤波器(二)

他是最优维纳滤波器的输出。

把x的生成模型带入:

维纳滤波器(二)

其中:

维纳滤波器(二)

维纳滤波器(二)

这里我们的代价函数是有边界的:

维纳滤波器(二)

基于上面,我们可以得到NMMSE(normalized MMSE)如下:

维纳滤波器(二)

一个归一化的过程。同时边界为:

维纳滤波器(二)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204260.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:38
下一篇 2026年3月19日 下午8:38


相关推荐

  • clion永久激活(注册激活)

    (clion永久激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~2JTX0APX6F-eyJsaWNlbnNlSWQiOi…

    2022年3月29日
    528
  • javaweb项目页面崩溃报错

    javaweb项目页面崩溃报错在电脑上面登录服务器应用 web 项目的网址后 进入页面 点击界面左侧的文件夹 正常情况是界面右侧会出现这个文件夹下面的所有图片 但是用户说 出现页面崩溃 页面打不开 我去他的机器上面看见他的浏览器页面确实崩溃了 我在本机启动服务 连服务器的数据库 发现正常 就重新打了个包到服务器上面 发现在我本机可以 这说明不是代码的问题 用户说不行 还是浏览器还是显示崩溃 我怀疑是他的浏览器的问题 因为我自己的浏览器是可以访问到服务器 并返回图片数据的 他用的谷歌 我在他机器上操作 浏览器换成了搜狗 正常了 最后建

    2026年3月18日
    2
  • SDN网络形象化(网络服务的内容是什么)

    https://blog.csdn.net/letterwuyu/article/details/79933362

    2022年4月11日
    28
  • string转jsonstring_java json转map

    string转jsonstring_java json转mapJava中Json转string方法Java利用Json-lib包进行json对象转换成stringJSONArray转换string方法实例publicstaticvoidmain(String[]args)throwsJSONException{undefined//创建JSONObject对象JSONObjectjson=newJSONObject();//向json中添加数据json.put(“username”,”wanglihong”);json

    2025年10月6日
    4
  • 星火语伴app

    星火语伴app

    2026年3月14日
    2
  • Python学生信息管理系统课程设计报告_python做的项目管理系统

    Python学生信息管理系统课程设计报告_python做的项目管理系统1.本人第一次学python做出来的,当时满满的成就感,当作纪念!!!!!非常简单,复制即可使用代码块importjson#把字符串类型的数据转换成Python基本数据类型或者将Python基本数据类型转换成字符串类型。deflogin_user():whileTrue:register=input(‘学生姓名:’)try:…

    2022年10月10日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号