信息处理课群课设报告(共41页)_第1页
信息处理课群课设报告(共41页)_第2页
信息处理课群课设报告(共41页)_第3页
信息处理课群课设报告(共41页)_第4页
信息处理课群课设报告(共41页)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学信息处理课群综合训练与设计 报告书 课程设计任务书学生(xu sheng)姓名: 专业(zhuny)班级: 指导(zhdo)教师: 李政颖 工作单位: 信息工程学院 题 目: 基于LMS 算法的多麦克风降噪 初始条件:具备数字信号处理,模拟电子技术,Matlab等学科的知识。要求完成的主要任务: 给定主麦克风录制的受噪声污染的语音信号和参考麦克风录制的噪声,实现语音增强的目标,得到清晰的语音信号。阅读参考资料和文献,明晰算法的计算过程,理解LMS算法基本过程;主麦克风录制的语音信号是LMSprimsp.wav,参考麦克风录制的参考噪声是LMSrefns.wav.用matlab指令读

2、取;根据算法编写相应的MATLAB程序;算法仿真收敛以后,得到增强的语音信号;用matlab指令回放增强后的语音信号;分别对增强前后的语音信号作频谱分析。时间安排:第19周 周一、周二共2天,查找资料,了解相关专业知识第19周 周三、周四共2天,根据已有专业知识,设计流程图第19周 周五、周六、周日共3天,根据流程图设计,进行代码编写第20周 周一、周二、周三共3天,进行系统仿真及调试第20周 周四进行最后的整理工作,撰写课程设计报告第20周 周五(2014年7月4日)完成课设答辩(答辩,提交报告,演示)指导教师签名: 年 月 日系主任(或责任教师(jiosh))签名: 年 月 日 摘 要语音

3、降噪主要研究如何利用信号处理技术消除信号中的强噪声干扰,从而提高输出信噪比以提取出有用信号的技术。消除信号中噪声污染的通常方法是让受污染的信号通过一个能抑制噪声而让信号相对不变的滤波器,此滤波器从信号不可检测的噪声场中取得输入,将此输入加以滤波,抵消(dxio)其中的原始噪声,从而达到提高信噪比的目的。最小均方(LMS)自适应算法就是以已知期望响应和滤波器输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。LMS 算法是一种梯度最速下降方法,其显著(xinzh)的特点和优点是它的简单性,这种算法不需要计算相应的相关函数,也不需要进行

4、矩阵运算。为了很好地完成基于LMS 算法的多麦克风降噪系统(xtng)的设计,我对LMS算法的原理进行了深入的了解和研究;利用仿真软件MATLAB的设计和仿真,并对仿真结果进行了分析。关键词:LMS ;麦克风;降噪;MATLAB IAbstractNoise reduction of speech is mainly about how to use signal processing techniques to eliminate the noise signal,so as to improve the ratio to extract useful signal output signa

5、l-to-noise. Usually the method to eliminate the noise pollution in the signal is that signal polluted through a noise suppression and signal relative invariant filter, which has the input noise from the signal can not be detected.then through the filter, the original noise is counteracted, so as to

6、achieve the improvement of signal to noise ratio.The least mean square (LMS) adaptive algorithm is known to the error between the desired filter response and the output signal of the mean square value of minimum standard, based on the input signal to estimate the gradient vector in the iterative pro

7、cess,and the adaptive iterative algorithm and update the weight in order to achieve the optimal. LMS algorithm is a gradient descent method, whose characteristics and advantages are its simplicity, this algorithm needs to calculate the correlation function of the corresponding, also does not need ma

8、trix operation.In order to complete the noise reduction of speech based on LMS, I have conducted a deep study and research about the modulation and demodulation principle of LMS .by using the simulation software MATLAB,I design and emulate the modulation and demodulation of the modulation and demodu

9、lation principle of LMS, and the simulation results are analyzed.Key word: LMS;microphone;Noise reduction of speech;MATLAB目 录TOC o 1-3 h u HYPERLINK l _Toc221 摘 要 1. 前言(qin yn)人们在语音通信过程中不可避免地会受到来自周围环境、传输媒介引入的噪声、通信设备内部电噪声、乃至其他讲话者的干扰。这些干扰最终使接收到的语声已非纯净的原始语音信号,而是受噪声污染(zo shn w rn)的带噪语音信号。语音增强的一个主要目标是从带噪

10、语音信号中提取尽可能纯净的原始语音。现实语音中不可避免地混有外界(wiji)的噪声, 当噪声超过一定的界限时, 将严重影响人的正常交往, 因此语音除噪具有较高的实用价值。自适应语音噪声消除系统的核心是自适应滤波器, 而自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成。参数可调的数字滤波器可以是F IR 数字滤波器、IIR 数字滤波器或格型数字滤波器。设计自适应滤波器时, 首先要确定滤波器的结构(FIR, IIR 或格型滤波器结构) , 然后设计自适应算法, 以调整滤波器参数, 其目标是使一特定的代价函数最小化。本次课设中采用LMS 算法对多麦克风语音进行降噪。基于最小均方(LMS)自适

11、应算法就是以已知期望响应和滤波器输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。LMS 算法是一种梯度最速下降方法,其显著的特点和优点是它的简单性,这种算法不需要计算相应的相关函数,也不需要进行矩阵运算。 2. 基本原理及数学模型2.1 语音(yyn)与噪声的基本知识2.1.1 语音与噪声(zoshng)的特性1.语音(yyn)的特性(1)语音是时变的、非平稳的随机过程人类发音系统生理结构的变化速度是有一定限度的,在一段时间内(10-30ms),人的声带和声道形状是相对稳定的,因而语音的短时谱具有相对稳定性,所以在语音分析中就可

12、利用短时谱的这种平稳性。(2)语音可分为浊音和清音两大类浊音在时域上呈现出明显的周期性,在频域上有共振峰结构,而且能量大部分集中在较低频段内而清音段没有明显的时域和频域特征,类似于白噪声。在语音增强研究中,可利用浊音的周期性特征,采用梳状滤波器提取语音分量或者抑制非语音信号,而清音则难以与宽带噪声区分。(3)语音信号可以用统计分析特性来描述由于语音是非平稳的随机过程,所以长时间的时域统计特性在语音增强的研究中意义不大。语音的短时谱幅度的统计特性是时变的,只有当分析帧长趋于无穷大时,才能近似认为其具有高斯分布。高斯分布模型是根据中心极限定理得到的,将高斯模型应用于有限帧长只是一种近似的描述。在宽

13、带噪声污染的语音增强中,可将这种假设作为分析的前提。(4)语音感知对语音增强研究有重要作用人耳对语音的感知主要是通过语音信号频谱分量幅度获得的,人耳对频率高低的感受近似与该频率的对数值成正比。共振峰对语音的感知十分重要,特别是第二共振峰比第一共振峰更为重要。噪声的特性噪声来源于实际的应用环境,因而其特性变化无穷,噪声可以是加性的,也可以是非加性的。考虑到加性噪声更普遍且易于分析问题,并且对于部分非加性噪声,如乘积性噪声或卷积性噪声,可以通过同态变换而成为加性噪声,这里我们仅讨论加性噪声。加性噪声大致可分为周期性噪声、冲激(chn j)噪声和宽带噪声:(1)周期性噪声(zoshng)周期性噪声的

14、特点是有许多离散的窄谱峰,它往往来源于发动机等周期运转的机械,如或交流声会引起周期性噪声。周期性噪声引起的问题可以(ky)通过功率谱发现,并通过滤波或变换技术将其去掉。(2)冲激噪声冲激噪声表现为时域波形中突然出现的窄脉冲,它通常是放电的结果。消除这种噪声可根据带噪语音信号幅度的平均值确定闽值,当信号幅度超过这一阈值时判为冲激噪声,然后进行消除。(3)宽带噪声宽带噪声的来源很多,如热噪声、气流如风、呼吸噪声及各种随机噪声源等,量化噪声也可视为宽带噪声。由于宽带噪声与语音信号在时域和频域上完全重叠,因而消除它最为困难,这种噪声只有在语音间歇期才单独存在。对于平稳的宽带噪声,通常认为是白色高斯噪声

15、不具有白色频谱的噪声,可以先进行白化处理。对于非平稳的宽带噪声,情况就更为复杂一些。本次课设中研究的噪声以人的呼吸或实验室环境下的噪声为主要对象,这种噪声一般符合如下的假设:(1)噪声是加性的;(2)噪声是局部平稳的,局部平稳是指一段带噪语音中的噪声,具有和语音开始前那段噪声相同的统计特性,且在整个语音段中保持不变,也就是说,可以根据语音开始前那段噪声来估计语音中所叠加的噪声统计特性;(3)噪声与语音独立或不相关。2.1.2 带噪语音的模型本次课设研究的噪声是以工厂噪声、人的噪音以及汽车噪声等为主要对象,一般符合如下的假设噪声是加性的、局部平稳的、噪声与语音统计独立或不相关。带噪语音模型表达式

16、如下 (式2-1)其中(qzhng)表示(biosh)纯净语音,表示(biosh)噪声,表示带噪语音。带噪语音模型如图2-1所示:图2-1 带噪语音模型而说噪声是局部平稳,是指一段带噪语音中的噪声,具有和语音段开始前那段噪声相同的统计特性,且在整个语音段中保持不变。也就是说,可以根据语音开始前那段噪声来估计语音中所叠加的噪声统计特性。2.2 自适应噪声抵消原理就目前而言,带自适应滤波器的自适应噪声抵消法对含噪声语音的降噪效果较好。因为这种方法比其它方法多用了1个参考噪声作为辅助输入,从而获得了比较全面的关于噪声的信息,因而能得到更好的降噪效果。特别是在辅助输入噪声与语音中的噪声完全相关的情况下

17、,自适应噪声抵消法能完全排除噪声的随机性,彻底地抵消语音中的噪声成分,从而无论在信噪比 SNR(Signal to Noise Ratio)方面还是在语音可懂度方面都能获得较大的提高。其工作原理实质上为以均方误差 或方差 最小为准则,对噪声进行最优增强语音的目的。随着理论性能研究的不断深入,应用日趋广泛。所谓自适应噪声抵消就是采用自适应滤波和噪声抵消的方法。自适应滤波器就是以输入和输出信号的统计特性的估计为依据,采取特定算法自动调整滤波器系数,使其达到“最佳”滤波特性的一种算法或装置。2.2.1 滤波器结构(jigu)自适应滤波器的结构可以是 IIR 型结构和 FIR 型结构。但在实际应用(y

18、ngyng)中,一般都采用 FIR 型,其主要原因是,FIR 结构的自适应技术实现容易,其权系数的修正就调节了滤波器的性能,同时还可以保证其稳定性。对于 IIR 滤波器,当自适应处理过程中,极点移出单位圆之外时,就会使滤波器产生不稳定。一个自适应的 FIR 滤波器的结构,可以是横向(hn xin)结构(transversal structure),对称结构(symmetric transversal structure)以及格形结构(lattice structure)。其中横式滤波器由于结构简单且易于实现而应用最为广泛,文章后面的自适应滤波器仿真都是采用横向型结构。横式滤波器如下图所示。图2

19、-2 横向型滤波器结构滤波器的输出表示为: (式2-2)其中,输入矢量为,转置符为,时间序列为,权系数矢量,N为滤波器阶数。由表达式可见,实际是两矢量的内积即把与相卷积的结果。2.2.2 最佳滤波(lb)准则前面己经提到,设计滤波(lb)器时应该根据输入信号的特性,设计出最佳的滤波器。那么,什么样的滤波效果才算是最佳呢?必须有一个判断的标准。至今已研究出很多最佳滤波准则。常见的有最小均方误差准则(MMSE),最小二乘准则(LS),最大信噪比准则(MaxSNR),线性约束最小方差准则(LCMV)等等。最佳滤波准则和自适应滤波器关系密切,最佳滤波准则规定了与某种特性的信号对应的最佳参数,而这个最佳

20、参数指出了自适应滤波器调整参数的方向。以下主要介绍前两个准则。最小均方误差(wch)准则 MMSE (Minimum Mean Square Error)就是要使输出信号和理想信号的误差的平方的均值最小。设为滤波器输出想要逼近的信号, 为滤波器输出信号,则误差为,最小均方误差准则就是要使达到最小。最小二乘准则 LS (Least Square)就是要使一定范围内(从k 到 k+m-1)误差的平方和达到最小。最小二乘准则就是要使达到最小。由此两准则衍生出许多不同的自适应滤波算法,人们从算法的收敛精度、收敛速度、跟踪能力、计算复杂度和数值稳定性等方面对 LMS 类算法和 RLS 类算法进行了研究和

21、改进。2.3 LMS自适应算法最小均方(LMS)自适应算法就是以已知期望响应和滤波器输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。LMS 算法是一种梯度最速下降方法,其显著的特点和优点是它的简单性,这种算法不需要计算相应的相关函数,也不需要进行矩阵运算。对于横向型滤波结构,其误差为: (式2-3)均方误差表示为 : (式2-4)对于(duy)横向结构的滤波器,代入的表达式,有 (式2-5)其中(qzhng),是 NN的自相关矩阵,它是输入(shr)信号采样值间的自相关矩阵。为互相关矢量,代表理想信号与输入矢量的相关性。在均方误

22、差达到最小时,得到最佳权系数。它满足下列方程 (式2-6)即 (式2-7)这是一个线性方程组,如果矩阵是满秩的,存在,可得到权系数的最佳值满足 (式2-8)用完整的矩阵表示为式 (式2-9)显然,是的自相关值,是与 的互相关值。在有些应用中,把输入信号的采样值分成相同的段(每段为一帧),再求出和的估计值,以得到每帧的最佳权系数。这种方法称为块对块的自适应算法。如语音信号的线性预测编码LPC,就是把语音信号分成帧进行处理的。和的计算,要求出期望值,在实际运算中不易实现。为此,可通过下式进行估计: (式2-10) (式2-11)用以上(yshng)方法获得最佳的运算量很大,对于一些(yxi)在线或

23、实时应用场合,无法满足其时间要求。大多数场合(chng h)使用迭代算法,对每次采样值求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的和的运算,又能实时求得近似解,因而切实可行。LMS算法是以最快下降法为原则的迭代算法,即矢量是矢量按均方误差性能平面的负斜率大小调节相应一个增量 (式2-12)这个是由系统稳定性和迭代运算收敛速度来决定的自适应步长。为次迭代的梯度。对于 LMS 算法,是式(3-3)中的斜率,即 (式2-13)由此产生了求解最佳权系数的两种方法,一种是最陡梯度法。其思路为,设初始权系数,用式(3-11)迭代公式计算,直到与误差小于规定范围。其中的计算,可用估计值

24、表达式 (式2-14)式中的取值应该足够大。如果用瞬时来代替上式对的估计运算,就产生了另一种算法随机梯度法,即 Widrow Hoff 的 LMS 算法。此时迭代公式为 (式2-15)其中是步长因子。为了分析方便,将式(3-2)代入(3-14)可得 (式2-16)文章后面讨论的自适应算法都是基于Windrow Hoff的LMS算法。式(2-16)的迭代公式 (式2-17)其中,为,而为。 上式便构成了LMS的实现算法。LMS算法的两个优点是:实现起来简单;不依赖(yli)模型(model-independent),因此具有稳健的性能。下面给出了LMS算法的流程:参量(cnling) M=滤波器

25、抽头(chu tu)数 步长因子 初始条件 或由先验知识确定运算 对 (1)得,(2)滤波(3)误差估计(4)更新权系数2.3.1 权向量的收敛经过推导,为保证LMS算法收敛,步长因子应满足以下条件: (式2-18)是输入信号自相关矩阵 R 的最大特征值,它不可能大于的迹,所以上式变为: (式2-19)对于中等长度和较大长度 M 的 LMS 滤波器,均方收敛的步长参数的必要条件定义为 (式2-20)其中表示抽头输入功率谱密度的最大值。2.3.2 性能指标(1)失调失调定义为自适应过程中超量均方误差和最小均方误差之比。超量均方误差: (式2-21)如果假设自适应暂态过程已消失(xiosh),均方

26、误差已接近最小值,则可近似为: (式2-22)失调(shtio)定义为: (式2-23)(2)平均(pngjn)时间常数(收敛时间)LMS 算法的平均时间常数为:,其中为抽头输入的相关矩阵R的平均特征值。则可近似定义失调为: (式2-24)其中 M 为滤波器阶数。可得如下结论:1)对于固定的,失调随着滤波器长度M线性增加。2)失调正比于步长,平均时间常数反比于步长。2.3.3 性能分析LMS算法是一种随机优化方法,对其进行了深入的研究,主要有以下三点结论:(1)LMS 算法是最速下降法的近似,它利用估计的梯度进行调整。因为梯度是函数的局部性质,从局部看在一点附近下降得快,但从总体上来看可能走许

27、多弯路,只有当权矢量坐标位于性能表面的主轴上时,梯度的负方向才指向最小点。因此一般情况下,权向量改变的方向不一定在指向最小值的方向上。由于最速下降并非对整体而言,所以其收敛速度较慢。(2)为保证 LMS 算法的稳定收敛,步长因子应满足 (式2-25)这样当迭代(di di)次数趋于无穷大时,权矢量(shling)的期望值将逼近(bjn)最优解(维纳解)。值越大,算法收敛越快,但稳态误差也越大;值越小,算法收敛越慢,但稳态误差也越小。失调与步长因子成正比;相反地,平均时间常数却与步长因子成反比。因此,如果减小步长因子,则失调将减小,但是收敛时间将有所增加,反之亦然。(3)LMS 算法收敛速度受控

28、于特征值的分布范围。自相关阵R的特征值分布范围越大,LMS 算法收敛的越慢;反之,R 的特征值分布范围越小,LMS 算法收敛得越快。在极端情况下,当输入信号是白噪声时,自相关阵 R 的所有特征值均相同,这时 LMS 算法收敛速度最快。如果输入是语音信号,而语音信号又恰恰具有较大的特征值的分布范围,从而导致收敛速度会显著地减慢。(4)失调直接与抽头输入向量成正比,当输入较大时,LMS 滤波器遇到梯度噪声放大问题,而输入较小时算法收敛速度较慢。将输入信号按照自身的平均能量进行归一化处理,就得到了归一化 LMS 算法,也称 NLMS 算法,可以消除梯度噪声放大问题。LMS 算法的主要缺点是收敛速度慢

29、,如何加快其收敛速度一直是研究的热点,一般可以从以下三个方面入手。(1)对步长因子选用合适的控制方法。步长因子决定着算法的收敛速度和达到稳态时失调量的大小。对于设定为常数的来说,收敛速度和失调量是一对矛盾。要想得到较快的收敛速度,可选用大的调整步长,这就导致大的失调量;如果要满足失调量的要求,则收敛速度将受到制约。变步长的方法可以克服这一矛盾。自适应过程开始时,采用较大的步长以保证快的收敛速度,然后步长逐渐减小,以保证稳态时可以得到较小的失调量。(2)改善梯度估值如 LMS/Newton 算法,它在估计梯度后又利用了输入矢量相关函数的估值,使得在每个迭代周期权矢量的改变总是在指向性能表面最小点

30、的方向上。由于其在迭代过程中采用了更多的有关输入信号矢量的信息,其收敛速度比典型的 LMS算法相比有显著的提高。(3)降低输入(shr)信号的相关性从上面对 LMS 算法的分析结果可知,LMS 算法的收敛速度受输入信号特征值分布的影响,因此可以考虑通过(tnggu)对输入信号进行白化处理来提高收敛速度。这方面的算法主要有:1)变换域算法。变换域算法的思想是将信号经过某种变换(一般是正交变换)分解为一系列近似不相关的各个分量。很显然,变换域 LMS 算法的收敛性与变换核函数有关。K-L 变换是理论上最佳的,但是计算量太大,在一定条件下,DCT、DST、FFT 是 K-L 变换的良好近似,同时也因

31、为这些变换存在快速算法,因而获得较广泛的应用。2)预滤波白化算法。将原始输入信号和目标信号分别通过相同的白化滤波器,将滤波结果再作为输入信号和目标信号进行自适应。2.4 LMS降噪系统(xtng)设计自适应噪声对消器是一个具有二输入端的自适应滤波器,运行在参考传感器输入端的自适应滤波器用来估计噪声,然后从基本传感器输入中减去该噪声估值。对消器的总输出用来控制自适应滤波器中抽头权系数的调整。这里主要讨论采用 LMS 算法的噪声对消器。图2-3给出了LMS 算法自适应噪声抵消系统。图2-3 LMS 算法(sun f)自适应噪声抵消器图2-3中信号沿信道传到接收该信号的传感器,此传感器除接收到信号源

32、发出(fch)的有用信号外,还收到一个不相关(xinggun)的噪声场,原始输入为受扰信号;参考输入为,与相关,而与信号不相关。原始输入加到自适应滤波器的a端,参考输入加到自适应滤波器的b端。图中自适应滤波器AF接收误差的控制,调整权矢量,使得它的输出趋于等于中与它相关的,于是作为与之差就接近等于信号。证明如下:由图2-3得: (式2-26) (式2-27)两边取数学期望,可得: (式2-28)自适应过程就是自动调节权重使均方最小的过程,(3-30)式中第一项为信号功率,与无关。由于信噪不相关,第三项为0 。所以,要使成立,即式中第二项应最小,即: (式2-29) (式2-30)由图2-3得:

33、 (式2-31) (式2-32)当被最小化,也被最小化,以最小均方差(fn ch)趋于,可能的最好(zu ho)情况为:,则;最小化输出功率使输出完全没有噪声,是自适应滤波器最理想的情况。因此(ync),自适应滤波器可以用来从噪声中提取信号。3. 仿真设计与实现方法3.1 仿真环境介绍MATLAB是美国MathWorks公司出品的商业 HYPERLINK /view/1658637.htm 数学软件,用于 HYPERLINK /view/7420.htm 算法开发、数据可视化、数据分析以及 HYPERLINK /view/920695.htm 数值计算的高级技术计算语言和交互式环境。 MATL

34、AB是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 图3-1 MATLAB2010软件(run jin)图标MATLAB由一系列工具组成。这些工具方便(fngbin)用户使用MATLAB的 HYPERLINK /view/15061.htm 函数(hnsh)和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作 HYPERLINK /view/31260.htm 空间、文件的浏览器。随着MATLAB的商业化

35、以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 使用MATLAB这一软件来设计滤波器,与传统的设计思路相比是非常简便的。在MATLAB环境下,使用者无需了解程序内部具体编写情况,即可输入期望的滤波器性能指标以实现系统仿真,完成对数字滤波器频率响应的处理和波形的检测。对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优

36、缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。图3-2 MATLAB软件(run jin)编辑页面图3-3 MATLAB软件波形(b xn)仿真页面 3.2 MATLAB中的算法(sun f)实现前面分析研究了自适应噪声消除原理,下面在MATLAB平台上进行模拟与仿真。以后各章的仿真分析都是在MATLAB平台上进行处理。消噪所采用(ciyng)的方法是:编写自适应滤波器的.m文件,进行噪声消除的仿真分析。在MATLAB中编写M文件functionh,y,e=lms(x,d,u,N),此文件即为最小均方算法在噪声抑制中应用的设计文件。其中各

37、参数的意义如下:%w为滤波器的权值矩阵(j zhn)(矩阵)%worder为滤波器的阶数 %u为收敛因子(步长)(标量(bioling)要求大于0%n2为误差序列(列向量) %primary为输入的参考序列 %z为输入的信号序列(列向量)%output为实际输出序列 (列向量) %读取语音信号 基于LMS算法的自适应滤波器的代码如下:%基于LMS算法的自适应滤波器初始化Worder=32; %滤波器阶数u=0.001; %步长收敛因子w=zeros(1,Worder); % 每行代表一个加权参量,每列代表-次迭代,output=primary; %主语音输出loopsize=max(size(

38、primary); %迭代次数 for i=1+Worder:loopsize %写LMS算法公式 z=primary(i)-w*(fref(i-Worder+1:i); %滤波器i个抽头的输入 n2=fref(i-Worder+1:i); % 第i次迭代的误差 w = w + 2*u*n2*z; % 滤波器权值计算的迭代式 output(i-Worder)=z; % 求最优时滤波器的输出序列end;3.3 MATLAB中的仿真实现3.3.1 读取语音信号在本次课程设计中,本应该是由麦克风录入语音信号,但是由于电脑自带的麦克风和耳机麦克风录入的语音信号文件太大,MATLAB仿真软件处理起来很困

39、难,运行很长时间才能出结果。因而,我决定我算选用的噪声信号由MATLAB中随机函数randn产生的声音信号来模拟的,而语音信号则用网上下载的单声道语音信号和randn函数产生的噪声混合的声音信号来模拟。使用wavwrite函数,将randn函数输出的噪声信号命名为LMSrefns.wav。然后在用wavwrite函数将加载了噪声的信号输出命名为LMSprimsp.wav。 读取语音信号的代码如下:source=wavread(mm.wav); %读入原始的wav音频文件noise = 0.1*randn(length(source),1);source = source+noise;wavwr

40、ite(noise,44100,LMSrefns.wav) ; %输出模拟噪声(zoshng)文件wavwrite(source,44100,LMSprimsp.wav); %输出模拟(mn)主语音信号primary=wavread(LMSprimsp.wav)primary=primary; fref=wavread(LMSrefns.wav); %读入参考语音(yyn)信号3.3.2 播放语音信号用MATLAB中的wavread指令分别读取被噪声污染后的语音文件LMSprimsp.wav和噪声文件LMSrefns.wav后,进行LMS算法处理,滤除噪声后,得到语音文件通过MATLAB中的s

41、ound命令播放语音文件。代码如下所示:sound(y1,fs,bits); %播放混有噪音的音频文件LMSprimsp.wavsound(y2,fs,bits); %播放模拟噪音的音频文件LMSrefns.wavsound(output,fs,bits); %播放降噪后的音频文件LMS_output.wav3.3.3 语音信号波形实现用MATLAB中的plot命令可直接得到语音信号波形仿真。%语音信号波形仿真figure(1); %作图subplot(3,1,1);plot(primary); %画主麦克风语音波形title(麦克风输入语音波形);subplot(3,1,2);plot(fr

42、ef); %画参考麦克风语音波形title(麦克风噪声的波形);subplot(3,1,3);plot(output); %画降噪后的语音波形title(LMS算法降噪后的语音波形);3.3.4 语音信号频谱实现对于时域信号,我们往往难以找出其中蕴含的规律,仅从时域角度完成特征信号的提取、噪声信号的滤除和信号的分割不仅十分困难,有时甚至根本无法实现,这时如果从频域角度来看,问题就变得简单许多,首先将时域信号经傅里叶变换得到对应频域信号。傅里叶变换(binhun),即将满足一定(ydng)条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换(b

43、inhun)具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。对于离散信号,通常采用离散福利叶变换,为提高计算机的运算速度又衍生出快速离散傅里叶变换,接下来频谱信号的绘制即是直接调用MATLAB中指令fft先得到对应的频谱信号,再通过plot命令得到的。代码如下:%语音信号频谱仿真figure(2); %作图y1,fs,bits=wavread(LMSprimsp.wav); %生成主麦克风语音频谱Y1=fft(y1);subplot(1,3,1);plot(abs(Y1);title(麦克风主语音输入频谱); y2,fs,bits=wavread(LMSrefns.wav); %生成

44、模拟噪声语音频谱Y2=fft(y2);subplot(1,3,2);plot(abs(Y2);title(参考麦克风语音输入频谱);wavwrite(output,fs,LMS_output); %生成降噪后的语音频谱y,fs,bits=wavread(LMS_output.wav);Y=fft(y);subplot(1,3,3);plot(abs(Y);title(降噪后语音输出频谱);4. 仿真结果(ji gu)与分析4.1 降噪性能的仿真(fn zhn)与分析4.1.1 语音输出的仿真(fn zhn)与分析 (a) (b) (c) 图4-1 生成的语音音频文件图4-1(a)LMSprim

45、sp.wav是主麦克风录制的语音信号的文件。当播放该音频时,可听到掺有噪声的音乐。图4-1(b)LMSrefns.wav是参考麦克风录制的参考噪声的音频文件。当播放该音频时,可听到纯噪声声音。图4-1(c)LMS_out.wav是经过降噪处理后的音频文件。当播放该音频时,可听到经过LSM算法降噪后的音乐。4.1.2 语音(yyn)信号波形的仿真与分析图4-2 语音(yyn)信号降噪的仿真波形图从图4-2语音(yyn)信号降噪的仿真波形图中,可以看到通过对滤波前后主麦克风语音信号波形的分析可知,滤波前信号波形受噪声干扰严重,有用信号被噪声覆盖,几乎都是噪声;滤波后滤除了信号中的噪声分量,有用信号

46、被提取出来,起到了信号增强的目的。4.1.3 语音信号(xnho)频谱的仿真与分析图4-3 语音信号(xnho)降噪的频谱仿真图 从图4-3语音信号降噪的频谱仿真图中,通过对滤波前后主麦克风语音信号频谱的观察(gunch)分析可知,降噪后噪声频谱分量明显减弱,频谱分量较集中,对麦克风音频信号有明显改善。4.2 LMS算法收敛参数的仿真与分析自适应滤波过程,关键就是求解最佳权矢量W 的过程。由于语音信号是非平稳信号,但其具有短时平稳定性的特点,这就要求自适应算法在运算过程中,收敛速度快、权矢量W平滑过渡,系统稳定性好等特点。通常使用最小均方(LMS)算法来对W进行估计,但是要使得LMS 算法收敛

47、速度越快,其自适应步长取值就要越大,同时引起的失调也越大;反过来,取值越小,失调也越小,系统也越稳定,但是自适应收敛所需要的时间也大大增加。所以无论怎么取值都与语音信号的短时平稳性有着不可调和的矛盾。步长因子(ynz)决定着算法的收敛速度和达到稳态时失调量的大小(dxio)。对于设定为常数的来说,收敛速度和失调量是一对(y du)矛盾。经过多次仿真实验选定:LMS算法的最佳参数,。在本次课设中,我选取三个步长参数大小分别为:,其中,在最佳参数范围内,数值偏大,数值偏小。我将通过这三组数据仿真说明,步长(即收敛因子)对LMS算法的影响。4.1.1 语音输出的仿真与比较 (a) (b) (c) (

48、d) (e) 图4-4 生成的语音音频文件图4-4(a)LMSprimsp.wav是主麦克风录制的语音信号的文件。当播放该音频时,可听到掺有噪声的音乐。图4-4(b)LMSrefns.wav是参考麦克风录制的参考噪声的音频文件。当播放该音频时,可听到纯噪声声音。图4-4(c)LMS_m.wav是步长数值处于最佳参数范围(fnwi),经过LSM算法降噪后的音乐(ynyu),音乐悦耳,无噪声。图4-4(d)LMS_h.wav是步长数值(shz)偏大,经过LSM算法降噪后的音乐,音乐掺杂着明显的刺耳的噪声。图4-4(e)LMS_l.wav是步长数值偏大,经过LSM算法降噪后的音乐,音乐掺杂着均匀的沙

49、沙的噪声。4.1.2 语音信号波形仿真与比较图4-5 语音信号降噪的波形仿真图从图4-5语音信号降噪的仿真波形图中,可以看到当步长参数的大小改变时,LMS 算法的降噪效果不同。当步长参数处于最佳参数范围内时滤波后滤除了信号中的噪声分量,有用信号被提取出来,起到了信号增强的目的;当步长参数偏大时L,MS 算法收敛速度过快,波形失真很大。当步长参数偏小时LMS 算法收敛速度过慢,降噪效果不明显。4.1.3 语音信号频谱仿真(fn zhn)与比较图4-6 语音(yyn)信号降噪的频谱仿真图从图4-6语音信号(xnho)降噪的频谱仿真图中,可以看到当步长参数的大小改变时,LMS 算法的降噪效果不同。通

50、过对滤波前后主麦克风语音信号频谱的观察分析可知,当步长参数的大小改变时,当步长参数处于最佳参数范围内时,降噪后噪声频谱分量明显减弱,频谱分量较集中,对麦克风音频信号有明显改善;当步长参数偏大时,LMS 算法收敛速度过快,稳定性较差,频谱出现杂波分量。当步长参数偏小时LMS 算法收敛速度过慢,降噪效果不明显,频谱噪声分量依然存在。5. 设计及实现(shxin)过程中遇到的问题1.在本次课程设计中,本应该是由麦克风录入语音信号,但是由于电脑自带的麦克风和耳机(r j)麦克风录入的语音信号文件太大,MATLAB仿真软件处理起来(q li)很困难,运行很长时间才能出结果。因而,我决定我算选用的噪声信号

51、由MATLAB中随机函数randn产生的声音信号来模拟的,而语音信号则用网上下载的格式为wav的语音信号和randn函数产生的噪声混合的声音信号来模拟。2.开始时,导入音频文件进行仿真时,MATLAB程序编译,总是警告指数超过矩阵维度,后来经过检查后发现,我仿真需要的音频文件是一维数组型的,而我导入的是双声道音频文件,即二维数组型的。于是,我利用“格式工厂”软件将双声道音频文件转换成单声道音频文件,再导入到MATLAB中,程序就能编译成功了。3.起初,通过查阅资料后,发现语音信号的采样频率一般定为22050Hz。于是我将MATLAB程序中的语音信号的采样频率定为22050Hz,但是经过仿真后,

52、发现音频播放出来,音速明显变慢,降噪后的音频也有很大的失真。于是,我将语音信号的采样频率改为44100Hz,仿真结果就正常了,音速正常了,降噪后的音频音质很好。6. 心得体会拿到这个(zh ge)课程设计题目后,我开始到网上搜索相关内容,顺便(shbin)到学校图书馆借相关书籍,经过不断比较与讨论,对本次课程设计的要求和实现方法(fngf)有了一个大致的轮廓。本次MATLAB课程设计主要任务是完成基于LMS 算法的多麦克风降噪系统的设计,对我来说这个题目还是很有挑战性的,因为自己对LMS 算法的设计知识没有了解过,但正是这种有挑战性的题目才能提高自己的能力,才有研究价值,入手这个题目后我查阅了

53、相关的资料,也从网上获得了不少有关MATLAB设计基于LMS 算法的多麦克风降噪系统的资料,加上自己之间对MATLAB有一定的了解,因而设计思路渐渐明朗,经过自己的不断尝试和探索,终于弄明白了基于LMS 算法的多麦克风降噪系统的工作原理,通过查阅相关资料和研究MATLAB中提供的帮助信息,我也明白了基于LMS 算法的多麦克风降噪系统设计相关的一些函数的使用方法,并用它们来设计基于LMS 算法的多麦克风降噪系统,最终完成了题目。虽然本次设计出的基于LMS 算法的多麦克风降噪系统并不够完美,但我确实有一种成就感。通过这次课程设计,我加强了自己掌握和理解书本知识的能力,培养了自己的实际动手能力与综合

54、设计能力,并提高了自己的技术素质。基本达到了MATLAB课程设计的任务,明确了MATLAB的基本知识与应用;在对基于LMS 算法的多麦克风降噪系统的理论分析的过程中,我对数字信号处理的相关知识进行了复习,更深一个层次的掌握了数字信号处理的相关概念和使用技巧;同时掌握了MATLAB仿真设计的基本方法,学会了运用仿真软件,绘制相应的仿真波形图,对计算出的参数进行验证,反复推导,使参数更加符合要求。在这次的课程设计中,遇到(y do)问题,最好的办法就是问别人,因为每个人掌握情况不一样,不可能做到处处都懂,发挥群众的力量,复杂的事情就会变得很简单。学习的这段日子确实令我收益匪浅,不仅是巩固了先前学的

55、数字信号处理(xn ho ch l)的理论知识,而且(r qi)也培养了我的动手能力,更令我的创造性思维得到拓展。希望今后类似这样课程设计、类似这样的锻炼机会能更多些! 在此次课程设计中我们得到老师的指点,班上同学和各位学长的帮助,我才得以圆满地完成此次设计,在此对给予支持与关怀的人士表示衷心的感谢!参考文献1刘泉,阙大顺,郭志强. 数字信号处理原理与实现M.电子工业出版社,20092宋寿鹏. 数字滤波器设计及工程应用M.江苏大学出版社,20073葛哲学. 精通MATLAB.电子工业出版社M.电子工业出版社,20084胡广书. 数字信号处理理论、算法与实现M. 北京:清华大学出版社,20035

56、何振亚. 自适应信号处理M. 科学出版社,20026安颖,侯国强. 自适应滤波算法研究与DSP实现M. 现代电子技术,20077徐明远,刘增力. MATLAB仿真在信号处理中的应用M.西安:电子科技大学出版社,2007 8陈亚勇. MATLAB信号处理详解M.人民邮电出版社,20089周开利,邓春辉. MATLAB基础及其应用教程M.北京大学出版社,200710普埃克著. 方艳梅译数字信号处理(第四版)M.电子工业出版社,2007附录(fl)附录(fl)1 基于(jy)LMS 算法的多麦克风降噪程序%读取语音信号source=wavread(mm.wav); %读入原始的wav音频文件nois

57、e = 0.1*randn(length(source),1);source = source+noise;wavwrite(noise,44100,LMSrefns.wav) ; %输出模拟噪声文件wavwrite(source,44100,LMSprimsp.wav); %输出模拟主语音信号primary=wavread(LMSprimsp.wav)primary=primary; fref=wavread(LMSrefns.wav); %读入参考语音信号fref= fref;%基于LMS算法的自适应滤波器初始化Worder=32; %滤波器阶数u=0.001; %步长收敛因子w=zero

58、s(1,Worder); % 每一行代表一个加权参量,每一列代表-次迭代,初始为0output=primary; %主语音输出loopsize=max(size(primary); %迭代次数 for i=1+Worder:loopsize %写LMS算法公式 z=primary(i)-w*(fref(i-Worder+1:i); % 滤波器i个抽头的输入 n2=fref(i-Worder+1:i); % 第k次迭代的误差 w = w + 2*u*n2*z; % 滤波器权值计算的迭代式 output(i-Worder)=z; % 求最优时滤波器的输出(shch)序列end; %语音(yyn)信

59、号波形仿真figure(1); %作图subplot(3,1,1);plot(primary); %画主麦克风语音(yyn)波形title(麦克风输入语音波形);subplot(3,1,2);plot(fref); %画参考麦克风语音波形title(麦克风噪声的波形);subplot(3,1,3);plot(output); %画降噪后的语音波形title(LMS算法降噪后的语音波形); %语音信号频谱仿真figure(2); %作图y1,fs,bits=wavread(LMSprimsp.wav); %生成主麦克风语音频谱Y1=fft(y1);subplot(3,1,1);plot(abs(

60、Y1);title(麦克风主语音输入频谱);y2,fs,bits=wavread(LMSrefns.wav); %生成模拟噪声语音频谱Y2=fft(y2);subplot(3,1,2);plot(abs(Y2);title(参考麦克风语音输入频谱);wavwrite(output,fs,LMS_output); %生成降噪后的语音频谱y,fs,bits=wavread(LMS_output.wav);Y=fft(y);subplot(3,1,3);plot(abs(Y);title(降噪后语音输出频谱); %播放语音信号sound(y1,fs,bits); %播放(b fn)混有噪音的音频文件

温馨提示

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

评论

0/150

提交评论