基于LMS算法的多麦克风降噪_第1页
基于LMS算法的多麦克风降噪_第2页
基于LMS算法的多麦克风降噪_第3页
基于LMS算法的多麦克风降噪_第4页
基于LMS算法的多麦克风降噪_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

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

文档简介

1、课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目:基丁lmST法的多麦克风降噪初始条件:MATLA歌件数字信号处理基础知识要求完成的主要任务:给定主麦克风录制的受噪声污染的语音信号和参考麦克风录制的噪声,实现语音增强的目标,得到活晰的语音信号。(1) 阅读参考资料和又献,明晰算法的计算过程,理解LMSB法基本过程;LLT*=(2) 主麦克风录制的语音信号是LMSprimsp.wav,参考麦克风录制的参考噪声是LMSrefns.wav.用matlab指令读取;(3) 根据算法编写相应的MATLAB!序;(4) 算法仿真收敛以后,得到增强的语音信号;(5) 用matlab指令

2、回放增强后的语音信号;(6) 分别对增强前后的语音信号作频谱分析。指导教师签名:2012年月曰j系主任(或责任教师)签名:2012年月日摘要随着社会工业生产的不断进步,各种噪声污染越来越严重。目前普遍采用的模拟降噪方法已不能满足要求,未来的研究将朝着以数字信号处理器及相关算法为技术支撑的数字降噪技术发展。滤波器设计在数字信号处理中占有极其重要的地位,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。利用MATLA新号处理工具箱可以快速有效地设II"计各种数字滤波

3、器。在过去的几十年中,基丁多麦克风的噪声消除问题一直是人们关注的课题。而在众多算法中,基丁LMSU法更新滤波器权值的广义旁瓣消除器结构应用最为广泛。多麦克风降噪设计主要是通过自适应滤波器来实现的。文中采用LM龄法在MATLAB实现了自适应滤波器的设计与实现。在MATLAB建X.jr'-iI»-I立了数字降噪系统模型,并且针对该模型利用MATLAIM言进行编程,仿真结果表明此设计实现了对信号中混有的环境噪声进行降噪,并且效果远远高丁模拟降噪技术。关键词:MATLAB语音增强,LMSI法,多麦克风1Ijf'.L:_AbstractWiththesocialprogress

4、ofindustrialproduction,allkindsofnoisepollutionismoreandmoreserious.Thecurrentwidespreaduseofthesimulationofthenoisereductionmethodcannotmeettherequirementhas,andfurtherresearchwilltowardtodigitalsignalprocessorandrelatedalgorithmfortechnicalsupportdigitalnoisereductiontechnologydevelopment.Filterde

5、signindigitalsignalprocessingplaysanextremelyimportantrole,.Matlabispowerful,easytolearn,programmingefficiency,whichwaswelcomedbythemajorityofscientists.Matlabalsohasaparticularsignalanalysistoolbox,itneednothavestrongprogrammingskillscanbeeasilysignalanalysis,processinganddesign.UsingMATLABSignalPr

6、ocessingToolboxcanquicklyandefficientlydesignavarietyofdigitalfilters.Inthepastfewdecades,basedonthenoiseofthemicrophoneisalwaysthepeopletopayattentiontoeliminatethesubject.Andinnumerousalgorithm,LMSalgorithmbasedonthegeneralizedupdatefilterweightvalueside-lobeeliminatemostwidelyusedthestructure.Mor

7、enoisereductiondesignmainlythroughthemicrophonetorealizeadaptivefilter.ThisarticleapplyLMSalgorithminMATLABrealizeadaptivefilter,thedesignandimplementation.InMATLABestablisheddigitalnoisereductionsystemmodel,andthemodelforuseofMATLABlanguageprogramming,thesimulationresultsshowthatthedesignedtosignal

8、mixinsomeenvironmentalnoisenoisereduction,andtheeffectisfar%higherthananalognoisereductiontechnology.二."J11IIKeywords:MATLAB,Speechenhancement,LMSalgorithm,microphone目录摘要错误!未指定书签ABSTRACT错误!未指定书签目录错误!未指定书签2原始语音信号采集与处理错误!未指定书签2.1语音信号的采样理论依据错误!未指定书签2.1.1采样频率错误!未指定书签2.1.2采样位数错误!未指定书签2.1.3采样定理错误!未指定

9、书签2.2语音信号的采集错误!未指定书签2.3语音信号的时频分析错误!未指定书签2.4语音信号加噪与频谱分析错误!未指定书签3基丁LMS自适应滤波器的设计错误!未指定书签3.1基本LM龄法错误!未指定书签3.2自适应噪声抵消原理错误!未指定书签3.3基丁最小均方误差准则(LMS)的自适应噪声抵消.错误!未指定书签3.4LMS算法程序错误!未指定书签4滤波并比较滤波前后信号的波形及频谱错误!未指定书签4.1验证所设计的自适应滤波器错误!未指定书签4.2对主麦克风音频信号滤波错误!未指定书签4.2.1程序流程图错误!未指定书签4.2.2LMS自适应滤波错误!未指定书签4.3调试分析错误!未指定书签

10、心得体会错误!未指定书签参考文献错误!未指定书签附录:源程序错误!未指定书签1刖曰多麦克风降噪是降噪技术的一个重要应用。我国的降噪技术研究始丁80年代初期,采用的手段主要有三种,其中的动态降噪技术(DNR)乂可以分为模拟动态降噪技术和数字动态降噪技术。目前国内外解决噪声问题最普遍的方法是采用模拟动态降噪技术,数字降噪技术的研究尚处丁初期阶段。数字降噪技术比模拟降噪技术具有更大的优点。模拟降噪技术全采用硬件实施,修改和调试十分困难,对元器件参数的变化也很敏感,技术指标受元器件的误差影响较大,降噪效果不稳定,不利丁产品的批量生产。而数字降噪技术由丁采用计算机技术实现自适应滤波,通过修改软件算法就可

11、以达到不同的降噪效果,不用更改硬件结构,调试和维修都非常方便;数字降噪技术采用自适应滤波技术,可以实时跟踪噪声的变.-!I.I化进一步进行处理,因此降噪效果较好。另外,数字降噪技术抗干扰能力强,本身具有自恢复能力,并且在整个音频带内降噪比较均衡,而模拟降噪技术偏重丁低频段,高频段效果较差。因此降噪技术未来的发展方向是数字降噪技术,以数字信号处理(DSP)及其相关算法为技术支撑的数字降噪技术代表着当今降噪技术的发展。目前市场上的麦克风降噪产品主要是模拟降噪,因此数字降噪的设计在国内届丁领先技术。多麦克风数字降噪的系统原理是通过麦克风装置直接检测出噪声信号和音频信号的混合信号,然后将混合信号通过D

12、SP数字降噪模块进行噪声分离并产生降噪信号来抵消噪声,因此人耳就可以只听到较纯净的音频信号而不受环境噪声的干扰。本文采用最小均方误差(LMS)算法,实现了数字降噪DSP中消除噪声的模块自适应滤波器的设计,介绍了其在MATLAB中编程及仿真输出,并通过程序实现了设计。2原始语音信号采集与处理2.1语音信号的采样理论依据2.1.1采样频率采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据奎斯特理论,只

13、有采样频率高丁声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。-II2.1.2采样位数采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。1I采样位数和采样率对丁音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当丁力度范围增加了6dB。采样位数越多则捕捉到

14、的信号越精确。对丁采样率来说你可以想象它类似丁一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机摄取的图片越多,对丁原始音频的还原也越加精确。2.1.3采样定理在进行模拟/数字信号的转换过程中,当采样频率fsmax大丁信号最高频率fmax的2倍时,即:fsmax>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍,采样定理乂称奈奎斯特定理。1924年奈奎斯特(Nyquist)就推导出:在理想低通信道的最大码元传输速率=2W*log2N(其中W是理想低通信道的带宽,N

15、是电平强度)。2.2语音信号的采集利用PC机上的声卡和WINDOWS操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话语首信号处理”说完后停止录首,屏幕左侧将显小所录声首的长度。点击放首按钮,可以实现所录音的重现。以文件名OriSound”保存入c:MATLABwork中。可以看到,文件存储器的后缀默认为.wav,这是WINDOWS操作系统规定的声音文I'件存的标准。1ILi*Jpl,1,12.3语音信号的时频分析在MATLAB软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数,Wavread函数调用格式

16、:y=wavread(file)%读取file所规定的wav文件,返回采样值放在向量y中y,fs,bits=wavread(file)%采样值放在向量y中,fs表示采样频率(hz),bits表1I示采样位数y=wavread(file,N)%读取前N点的采样值放在向量y中y=wavread(file,N1,N2)%读取从N1到N2点的采样值放在向量y中对语音信号OriSound.wav进行采样其程序如下:y,fs,nbits=wavread('OriSouS#信)口载入MATLAB仿真软件平台中画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT

17、计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)(式2-3-1)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大丁xn的长度时,fft函数自动在xn后面补零。,当N小丁xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。程序如下:y,fs,nbits=wavread('OriSound语);号的采集sound(y,fs,nbits);%语音信号的播放n=length(y);Y=fft(y,n);%快速傅里叶变换figure;subplot(2,1,1);plot

18、(y);title(原始信号波形,fontweight','bold'】);axis(7800080000-11);grid;一-.气m1isubplot(2,1,2);plot(abs(Y);title(原始信号频谱','fontweight','bold');axis(015000004000);grid;程序结果如下图:4x10个是WGN,另一个是AWGN。WGN信高斯白噪声,AWGN则用丁在某4000r直接用randn函*攵产生高斯分布序列一信号啪加,k高斯白噪声。也可殳计中,我们是利巾MATIAB中的随机函数(rand或

19、randn)产生噪声中,模仿语音倡基本调用格目,号被污染,并对其的谱分析。Randn函数有两种Randn(n河Randn(m,n)面者nw服从标准布斯分布的随x10机数矩阵,后者产生亦n的随机数矩阵。在这里,我们选用Randn(m,n)函数语音信号添加噪声及其频谱分析的主要程序如下:y,fs,nbits=wavread('OriSound');sound(y,fs,nbits);n=length(y);Noise=0.2*randn(n,2);s=y+Noise;sound(s);figure;subplot(2,1,1);plot(s);title('加噪语音信号的时

20、域波形','fontweight','bold');axis(7800080000-11);grid;S=fft(s);subplot(2,1,2);plot(abs(S);title('加噪语音信号的频域波形','fontweight','bold');axis(015000004000);grid;程序结果如下图:图2-3信号加噪时域波形图与频谱图3基于LMS自适应滤波器的设计在实际应用中,常常无法得到信号和噪声统计特性的先验知识。在这种情况下,自适应滤波技术能够获得极佳的滤波性能,因而具有很好的应用价

21、值。常用的自适应滤波技术有:最小均方(LMS)自适应滤波器、递推最小二乘(RLS)滤波器、格型滤波器和无限冲激响应(IIR)滤波器等。这些自适应滤波技术的应用乂包括:自适应噪声抵消、自适应谱线增强和陷波等。LMS自适应滤波器是使滤波器的输出信号与期望响应之间的误差的均方值'7j|1'为最小,因此称为最小均方(LMS)自适应滤波器。刀/z('finI-;.3.1基本LMS算法构成自适应数字滤波器的基本部件是自适应线性组合器,如图3-1的所示。-1设线性组合器的M个输入为x(k-1),x(k-M),其输出y(k)是这些输入加权后的线性组合,即y(k)=£Wix(k

22、-i)(式3-1-1)i:01I图3-1自适应线性组合器定义权向量,W=W1,W2,W3,WmT,且X(k)=X(k-1)T,-,X(k-M)T)T(式3-1-2)在图3-1中,令d(k)代表所期望的响应”,并定义误差信号£(k)=d(k)y(k)=d(k)-£WiX(k-i)(式3-1-3)i=fi式(3-1-3)写成向量形式£(k)=d(k)WTX(k)=d(k)-XT(k)W(式3-1-4)误差平方为£2(k)=d2(k)-2d(k)XT(k)W+WTX(k)XT(k)W上式两边取数学期望后,得均方误差E(£2(k)=E(d2(k)-2E

23、d(k)XT(k)W+WTEX(k)XT(k)W(式3-1-5)定义互相关函数行向量RTd:RL=Ed(k)XT(k)(式3-1-6)和自相关函数矩阵Rxx=EX«)XT(k)(式3-1-7)则均方误差(3-1-5)式可表述为E£2(k)=Ed2(k)-2RLW+WTRxxW(式3-1-8)这表明,均方误差是权系数向量W的二次函数,它是一个中间向上凹的抛物形;Jr-g"II暨八'.曲面,是具有唯一最小值的函数。调节权系数使均方误差为最小,相当于沿抛物形曲面下降找最小值。可以用梯度来求该最小值。将式(3-1-8)对权系数W求导数,得到均方误差函数的梯度V(k

24、)=-2RXd+2RxxW(式3-1-9)4<I8令宁(k)=0,即可求出最佳权系数向量Wopt=RxXRxd(式3-1-10)它恰好是研究Wiener滤波器遇到过的Wiener-Hopf方程。因此,最佳权系数向量通常也叫作Wiener权系数向量。将Wopt代入式(3-1-8)得最小均方误差Ee2(k)min=Ed2(k)-RZWopt(式3-1-11)利用式(3-1-10)求最佳权系数向量的精确解需要知道Rxx和Rxd的先验统计知识,而且还需要进行矩阵求逆等运算。WidrowandHoff(1960)提出了一种在这些先验统计知识未知时求Wopt的近似值的方法,习惯上称为Widrowan

25、dHoffLMS算法。这种算法的根据是最优化方法中的最速下降法。根据最速下降法,“下一时刻”权系数向量W(k+1)应该等丁“现时刻”权系数向量W(k)加上一个负均方误差梯度?V(k)的比例项,即W(k+1)=W(k)-/(k)(式3-1-12)式中,H是一个控制收敛速度与稳定性的常数,称之为收敛因子。不难看出,LMS算法有两个关键:梯度V(k)的计算以及收敛因子展勺选择。(一)V(k)的近似计算精确计算梯度)是十分困难的,一种粗略的但是却十分有效的计算«)的近似方法是:直接取£2(k)作为均方误差E(£2(k)的估计值,即A'、(k)=:(k)=2

26、3;(k)£(k)(式3-1-13)得到梯度估值A(k)=-2&(k)X(k)丁是,WidrowHHoffLMS算法最终为W(k+1)=W(k)+2£(k)X(3-1-14)式(3-1-14)的实现方框图如图3-2所示图3-2LMS算法的实现方框图AA下面分析梯度估值V(k)的无偏性。V(k)的数学期望为1-r-"|.E卓)=E-2X(切0)J./;r=-2E邮)")-官(泸传)二一避也一时)I=V(上)(式3-1-15)在上面的推导过程中,利用了d(k)和&(S者皆为标量的事实。在得到最后的结果时,利用了式(3-1-9)。式(3-1-1

27、5)表明,梯度估值V(k)是无偏估(二)展勺选择对权系数向量更新公式(3-1-14)两边取数学期望,得EW(k+1)=E(W(k)+2E(£(k)X(k)=(I-2Rxx)EW(k)+2小Rxd(式3-1-16)式中,I为单位矩阵,Rxd=Ed(k)X(k)和Rxx=EX(k)XT(k)。当时,k=0时,EW(1)=(I-2Rxx)EW(0)+2小L对丁k=1,利用上式结果,则有EW(2)=(I-2VRxx)EW(1)+2小L(I-2丁xx)2EW(0)+2Q(I-2Mxx)Rxdi:0起始时,EW(0)=W(0)故重复以上迭代至k+1,则有EW(k+1)=(I-2Mxx)k*W(0

28、)+2屹(I-2xx)iRxd(式3-1-17)i£由丁Rxx是实值的对称阵,我们可以写出其特征值分解式Rxx=CQT=CQ口(式3-1-18)这里,我们利用了正定阵Q的性质Qt=Q,且Z的ag(妃扁)是对角阵,其对角元素入是Rxx的特征值。将式(3-1-18)代入式(3-1-19)后得kEW(k+1)=(I-2卜Q2ffT*W+血Z(I-2卜Q2f1)Rxd(式3-1-19)iA注意到以下包等式及关系式:(1)(I-2pQlQJL)i=Q(I-2小)iQ-1klimk.(3)假定所有的对角元素的值均小丁1(这可以通过适当选择p实现),则limk.(I-2p节/=0Z(I-2pQ!Q

29、J1)iQ(2MF1Q(4)Rxx淄AQA将上式代入式(8-1-19),结果有EW(k+1)=Q2直QRxd=RxxRxd=Wopt(式3-1-20)由此可见,当迭代次数无限增加时,权系数向量的数学期望值可收敛至Wiener1I解,其条件是对角阵(I-2p观所有对角元素均小丁1,即0耻1(式3-1-21)max其中入ma艰Rxx的最大特征值。H称为收敛因子,它决定达到式(3-1-20)的速率。事实上,W(k)收敛丁Wopt由比值d=2imax/入mi决定,该比值叫做谱动态范围。大的d值喻示要花费很长的时间才会收敛到最佳权值。克服这一困难的方法之一是产生正交数据。基本LMS自适应算法如下:初始化

30、:W(0)=0;R(0)=I;选择体0<pv'maxFork=1tonfinaldo:W(k)=W(k-1)+2卜xk)-WT(k-1)X(k)X(k)LMS自适应滤波器如图3-3所示:图3-3LMS自适应滤波器3.2自适应噪声抵消原理自适应噪声抵消的目的是要去除主信号中的背景噪声。主信号由有用信号和背景噪声组成,而背景噪声与参考信号中的噪声相关。因此,自适应噪声抵消技术主要依赖丁从主信号和噪声中获取参考信号。Widrow和Hoff发展了最小均方误差(LMS)自适应算法和称为自适应线性阈值逻辑单元(ADALINE)的模式识别方法。1965年,基于最小均方误差准则(LMS)的自适应

31、噪声抵消首次得以实现,随后,自适应噪声抵消在信号处理、地震和生物医学领域均获得成功应用。基丁维纳理论的自适应噪声抵消需要无限加权滤波器,以极小化输出误差。为了实现维纳滤波方案,必须使用有限加权滤波器。换句话说,自适应滤波器必须假定维纳滤波器是一个有限冲激响应(FIR)滤波器。图3-4自适应噪声抵消原理方框图如图3-4(a)所示是基丁维纳滤波器的自适应噪声抵消原理方框图。主信号由有用信号x(n)和背景噪声v(n)构成,其中s(n)和v(n)不相关。参考信号r(n)可与s(n)AA或v(n)相关。v(n)是背景噪声的最佳估计。v(n)可以通过选择最佳FIR维纳滤波器的最佳加权w(n)计算得出,即v

32、(n)=Wm(n)r(n-m)0<术顺3-2-1)i=0其中,M表示滤波器的阶;r(n-m)由延时获得。具有M个权重滤波器的估计误差e(n)由下式定义:Ae(n)=x(n)-v(n)=x(n)-wT(n)r(n)(式3-2-2)由正交原理有,e(n)和r(n)正交。对式(39-2)两边取平方和数学期望,可得Ee(n)2=Ex(n)2-2PTw+wTRw(式3-2-3)其中,输入信号s(n)和参考欠量r(n)之间的互相关用P表示,即P=Ex(n)r(n)T(式8-2-4)R表示输入自相关矩阵,即R=r(n)r(n)T(式3-2-5)令均方估计误差函数的梯度等丁0,可得最佳FIR滤波器(维纳

33、滤波器)权重如下,W=RP(式3-2-6)实际上,通常P和R的统计量是未知的。然而,用Widrow和Hoff提出的方法迭代求解式(3-2-6)能够克服这一限制。如果参考信号和主信号中的噪声"二*5I)W相关,则自适应滤波器将在输出端去除其相关性,具体方法是:从参考信道的噪八声中产生一个主信道中背景噪声的估计值v(n),然后从主信道中减去这个估计噪AA声v(n),那么自适应滤波器的输出就是有用信号的估计s(n)0用最速下降法(或梯度下降法)可得到式(3-2-6)的解。自适应滤波器的加权值W被更新的第(n+1)步迭代式为:;(w(n)、w(n+1)=w(n)+w(n)=w(n)-H(式3

34、-2-7):w3.3基于最小均方误差准则(LMS)的自适应噪声抵消如果没有关丁参考信号向量P和输入自相关矩阵R的先验信息,要实现最优滤波器加权是不可能的。因此,Widrow和Hoff提出了另一种可迭代的维纳FIR滤波实现方法。在这种方法中,滤波器的权重可被更新为:也(n+1)=w(n)+2e(n)(n)(式3-3-1)综上所述,基丁最小均方误差准则(LMS)的自适应噪声抵消算法可按以下步骤实现:第一步:设一个初值;wm(0);A第二步:计算自适应FIR滤波器的输出v(n),AMv(n)=£wm(n)r(n-m)(式3-3-2)i=0其中,M表示滤波器的阶。第三步:估计当前时刻n的误差

35、e(n),e(n)=x(n)-v(n)书(n)(式3-3-3)第四步:用最速下降LMS算法更新滤波器权重:wm(n):wm(n+1)=wm(n)+211e(n)r-m)。壬m壬M(式3-3-4)第五步:校验误差是否满足标准。若满足,则停止迭代,否则进行下一步;第六步:nn+1,到下一个时刻,重复以上步骤,直至满足要求为止。收敛参数H必须是正数,并且满足:0<<!(式3-3-5)RIv*,*1L0<-(式3-3-6)-'maxLI1其中,入ma欢示自相关矩阵R的最大特征值。然而,在实际应用中,R的具体值是不知道的,参数H的值也需要试探性地选择。若9取值小,能保证收敛,但

36、需要注意的是,如果取得过小,收敛速度将非常慢;相反,若V取值大,可以提高收敛速度,却是以噪声收敛为代价的。如果参考输入信号r(n)是频率为3。的正弦信号,自适应滤波器将从主信号中滤除所有的频率为3。的正弦成分。基丁最小均方误差准则(LMS)的自适应噪1I声抵消算法的程序见下节。3.4LMS算法程序functionyn,W,en=LMS(xn,dn,M,mu,itr)%LMS(LeastMeanSqure炉法%输入参数:%xn输入的信号序列(列向量)%dn所期望的响应序歹U(歹0向量)%M滤波器的阶数(标量)%mu收敛因子(步长)(标量)要求大丁0,小于xn的相关矩阵最大特征值的倒数%itr迭代

37、次数(标量)默认为xn的长度,M<itr<length(xn)%输出参数:%W滤波器的权值矩阵(矩阵)大小为Mxitr,%en误差序歹U(itrx1)(歹0向量)%yn实际输出序歹U(歹0向量)%参数个数必须为4个或5个ifnargin=4%4个时递归迭代的次数为xn的长度itr=length(xn);elseifnargin=5%5个H寸满足M<itr<length(xn)、二rifitr>length(xn)|itr<M叮r厂;''|Jerror('迭代次数过大或过小!');endelseerror('请检查输入参

38、数的个数!');end%初始化参数en=zeros(itr,1);%误差序列,en(k)表示第k次迭代时预期输出与实际输入的误差W=zeros(M,itr);%每一行代表一个加权参量,每一列代表-次迭代,初始为0%迭代计算fork=M:itr%第k次迭代x=xn(k:-1:k-M+1);%滤波器M个抽头的输入y=W(:,k-1).'*x;%滤波器的输出en(k)=dn(k)-y;%第k次迭代的误差%滤波器权值计算的迭代式W(:,k)=W(:,k-1)+2*mu*en(k)*x;end%求最优时滤波器的输出序列yn=inf*ones(size(xn);fork=M:length(

39、xn)x=xn(k:-1:k-M+1);yn(k)=W(:,end).'*x;end4滤波并比较滤波前后信号的波形及频谱4.1验证所设计的自适应滤波器为了验证滤波器的可使用性,我们用常用的sin函数来进行验证。其具体程序及运行结果如下:调用LMST法:%functionmain()广疗L"y:closeall%周期信号的产生Ll;Ft=0:99;xs=10*sin(0.5*t);K/F户tfigure;subplot(2,1,1);plot(t,xs);grid;ylabel('幅值');title('it输入周期性信号');%噪声信号的产生r

40、andn('state',sum(100*clock);xn=randn(1,100);subplot(2,1,2);plot(t,xn);grid;ylabel('幅值');xlabel('时间');title('it随机噪声信号');%信号滤波xn=xs+xn;xn=xn.'%输入信号序歹0dn=xs.'%预期结果序歹UM=20;%滤波器的阶数rho_max=max(eig(xn*xn.');%输入信号相关矩阵的最大特征值mu=rand()*(1/rho_max);%收敛因子0<mu<1/r

41、hoyn,W,en=LMS(xn,dn,M,mu);%绘制滤波器输入信号figure;subplot(2,1,1);plot(t,xn);grid;ylabel('幅值');xlabel('时间');title('it滤波器输入信号');%绘制自适应滤波器输出信号石?f<1subplot(2,1,2);plot(t,yn);grid;ylabel('幅值');xlabel('时间');title('it自适应滤波器输出信号');%绘制自适应滤波器输出信号,预期输出信号和两者的误差figurep

42、lot(t,yn,'b',t,dn,'g',t,dn-yn,'r');grid;legend('自适应滤波器输出','预期输出','误差');ylabel('幅值');xlabel('时间');title('it自适应滤波器');运行结果图4-1验证自适应滤波器可行性结果由所得结果可知,所设计的滤波器符合要求。4.2对主麦克风音频信号滤波4.2.2LMS白适应滤波用wavread读取主麦克风录制的受噪声干扰的语音信号,并进行采样,建立数据文件讪!己嘤刑

43、m哪棚语音信号进行滤波,主麦克风录制的带噪声的语音信号为LMSprimsp.wav,参考麦克风录制的噪声语音信号为LMSrefnswwavread读取参考麦克风录制的噪声信号,1)主麦克凰酬I解#语音信号的读取并用plot画出时域波形primary,fs,nbits=wavread('LMSprimsp.wav');sound(p2)绘制主麦克风录制的语音信号波形及倾谱n=length(prim咐语音信号得出所设计滤波器在语音处理中的优劣P=fft(prinfigure;subplot(2,1,1);plot(primary);结束ylabel('幅值');xl

44、abel('时问');title('主麦克风录制的受噪声污染的语音信号','fontweight','bold');grid;subplot(2,1,2);plot(abs(P);title('主麦克风语音信号频谱,'fontweight','bold');grid;运行结果:主麦克风语音信号波形-13) 参考麦克风录制的噪声信号的读取,并绘制其波形及频谱fre仁wavread('LMSrefns.wav');n=length(fref);F=fft(fref,n);figu

45、re;subplot(2,1,1);plot(fref);grid;ylabel('幅值');xlabel('时间');title('参考麦克风录制的噪声信号','fontweight','bold');门subplot(2,1,2);plot(abs(F);title('噪声信号频谱','fontweight','bold');q:飞/'Iagrid;运行结果:参考麦克风录制的噪声信号x10图4-4参考麦克风录制的噪声信号4)调用LMS自适应滤波函数对主麦克

46、风录制的语音信号进行滤波,得到增强后的语音信号xs=primary-fref;xn=primary.'%输入信号序歹0dn=xs.'%预期结果序歹UM=20;%滤波器阶数rho_max=max(eig(xn*xn.');%输入信号相关矩阵的最大特征值mu=rand()*(1/rho_max);%收敛因子0<mu<1/rhoyn,W,en=LMS(xn,dn,M,mu);5) 算法仿真收敛后,得到增强的语音信号,绘制滤波增强后的语音信号,:-.Ir-figure;subplot(2,1,1);plot(primary);axis(1length(primary

47、)min(primary)max(primary);title('输入主麦克风彳号');'飞1/Isubplot(2,1,2);plot(t,yn);grid;ylabel('幅值');xlabel('时间');title('LMS自适应滤波器输出信号');输入主麦克风信号6)舟别%绘俪n=leng4x10运行结果:P=fft(primary5n);%1快速耨里日段换2.533.544.55figure;lms自适应滤波器输出信号1一subplot(2,1,1);0.5plot(abtitle(.眦前语音信号频谱'

48、,'fontweight','bold');grid;-1t11>-0.511.522.533.544.554x10%绘制滤波增强后信号频谱n=length(yn);Y=fft(yn,n);figuresubplot(2,1,2);plot(abs(Y);grid;运行结果title('LMS自适应滤波后信号频谱','fontweight','bold');滤波前语音信号频谱300图4-6漉波督强前后信7)2四就增强后的吾迎信lJiI?|wav00la、.wav文件wavw?!?心得体会本次课程设计通过给定主

49、麦克风录制的受噪声污染的语音信号和参考麦克风录制的噪声,实现语音增强的目标,得到活晰的语音信号。运用数字信号处理理论,基丁LMST法设计自适应滤波器,并对被噪声污染的语音信号进行滤波,分析滤波前后信号的时域和频域特征,回放语音信号。这次课设对我来说有一定的难度,之前学习过数字信号处理的基础知识,会一些基本的MATLA曲句,但仅仅凭借这些知识无法完成本次课设的要求任务。我首先上网搜集资料,去图书馆借阅有关语音信号处理方面的书籍,查阅LMS算法,自适应滤波器的原理等。通过阅读参考资料和文献,明晰算法的计算过程,!I理解LMS算法基本过程和自适应滤波器的设计原理及方法。然后阅读了基丁MATLAB勺语

50、音信号处理方面的书籍,查阅了常用的语音信号处理函数的格式,如:语音信号读取wavread函数,语音回放wavplay函数,声音回放sound函数,生成语音信号wavwrite函数等。在打下了这些基础后,我乂开始查阅基丁LMS算法设计自适应滤波器的MATLAB?序,编写程序代码,并进行调试。在这次课程设计过程中,我遇到了不少困难,首先是LMST法复杂、难懂,很多的公式难以理解;其次是用MATLA酮程实现LMS自适应滤波,有些程序语句不会写也看不懂。但这些都通过我的努力,通过查阅资料,请教同学一点一点的解决了。最终圆满的完成了这次课程设计,也较好的完成了对主麦克风录制的受噪声干扰的语音信号的降噪处理,实现了预期的滤波效果。这次课程设计还使我懂得了仅仅在课堂上学好基础知识是远远不够的,还要通过课外多阅读有关书籍,来增加自己的知识量。课堂上老师教的知识是很有限的,课外学习很重要,要充分利用图书馆和互联网上的资源,多请教同学老师,和他人交流,使自己学到更多的知识,提高自己的学习能力和独立思考的能力。总的来说,这次课程设计还是比较成功的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加活楚的认识,同时,对未来有了更多的信心。参考文献1 杨行峻.语音信号数字处理M.电子工业出版社,19952 马超,?高世伦.基丁MATLAIB勺噪声信号采集与分析系统研

温馨提示

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

评论

0/150

提交评论