在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 语音回声消除使用到的算法

语音回声消除使用到的算法

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.83M
  • 下载次数:10
  • 浏览次数:209
  • 发布时间:2020-08-24
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
语音回声消除算法中使用到的NLMS算法
d=s+ echo v =Y a 式中,ω是回声通道的时域冲击响应函数;是远端语音 是所得回声;是近端 说话人语音,为麦克风采集到的信号;为对回声信号的佔计值;为误差。在电话、视 频会议中这里的通信另一端的语音信号,而在机器语音识别中,这里的则指机器自身发 出的声音 为了消除较长时间的回声,需要滤波器的阶数尽量的大。时域计算诸多不便,使用 频域分块自适应滤波算法。 维纳滤波 均方误差( )对于离散时间系统,可定义期待响应为一个 希望自适应系统的输出与之相接近的信号,为采样时刻。 输入 期望信号a o ∑ 误差 输出 图 白适应系统 根据图,可以求得误差信号 自适应线性组合器输出 其中 分别为自适应系统在时刻的输入信号向量和权向量,系统的均方误差为: E(e )=el(dk -( dr-y)J-E(dk )+w ELX X IW-2Re ELd xI1 E[xx]Ex*x,]….E[x*x R= ELXX Ex1x2]Lx2x1]…Ex1x2 X A EL 定义期待响应和输入信号之问的互相关向量为: P= EldX] 将式简化成下式 5(m)=E(4|)+BRm-2Re"P 理想情况下(=1)等于零,这时估计值等于观测值,如果不能达到理想,则应该是越 小越好,这样估计值和观测值最接近。 对求偏导数,得 2(m)]=2R∥-2P aW 最佳权向量处的梯度值为零,于是: V=2R∥-2P=0 最小均方误差输出情况下的最佳权向量∥满足维纳霍夫方程: W R P 算法 式中,为输入样本向量,使用单次采样数据来代替均方误差5,这样其梯度估 计可表示为如下形式 =c形2=形中+x一2Ra() XY W-2dX 基于最速下降法的权向量迭代如下: W21=m ∥+2∠EX 其中是步长因子 的最人特征值。()收敛于由比值 决定,该比值叫做谱动态范围。大的值意味着较长的时间才能收敛到最佳权值。 该算法用在语音增强的加性噪声消除功能上时,其工程实践并不完全按照式 意义 来实现。 8≈ ()∠分 为三 图算法在语音增强中使用方法 在语音增强中,其目的是获得纯净的语音信号(),即上图中的最后输出信号,输入 信号有两种,一种是带噪的语音信号()+(),另一种是只有噪声的输入(),在没有 人说话的情况下的输入信号,就仅仅是噪声输入。这里要使得噪声估计^()非常接近 (),这样s=∑()+()-(),这时如果8最小,则可以知道估计出的最接近 上述过程可以概述如下: 首先获取到噪声输入(),并存储下来,以或者点为总长度不断刷新存 储噪声输入。 采集带噪声的语音信号()+() 用采集带噪语音信号减去估计到的噪声信号()+()-^()。 用的输岀作为误差,调节噪声权向量 实现具体包括如下三个部分 输入噪声估计 通过权向量估计^() 相减得到() 用^()调节权向量 存储输入信号的估计值^() 输入信号较大时,会遇到梯度噪声放大的问题,使得能量低的信号算法收敛速度较 慢。将输入信号按照自身的平均能量进行归一化处理,即得到归一化 算法。设输入 带噪信号可表示为:(),其迭代算法的 表示公式如下 e(n)x(n ∥ W+ G2(n) 其中G()=∑(-),其中是噪声消除器利回波抵消器的长度,(常取 或者);H是步长因子。当σ()较小时 的值可能较大,这时迭代算法变成 O.( 如下形式: e(nx ∥-V.=W n+1 Nσ+G2(n 其计算过程如下: 参数:抽头系数(即滤波器长度) μ自适应常数 E < ,其中|=( ()|,是权向量均方偏 差,是最优维纳解()是第次迭代中得到的估值。1()是带噪输入信号的 功率,[(川是误差信号功率。 初始化 如果知道抽头权向量()的先验知识,则用其来初始化(),否则令"() 数据: )给定的()第时刻抽头输入向量, ()第时间步的期望响应 )要计算的:(+)第步抽头权向量的估计 计算 对 ,∴计算 M,=W,,=w u e(n)x( )算法将误差()用-]这三个量化值来代替, 如果误差大于,则将()赋值为,其它类推。这时式退化成如下形式 W,+ 2uX sign( 该算法在加快运算速度的同时简化了电路结构,μ设置成的指数时,通过移位就可 以实现这里的乘法操作。降低了硬件实现的复杂度 算法和 很相似,误差也是只取[]这三个值,不 同的是,其选择是以采样到的误差信号为参考的,如果()大于,则()用代替,依 次类推。 W+2usign(x[np 算法既考虑输入信号的符号又考虑误差的信号。 W+2usign(x[n sign(e Inp 算法减轻了系数溢出问题。其不仅考虑了均方误差()也考虑了滤波器 系数。其权向量更新方程如下: =(1-a)P-N=+2e()x(n) 是归一化的 算法 n+1 (1-Aa)m-N2=( llc )"+x( 块自适应滤波 块自适应滤波器 计算过程如下,对参考信号分段并倣变换,分別对各段数据做频域滤波,累加 后攸反变换,并只取后是原始信号的分段后的长度点为有效的线性卷积结果,得 到的是估计信号,将估计信号从回声信号中去除,得残差信号。计算子带步长,调整各段滤 波器系数。这一过程表示如下图。 滤波器输出y(n) 输入X(n) 串并转换 块FIR滤器w 并-串转换 判决准则 自适应权值更新 串并转换惯误差信弓(∑A期望响应 图块自适应滤波器 设时刻输入序列如下 ()=[()(-) 对应于长度为的滤波器在时刻的抽头权向量为 ()=[^()^( 根据滤波器原理: ()=()×^()+(-)×^()++(-+)×^() 川向量可以表示成如下 下面对进行分块,设表小块下标,它与原始样值时间的关系为: 其中是块的长度。第块的数据为{+}其矩阵表示形式如下: +- 将滤波器对输入块的响应表示如下: 设+表示期望信号,误差信号表示如下: 考虑滤波器长度 块长度共三个相邻的数据块是,, 滤波结果如下: 块滤波结果如下 块滤波器结果如下 上面的数据矩阵是托伯利兹矩阵,主对角线元素都相同 块 权向量调整公式如 (权向量的调整)(步长参数)(抽头输入向量)(误差信号) 因为在块 算法中误差信号随抽样速率而变,对于每一个数据块,我们有不同的用 于白适应过程的误差信号值。因此,每一个块的抽头权向量更新公式如卜 其梯度向量的估计如下: V()=-∑+ V()的无偏估计如下: 块算法收敛性 由于时间平均的缘故,它具有估计精度随快长度增加而大嶇提髙的特性。然而,长度的 增加会导致其收敛速度进一步减慢。后文的快速算法加速∫这一过程 平均时长数 其中是输入自相关矩阵=[xx 上式中为了使零阶公式成立,4必须小于/2,其中2是相关矩阵的最大特 征值 失调 []是相关矩阵的迹。 块长的选择 设滤波器长度和块长度的关系有三种可能: ,从计算的复杂性上看,最佳 ,有降低延迟的好处 将产生自适应过程冗余运算。 )的基本思想是将时域块放到频域来计算。利用算法在频 域上完成滤波器系数的自适应。快速卷积算法用重叠相加法和重叠存储法。重叠相加法是将 长序列分成大小相等的短片段,分别对各个端片段做变换,再将变换重叠的部分相加 构成最终结果,重叠存储法在分段时,各个短的段之间存在重叠,对各个段进行 变换,最后将变换得结果直接相加即得最终变换结果。当块的大小和权值个数相等 时,运算效率达到最高。 根据重叠存储方法,将滤波器个抽头权值用等个数的零来填补,并采用点 行计算,其中 ,因此,的向量 【实例截图】
【核心代码】

标签:

实例下载地址

语音回声消除使用到的算法

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警