dsp实现语音噪声滤波设计方案_第1页
dsp实现语音噪声滤波设计方案_第2页
dsp实现语音噪声滤波设计方案_第3页
dsp实现语音噪声滤波设计方案_第4页
dsp实现语音噪声滤波设计方案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语音噪声滤波 0 现语音噪声滤波设计 方案 1、设计背景 语音通信的目的是传递声音信息。位于甲地的通信者发出的声音经语音传感器变换成为电信号,经发送端设备变换为适合传输的形式,通过传输信道传输到乙地。在乙地经接收端设备恢复出原来的语音信号,经耳机或者喇叭转换为接收者可以听到的声音信号。这就是最基本的语音通信系统,但是由于周围环境的原因,我们采集到语音信号经常含有不同程度的噪声。 典型语音通信系统中的噪声来自三个方面:信号处理设备产生的电噪声及传输信道中的电噪声; 信号发送端空间环境中的音频噪声信号经麦克风变换为电 信号之后,与有用信号其同传递到接收端;信号接收端空间环境中的音频噪声对信号接收者的影响。噪声是由于发生体作无规则振动产生的。 在很多情况下,环境中的背景噪声是通信系统中噪声干扰的主要来源。当语音信号受到背景噪声干扰时语音通信质量变得不可接受,因此要对语音信号中的噪声滤除。 集数据时不打扰 此利用 以对语音信号进行实时地滤波。本设计要求利用 式进行信号采集和信号输出,对语音信号进行数字 编码,滤波后进行解码。 2、设计要求及目标 基本部分 : ( 1) 对 ( 2)对 A/D、 D/ ( 3) 编写 现语音信号的实时滤波; 发挥部分 : ( 1) 使用 ( 2)利用自适应滤波实现语音信号的回波对消。 3、设计思路 首先利用 音信号先经过 A/用 写滤波算法程序,或调用 信号进行滤波。滤波 后的数据利用 。 4、要求完成的任务 ( 1) 编写 在 ( 2)将包含噪声的语音信号进行滤波,从扬声器输出端口输出,比较滤波前后的信号的变化; ( 3)按要求撰写设计报告。 语音噪声滤波 1 二、设计内容 随着现代科学的蓬勃发展,人类社会愈来愈显示出信息社会的特点。通信或信息交换已成为人类社会存在的必要条件,正如衣食住行对人类是必要的一样。语音作为语言的声学表现,是人类交流信息最自然、最有效、最方便的手段之一。然而,人们在语音通信过程中不可避免地会受到 来自周围环境和传输媒介引入的噪声、通信设备内部电噪声、乃至其他讲话者的干扰。这些干扰最终将使接收者接收到的语音不再是纯净的原始语音,而是被噪声污染过的带有噪声的语音信号。例如,汽车、街道、机场中的电话,常受到强背景噪声的干扰,严重影响通话质量。而环境噪声的污染使得许多语音处理系统的性能急剧恶化。例如,语音识别已取得重大进展,正步入使用阶段。但目前语音识别系统大多都是在安静环境中工作的,在噪声环境中尤其是强噪声环境,语音识别系统的识别率将受到严重影响。 在上述情况下,必须加入语音增强系统,或者抑制背景噪声,以 提高语音通信质量, 或者作为预处理器,以提高语音处理系统的抗干扰能力,维持系统性能。因此,语音增强技术在实际中有重要价值。目前,语音增强已在语音处理系统、通信技术、多媒体技术、数字化家电等领域得到了越来越广泛的应用。 三、设计方案、算法原理说明 1、 信道干扰滤波部分 首先利用 音信号先经过 A/用 写滤波算法程序,或调用 的滤波函数,对信号进行滤波。滤波后的数据利用 式送到D/为模拟信号。这就是我们的设计思路。 具体的设计方案原理图如下。模拟输入信号通过 口输入,经 A/后到达 , 收到信号后,调用中断服务程序进行滤波,滤波后的信号可以在 可以通过 将信号输出到 D/ D/ 语音噪声滤波 2 ( 1)直接存储器访问 接存储器访问( 此数据传 输速度快,在要求信号实时采集和处理的系统中常采用 个可独立编程的 个 个 16位寄存器控制:源地址寄存器的地址寄存器 元计数寄存器 步事件和计数寄存器 送模式控制寄存器 的地址寄存器 元计数寄存器 。同步事件和桢计数寄存器 据所含桢信号的个数。发送模式控制寄存器 时, 时, 外, 个通道还受通道优先级和使能控制寄存器 本实验利用 与 ,利用 与 。选择 41H)为 选择 择 实现 A/由 将 会影响 采集完一组数据后产生一个 通知 时 可以按照设定继续采集下一组数据,实现了数据采集与 当一组数据处理完成后,将数据存放在数据存储区 择的首地址,并选择源工作地址工作在不调整方式。选择 43H)为 传送数据的目的地址,并选择 择 实现 在 这两语音噪声滤波 3 个头文件中,定义了 用方法和 及寄存器的各个比特域和访问方法,因此需要进行 入信号经 A/用 进行传输进入 滤波后的信号输出利用了 进行传输进入 D/此需要对 和通道 3进行初始化配置。 ( 2) A/。 A/拟信号)转化为数字信号,供 D/ 要使用 A/,必须首先对 A/,即设置A/15+116输入增益( 02及抽样频率( 80006000。 2、回波去噪部分 初始化 、 适应滤波器系数 矢量和自适应滤波器的输出数组 以及 集输入的语音信号,根据模式的不同进行不同的处理以输出不同的信号来进行效果的比较。我们的做法是利用设置参数 时信号通过 使现象更明显可以附加一个延迟; 时用自适应滤波器逼近 信号通过两个系统产生的信号之差 (即剩余回声 )来调整自适应滤波器的系数,使剩余回声逐渐收敛于 0。 ( 1)自适应滤波器的基本原理: 自适应滤波 原理:利用前一时刻获 得的滤波结果,自动调节现时刻的滤波器参数,以适应信号和噪声的未知特性,从而实现最优滤波。 自适应滤波器主要由系数可调的数字滤波器和调整滤波器系数的自适应算法两部分构成自适应滤波器的一般结构如图 适应滤波其最重要的性能是能有效地在未知环境中跟踪时变的输入信号,使输出信号达到最优。因而在电信、雷达、声纳、实时控制以及图像处理等领域都有成功的应用。 常规滤波器具有特定的特性,对于输入信号根据这个滤波器特性产生相应的输出。也就是,先有了滤波器构成的权系数,然后决定相应输出值。但有些实际应用往往是反过来要求 的,即对滤波器输出的要求是明确的,而滤波器特性是无法预先知道的。例如长话系统,回波相消器的理想输出是无回波信号,这个要求是明确的,而系统本身却不能一开始就确定下来,因为它取决于长话系统话路传输条件的变化,像这样的应用技术就必须依赖自适应滤波技术。 语音噪声滤波 4 图 l中 d(n)为期望响应, x(n)为自适应滤波器的输入, y(n)为自适应滤波器的输出, e(n)为估计误差, P(n)= x(n)-y(n)前置级完成跟踪信号的选择,确定是信号还是噪声;后置级根据前置级的不同选择对数字滤波器输出作不同的处理,以得到信 号输出自适应滤波器的滤波器系数受误差信号 e(n)控制,根据 e(n)的值和自适应算法自动调整 ( 2)回声消除器的基本原理: 回声消除的基本原理是采用一个自适应滤渡器自动识别回声通道,通过自适应滤波算法的调整,使其冲激响应与实际回声路径逼近,从而得到回声预测信号 y(n),再将预测信号从近端采样的语音信号 d(n)中减去,即可实现回声消除。自适应算法要求收敛速度快、计算复杂度低、稳定性好和失调误差小。虽然许多自适应算法在理论上实现回声消除都是可行的,但通常采用的是较简单的算法。例如广泛应用的 ( 3) 本设计中自适应算法是根据最小均方误差判据来设计的,即理想信号与滤波器输出之差的平方值的期望值最小,并且根据这个判据来修改权系数。 均方误差表示为 Ee2(n)=Ed(n)-y(n)2 对于横向结构滤波器,代入 y(n)的表达式,有 = Ed2(n)+WT(n)RW(n)T(n)P 其中, R = EX(n) XT(n)是 N*是输入信号采样值间的相关性矩阵。 P = Ed(n) X(n)为 N*1互相关矢量,代表理想信号 d(n)与输入矢量的相关性。 在均方误差达到最小时,得到最佳权系数 W*= , , T。它应满足下列方程 )( *)( =0 即 R* 显然, x(m)=x(n)x(是 x(n)的自相关值, ) =Ex(n)d(是x(n)与 d(n)的互相关值。在有些应用中,把输入信号的采样值分成相同的段(每段称为一帧),再求 出 估计值,以得到每帧的最佳权系数。这种方法称为块对块自适应算法。如语音信号的线性预测编码 是把语音信号分成帧进行处理的。 的计算,要求出期望值 E,在实际运算中不易实现。为此,可通过下式进行估计: 语音噪声滤波 5 = 10 )().(1 mK i = 10 )().(1 mK i 用以上方法获得最佳 W*的运算量很大,对于一些在线或实时应用的场合,无法满足其时间要求。 大多数场合使用迭代算法,对 每次采样值求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的 能实时求得式的近似解,因而切实可行。 W( n+1)矢量是 W( n)矢量按均方误差性能平面的负斜率大小调节相应一个增量。 W( n+1) = W( n) (n) 这个 u 是由系统稳定性和迭代运算收敛速度来决定的自适应步长。 (n)为 于 (n)是 Ee2(n)的斜率。 )()(2)( )( 2 由式 W( n+1) = W( n) (n),产生了求解最佳权系数的两种方法,一种是最陡梯度法。其思路为,设定初始权系数,用上式迭代公式计算,直到 W( n+1)与W( n)误差小于规定范围。其中( n)的 用估计值表达式 10 )()(1)()( ki 式中 果用瞬时 n)X(n)来代替上式对 e(n)X(n)的估计运算,就产生了另一种算法 随机梯度法,即 时迭代公式为 W( n+1) = W( n) +2u e(n)X(n) 以上讨论的自适应算法都是基于 式的迭代公式,假定滤波器结构为横向结构。对于对称横向型结构,也可推出类似的迭代公式 W( n+1) = W( n) +2u e(n)X(n)+ X() 其中, X(n)= 2/,.,1, , 而 X()= , . . . ,2,1 。 语音噪声滤波 6 自适应控制可以看作是一个能根据环境变化智能调节自身特性的反馈控制 系统以使系统能按照一些设定的标准工作在最优状态。一般地说,自适应控制在航空、导弹和空间飞行器的控制中很成功。可以得出结论,传统的自适应控制适合( 1)没有大时间延迟的机械系统;( 2)对设计的系统动态特性很清楚。但在工业过程控制应用中,传统的自适应控制并不如意。 整定方案可能是最可靠的,广泛应用于商业产品,但用户并不怎么喜欢和接受。传统的自适应控制方法,要么采用模型参考要么采用自整定,一般需要辨识过程的动态特性。它存在许多基本问题( 1)需要复杂的离线训练;( 2)辨识所需的充分激励信号和系统平稳运行的矛盾; ( 3)对系统结构假设;( 4)实际应用中,模型的收敛性和系统稳定性无法保证。另外,传统自适应控制方法中假设系统结构的信息,在处理非线性、变结构或大时间延迟时很难。 3、脉冲式滤波: 我们的方式先求个点的平均值,然后根据实际,大于这个平均值的 5 倍以上的信号幅度进行衰减,这样可以在时域直接进行处理。进而得到需要的声音,将乱入的声音滤掉,保护听者。 四、程序设计、调试与结果分析 1、调试过程 a、首先设计 打开 命令窗中输入 开滤波器设计与分析工具。因为语音信号的频率成分主要分布在 300400以我们只要设计 4000 数选择 15,抽样频率选择 16可以设计所要的滤波器了。然后将设计好的结果导出为 设计好滤波器后,还要进行对 A/,并编写主程序和中断语音噪声滤波 7 服务程序,以及控制调用中断时程序流向的中断向量表,详细内容请见程序清单。由于 以 b、信号滤波部分: ( 1)通过 此种方式不能很好的听出声音到底有什么变化,因为其实板子的噪声即不准。所以最好是用输入正弦波再利用 ( 2)编译滤波工程之前先在 现连接器配置对话框,选择 后再对程序进行编译。 ( 3)编译通过则会产生 可执行文件 ( 4)在中断服务程序 便观察图形。 ( 5)选择 活程序。 ( 6)在 现图形属性对话框。图形属性对话框中, 56、十六进制、 6位有符号整形数,其它设置不变。确定后出现如下图所示 时域波形。 c、扩展回波对消部分: ( 1)由麦克将产生的语音信号输入到 比处理前后的语音信号。 ( 2)编译滤波工程之前先在 现连接器配置对话框,选择 后再对程序进行编译。 ( 3)通过设置 不同算法处理过的信号分别观察。 0代表产生输入原声;1代表产生带回波噪声的声音; 2代表用自适应消除回波后的声音; 3代表产生添加正弦频率噪音的信号; 4代表用自适应方法滤除正 弦噪音后的声音; 5代表音调降低;6代表近音调升高; 7代表滤除脉冲噪音 ( 4)选择 活程序。 ( 5)在程序运行过程中,输入语音信号分别进行语音输出观察。 2、结果分析 ( 1)理论上的滤波输入输出信号: 语音噪声滤波 8 实际信号: 女变男: 语音噪声滤波 9 明显看出有失真。 五、设计(安装)与调试的体会 这次的 500多人排不到 20块板子 ,必须要起个大早才可以用到板子 ,所以我们的用板时间真的不是太多 面的因素 ,后来当我们把理论知识研究到一定深度的准备实践的时候 ,实验室已经门可罗雀了 ,唉 我们的辛酸的借板子的历程就开始了 但这同样给与了我们提高 ,锻炼了我们非常娴熟的调试技术 ,可以用神速来形容我们俩生成工程的速度 !所以 ,什么样的情况都是一种经历 ,这种艰苦的经历对于我们更是一种锻炼和提高 ,对于我们这种从小没怎么吃苦的孩子们也是一次额外的经历 ,也许到了我们老了 ,还会想起交大小学期排板子的经历 一定会相视一笑的 因为本课题的基本语音滤波部分杨老师在课上给予了我们 讲解,因此我们就在原本的基础上进行改善和增加拓展。因为课题要求是进行语音滤波,因此我们一开始从通道的初始化使能着手,然后了解到整个程序模板中真正对采集到的音频信号进行滤波的是中断服务程序,这与我们学得单片机有惊人的类似 . 所以这方面的初始化 ,我们还是掌握的不错的 ,但是 我们只能照着书一点一点的翻 ,一点一点的写 ,当然书上的初始化程序还是给的很细 ,我们也借鉴了很多 ,但我们想 ,这些都是死的 还是以理解为主吧 之后就是研究中断中具体的滤 波程序了 ,我们是从噪声的种类角度下手 ,一点一点的进行的 ,考虑了很多噪声 ,这在报告的前面部分中也都提到了 ,然后我们就研究具体的解决办法 ,一步一步地下手 我们也发现我们的数学水平真的还欠缺 ,或者说我们很强的耐心看很长的数学公式 ,这在日后的学习过程中还待加强阿 接着,我们在原来的基础上,想到了变声。我们最初想对实时滤波处理过后的个语音样本点间的距离进行适当的拉长和压短,这样应该就会产生一定的变声。因为女生普遍比男生发生的频率高,这样音调高,所以对语音样本点间的距离进行压缩后, 就能将一段男声近似变成“女声”;同理,对语音样本点间的距离进行拉长后,这样频率变低,就相应地实现女声变“男声”。最后经过反复实验,我们做出了近似变声功能。 然后,我们用自适应滤波器滤除回波。比对了几种自适应滤波器后,我们最终决定采用滤波器进行滤波,最后我们用了将近一天的时间的参数使用和定义搞清楚。一开始我们遇到了不小的麻烦,不管怎么样都不出声,最后我们想到参考资料上介绍的是用采集方式,数据一个一个的采集,而我们用的是传输,是一串一串的采集,所以我们猜想是不是自适应滤波器的步长参数设置得过低,使得其自适应的过程中容量不够,因此我们尝试着将步长由原来的该为,最后一试还真的实现了回波消除。 用板的一个语音输入端模拟一方的电话用户,而再用软件产生一个接近语音噪声滤波 10 的正弦信号模拟另一端用户传来的语音,将这两端传来的信号叠加在一起后就类似于我们日常通话中能听到自己回声的现象,再采用自适应滤波,滤除一方信号后就能实现回声消除! 最后我们自己模仿了脉冲噪音的形式,自己录制了一段声音,然后想在 是因为时间有限,主要是因为板子太少,在我们答辩 以前,我俩还没有利用板子尝试过,但是我们的原理很清晰,并准备在答辩时现场尝试。 综上 ,就是我们对这次实验的感想 ,最后我们表达一下对小学期的情感 但我们从理论逐步向实践过渡了 ,把两门信号处理的大课的知识结合到实践中去做了 更像是两个工程师 ,虽然研究的东西不太高端 ,但对我们应经是受益匪浅了 ,用一句玩笑来形容就是 ,这些实践为我们回去和朋友吹嘘自己在大学学到了什么提供了很强的说服力 感谢杨老师为我们上课打下的最原始的基础 ,感谢那些借我们板子的可爱的 同学们 ,更要感谢学院开设这么有意义的课 . 六、源程序代码 1、 */ /* MA IR */ /* */ /* */ /* - on */ /* - */ /* - */ /* - on */ /* - MA to */ /* */ /* 03/20/2000 */ /*/ 语音噪声滤波 11 /*/ /* */ /*/ #*/ /* */ /*/ ; /*/ /* */ /*/ 语音噪声滤波 12 /* */ #; /* */ #; /* #; /* 6000 000 6= 312, 654, 4501, 14655, 14655, 4501, 654, 312, /* 16=245,451,0,9610,29610,0,451,245, /* * 6=921,37,2485,9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论