基于自适应语音增强的算法研究与MATLAB仿真

更新时间:2023-07-25 12:11:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

只适应滤波算法

本科毕业设计论文

题 目 增强算法研究及Matlab实现

专业名称 电子信息科学与技术

学生姓名 朱盛领

指导教师

毕业时间 2014-07

只适应滤波算法

毕业设计

一、题目

基于自适应语音信号增强算法研究与Matlab仿真

二、指导思想和目的要求

本论文主要阐述了基于自适应滤波器实现语音增强的基本原理,研究了最小二乘法(LMS算法),完成了基于LMS算法的自适应滤波器对语音增强的设计,在设计过程中,对信号的降噪处理进行了分析讨论。利用Matlab仿真软件实现了LMS自适应滤波算法,并从仿真结果得知步长因子是自适应滤波器中很重要的参数,以及滤波器的阶数和采样数等,都对自适应滤波器降噪以及收敛性能有影响。

三、主要技术指标

自适应步长 的值: 从公式0 max可以看出,收敛性能对收敛参数 的选取很敏感,不同的 值使收敛的速度不同,“ 值太小, 迭代次数太多,收敛速度变慢; 值太大收敛性能曲线又不稳定”。所以选取合适的 值对收敛性能至关重要。

四、进度和要求

05周-06周: 广泛查阅资料,确定论文的总体设计方案。

07周-10周: 学习自适应语音信号增强的基本原理并进行研究,掌握LMS算法,谱减法的知识,学习Matlab仿真软件,DSP相关知识。

11周-12周: 对研究的内容进行详细分析,制定阶段性目标并进行设计。 13周-14周: 撰写论文的全部正文部分,并修缮论文的结果与分析、结束语、参考文献、致谢及毕业设计小结等。

15周: 整理文档资料,装订论文,准备论文答辩。

只适应滤波算法

五、主要参考书及参考资料

[1]Sambur M.Adaptive noise cancelling for speech signalS.IEEE Transactions on Acoustics, Speech and Signal Processing,1978,26(5):419—43

[2]B Widrow,S D Stearns千永德、龙宪惠译,自适应信号处理,成都四川大学出版社,1989.

[3]T w Parsons,文成义、常国岑、王化周等译,语音处理,北京国防工业出版社,1990.

[4]姚天任,数字语音处理,武汉华中科技大学出版社,1992.

[5]邹国良,自适应滤波理论及应用[M],河北大学出版社,1997.

[6]胡广传,数字信号处理理论、算法与实现,北京清华大学出版社,1997.

[7]葛良、陶智,基于自适应滤波的语音增强算法.江苏:苏州大学学报,2002.

[8]何振亚,自适应信号处理[M],北京科学出版社,2002.

[9]何振亚.等,自适应信号处理,科学出版社,2002.4.

[10]袁俊泉,MATLAB信号处理.清华大学出版社,2002.5.

[11]赵力,语音信号处理,北京机械工业出版社,2003.

[12]丁玉美、高西全.,数字信号处理,西安电子科技大学出版社,2003.

[13]Simon Haykin,自适应滤波器原理,电子工业出版社,2003.7.

[14]韩利竹,王华.MATLAB电子仿真与应用.北京国防工业出版社,2003.

[15]龚耀寰,自适应滤波器-时域自适应滤波和智能天线,电子工业出版社,2003.7.

学生 ___________ 指导教师 ___________ 系主任 ___________

只适应滤波算法

目 录

摘 要................................................................................................................................................ II ABSTRACT .................................................................................................................................... III 前 言 ............................................................................................................................................... V

第一章 绪 论................................................................................................................................... 1

1.1语音增强的应用背景 .................................................................................................................... 1

1.2语音增强的研究历史 .................................................................................................................... 2

1.3本课题的研究内容 ........................................................................................................................ 2

第二章 语音增强的基础知识 ......................................................................................................... 3

2.1 语音和人耳的感知特性 ............................................................................................................ 3 2. 2 噪声特性 ...................................................................................................................................... 4

第三章 语音增强算法研究及MATLAB实现 ............................................................................. 9 3. 1MATLAB仿真软件介绍 .............................................................................................................. 9

3.2基于LMS的自适应算法及MATLAB仿真 ......................................................................... 11

3.3经典语音增强减谱算法及MATLAB实现 ............................................................................ 22

3.4改进形式的语音增强减谱算法及MATLAB仿真 ................................................................... 25

3.5基于噪声残差的语音增强减谱算法及MATLAB仿真 ........................................................... 28

3.6小结与进一步改进思想 .............................................................................................................. 31

第四章 基于DSP的语音增强算法系统的实现 ....................................................................... 33

4.1 DSP概述 ..................................................................................................................................... 33

4.2CCS(CODE COMPOSER STUDIO)DSP集成开发环境............................................................ 34

4.3语音增强算法在CCS环境下的实现 ........................................................................................ 35

4.4语音增强算法在硬件平台上的实现 .......................................................................................... 36

4.5系统的软件设计 .......................................................................................................................... 37

第五章 结论和展望....................................................................................................................... 38

5.1总结 .............................................................................................................................................. 38

5.2展望 .............................................................................................................................................. 40

致谢................................................................................................................................................. 43

参考文献......................................................................................................................................... 44

摘 要

语音总会受到外界噪声不同程度的干扰和影响,噪声不但降低了语音质量和可懂度,而且还将导致语音处理系统性能的急剧恶化。语音增强技术可以用来抑

只适应滤波算法

制噪声,提高抗噪声能力和输入信号的信噪比,改善语音质量、可懂度和系统的性能,并作为预处理或前端处理模块存在于语音处理系统中。

本论文首先从语音特性、噪声特性、人耳的感知特性以及语音信号分析得方法入手,重点研究了基于自适应滤波法及谱减法的增强算法并在MATLAB环境下对其进行了仿真,验证了谱减法在语音增强方面的有效性和可行性。

DSP(数字信号处理器)作为专用的数字信号处理芯片,具有在单机器周期内完成乘加运算、单机器周期内多次访问存储器以及丰富的片上外设等特点。采用DSP进行语音信号处理代表未来语音信号处理的发展方向,在这种情况下,本文在研究谱减法的基础上,对算法进行了分析和实现,实现了基于DSP的语音信号采集与处理系统。

关键词:噪声,语音增强,自适应滤波法,LMS算法,谱减法,DSP

ABSTRACT

只适应滤波算法

Speech is inevitably interfered by noise. The noise not only degrades the quality and the intelligibility of speech, but also worsens the capability of the system. As speech enhancement technology can be used to reduce the noise, Improve anti-noise ability and the signal-to-noise ratio of the input signal , the input Signal-to-Noise Ratio of the speech processing system and improving the quality and intelligibility of speech, speech enhancement technology is usually used as the pre-processing module in the speech processing system.

This paper first from speech characteristics, noise characteristics, the perception of the human ear characteristics and method of speech signal analysis, Focus on the based on the spectral subtraction enhancement algorithm and in the MATLAB environment of the simulation, Verify the spectral subtraction speech enhancement in the effectiveness and feasibility.

DSP as special digital signal processor, has some unique features, such as Single-cycle multiply and accumulate (MAC),multiple accessing memories in single cycle,a wide variety of on-chip peripherals. These features lead DSP applied widely in digital speech processing field. This paper studies the traditional Spectral Subtraction and improves it to reduce “music noise”. Then based on these theories, a practical speech enhancement processing system on DSP is designed and implemented.

KEY WORDS: noise, speech enhancement, Adaptive filtering method, LMS

Algorithm, Spectral Subtraction, DSP

只适应滤波算法

前 言

人们在语音通信过程中不可避免的会受到来自周围环境和传输媒介引入的噪声、通信设备内部电噪声、乃至其他讲话者的干扰。这些干扰使接收者收到的语音为受噪声污染的带噪语音信号。

语音增强的一个主要目标就是从带噪语音信号中提取尽可能纯净的原始语音。然而,由于干扰通常都是随机的,从带有噪声的语音信号中提取完全纯净的语音几乎不可能。在此情况下,语音增强的主要目的就是通过对带有噪声的语音信号进行处理,以消除背景噪声,改善语音质量,提高语音的清晰度、可懂度和舒适度,提高语音处理系统的性能。这些目的往往不能兼得,通常要根据语音处理系统的具体情况而定。语音增强不但与语音信号处理理论有关,而且涉及到人的听觉感知和语音学。

目前应用的语音增强方法大体上分为四类:自适应噪声抵消法、谐波增强法、基于参数估计的语音再合成法和基于语音短时谱估计增强算法。其中,基于自适应滤波器的自适应噪声抵消法对含噪语音的增强效果最好。因为这种方法比其也方法多用了一个参考噪声作为辅助输入,从而获得了比较全面的关于噪声的信息,从而无论在信噪比方面还是在语音可懂度方面都能获得较大的提高。

自适应滤波器最重要的特性是能有效地在未知环境中跟踪时变的输入信号,使输出信号达到最优,因此可以用来构成自适应的噪声消除器。然而,根据不同的优化准则,产生了形色各异的自适应算法,由Widrow和Hoff提出的LMS算法是自适应算法的主题,在噪声消除领域处于统治地位。这主要取决于LMS算法具有结构简单,性能稳定,计算复杂度低,易于硬件实现的特性,适用于需要自适应滤波的多种场合。

只适应滤波算法

第一章 绪 论

1.1语音增强的应用背景

语音增强技术是指当语音信号被各种各样的噪声(包括语音)干扰、甚至淹没后,从噪声背景中提取、增强有用的语音信号,抑制、降低噪声干扰的技术。语音增强技术无论在日常生活中,还是在其它的领域,或者对语音信号处理技术本身来说都很有应用价值。

在日常生活中,我们经常会遇到在噪声干扰下进行语音通信的问题。如:使用设置在嘈杂的马路旁或市场内的公用电话,或在奔驰的汽车、火车里使用移动电话时,旁人的喧闹声、汽车和火车的轰鸣声等背景噪声都会干扰语音通讯的质量。对受话人来说,收听夹杂着各种干扰噪声的语音,至少会引起听觉疲劳,严重一点就会错误地识别或根本无法听清对方的语音。

对电话来说,干扰主要来自电话信道的回波干扰。再有一类需要用到语音增强技术的方面就是处理旧的录音磁带。由于早年录音技术不完善,磁带质量不高,加上长久存放,使磁带发生霉变、机械损伤、磁粉脱落、磁化等问题,使得重放语音产生噪声。对于那些极具研究或收藏价值的宝贵录音资料来说,语音增强技术是一个较好的恢复手段。

在通信过程中,语音质量的好坏显得格外重要。如语音质量很差,接收方难以听清对方的语音信息,轻者可能延误时间、贻误时机,重者可能错误地识别对方的语音,因而错误地下达或执行命令,导致对工作造成不可估量的损失。因此,随着现代科学的蓬勃发展,人类社会愈来愈显示出信息社会的特点。

通信或信息交换已成为人类社会存在的必要条件,正如衣食住行对人类是必要的一样。语音作为语言的声学体现,是人类交流信息最自然、最有效、最方便的手段之一。但目前语音识别系统大多都是在安静环境中工作的,在噪声环境中尤其是强噪声环境,语音识别系统的识别率将受到严重影响。

在上述情况下,必须加入语音增强系统,或者抑制背景噪声,以提高语音通信质量,或者作为预处理器,以提高语音处理系统的抗干扰能力,维持系统性能。

只适应滤波算法

因此,语音增强技术在实际中有重要价值。

1.2语音增强的研究历史

语音增强方法的研究始于20世纪70年代中期。随着数字信号处理理论的成熟,语音增强发展成为语音处理领域的一个重要分支。1978年,Lim和Oppenheim提出了语音增强的维纳滤波方法。1979年,Boll提出了谱相减方法来抑制噪声。1980年,Maulay和Malpass提出了软判决噪声抑制方法。1984年,Ephraim和Malah提出基于MMSE短时谱幅度估计的语音增强方法。1987年,Paliwal把卡尔曼滤波引入到语音增强领域。在近30年的研究中,各种语音增强的方法不断被提出,它奠定了语音增强理论的基础并使之逐渐走向成熟。

语音增强不但与语音信号处理理论有关,而且涉及到人的听觉感知和语音学。噪声来源众多,随应用场合而异,它们的特性也各不相同。即使在实验室仿真条件下,也难以找到一种通用的语音增强算法去适用各种噪声环境。所以必须针对不同的噪声,采取不同的语音增强对策。

1.3本课题的研究内容

本课题研究的主要内容是基于LMS的自适应语音增强算法、经典语音增强减谱算法、改进形式的语音增强减谱算法、噪声残差的语音增强减谱算法对语音信号进行增强,并应用MATLAB仿真软件对研究的内容进行分析、讨论和验证。

只适应滤波算法

第二章 语音增强的基础知识

2.1 语音和人耳的感知特性

语音信号是一种非平稳的随机信号。语音的生成过程与发音器官的运动过程密切相关,考虑到人类发声器官在发声过程中的变化速度具有一定的限度而且远小于语音信号的变化速度,因此可以假定语音信号是短时平稳的,即在(10ms~30ms)的时间段内其某些物理特性和频谱特性可以近似的看作是不变的,从而可以应用平稳随机过程的分析方法来处理语音信号,并可以在语音增强中利用短时频谱的平稳特性。

任何语言的语音都有元音和辅音两种音素。根据发声的机理不同,辅音又分为清辅音和浊辅音。从时域波形上可以看出浊音(包括元音)具有明显的准周期性和较强的振幅,它们的周期所对应的频率就是基音频率;清辅音的波形类似于白噪声并具有较弱的振幅。在语音增强中可以利用浊音具有的明显的准周期性来区别和抑制非语音噪声,而清辅音的特性则使其和宽带噪声区分困难。

人耳对于声波频率高低的感觉与实际频率的高低不成线性关系,而近似为对数关系;对声强的感觉很灵敏且有很大的动态范围,对于频率的分辨能力受声强的影响,过强或者太弱的声音都会导致对频率的分辨力降低。人耳对语音信号的幅度谱较为敏感,对相位不敏感。这一点对语音信号的恢复很有帮助。

人耳除了可以感受声音的强度、音调、音色和空间方位外,还可以在两人以上的讲话环境中分辨出所需要的声音,这种分辨能力是人体内部语音理解机制具有的一种感知能力。语音增强的最终效果度量是人耳的主观感觉,所以在语音增强中可以利用人耳感知特性来减少运算代价。

只适应滤波算法

2.2 噪声特性

2.2.1 噪声的种类、度量

1.噪声的分类

根据与输入语音的关系,噪声可分为加性噪声和非加性噪声两类。对某些非加性噪声而言,可以通过一定的变换转换成加性噪声。因此,为简化讨论,下面主要分析加性噪声的干扰。语音处理中的加性噪声大体上可以分为周期性噪声、脉冲噪声、宽带噪声、同声道语音干扰噪声、背景噪声、单频噪声等。

(1)周期性噪声

周期性噪声主要来源于发动机等周期性运转的机械,电气干扰也会引起周期性噪声。其特点是频谱上有许多离散的线谱。实际信号受多种因素的影响,线谱分量通常转变为窄带谱结构,而且通常这些窄带谱都是时变的,位置也不固定。必须采用自适应滤波的方法才能有效地区分这些噪声分量。

(2)脉冲噪声

脉冲噪声主要来源于爆炸、撞击、放电及突发性干扰等。其特征是时间上的宽度很窄。消除脉冲噪声通常可以在时域内进行,其过程如下:根据带噪语音信号幅度的平均值确定阈值,当信号幅度超出这一阈值时判别为脉冲噪声,然后对信号进行适当的衰减,就可以完全消除噪声分量,也可以使用内插方法将脉冲噪声在时域上进行平滑。

(3)宽带噪声

宽带噪声来源很多,热噪声、气流(如风、呼吸)噪声及各种随机噪声源、量化噪声也可视为宽带噪声。宽带噪声与语音信号在时域和频域上基本上重叠,只有在无话期间,噪声分量才单独存在。因此消除这种噪声比较困难。对于平稳的宽带噪声,通常可以认为是高斯白噪声。

(4)同声道语音干扰噪声

在实际生活中经常遇到很多人同时说话的情况,此时不需要的语音就形成了同声道干扰。人耳可以根据需要分辨出其中某个人的声音,这种能力来源于人的

只适应滤波算法

双耳输入效应和人类语音中包的“声纹”特征,这是人体内部语音理解机理的一种感知能力表现。通常情况下语音经双耳输入,人们根据两路输入的不同时延特性进行分离。同时由于人的发声器官生理结构的差异,每个人都有自身独特的“声纹”,因此即使双耳效应不显著(例如单声道传输时)人耳也可以借助声纹对信号进行分离。

(5)背景噪声

背景噪声破坏了信号原有的声学特征及模型参数,因此减弱了不同语音间的差别,使语音质量下降,可懂度降低。强噪声会使人产生听觉疲劳,从而影响人耳的听觉特性。同时,较强的背景噪声也会使讲话人的发音方式发生变化,即使发相同的语音,其语音的特征参数也会与安静环境下的发音有所不同。

(6)单频噪声

它主要源于无线电干扰。因为电台发射的频谱集中在比较窄的频率范围内,因此可以近似地看作是单频性质的。另外,像电源交流电,反馈系统自激振荡等也都属于单频干扰。它的特点是一种连续干扰,并且其频率是可以通过实测来确定的,因此在采取适当的措施后就有可能防止。

2.噪声的度量:

声音的基本度量有声压、声强、声功率等。

声压级Lp (dB)或SPL的定义为:

Lp 20lgp

p0 (2.1)

其中p0=20 pa,pa为基准声压(空气中)。

声强级LI(dB)或SIL定义为

LI =20lgII0 (2.2) 12I 10W0其中m2为基准声强。

声功率Lw (dB)或SWL的定义为:

LW 10lgW

W0 (2.3)

只适应滤波算法

12

其中W0=10Wm2为基准功率。

正常人耳刚能听到的听阈声压为20 pa,所以P0、I0分别是1000Hz的听阈声压及其相应的声强。使人耳产生疼痛的声压称为痛阈声压,此值约为100pa。声压级与声强级的关系如下式所表示:

LI Lp10lg400

0c (2.4) 3 1.293kgm0其中为标准大气压下的空气介质密度,C为声速(m/s)。

3.噪声的特性:

噪声是一个随时间变化的过程。一般的时域周期信号可用振幅、频率、相位来表征。但是噪声的时域特性不是很明显,噪声的时域波形称为噪声信号,将其进行频域变换,得到噪声信号的频域特性——频谱。

噪声的频率特性可用功率谱密度分布来描述。设频率在f~(f f)间的噪声功率为PN(f,f f),则功率谱密度GXX(f)定义为单位频率间隔内所含的噪声功率,即有:

GXX(f) limPN(f,f f) f 0 f dPNdf (2.5)

f2

f1 PN GXX(f)df (2.6)

噪声还具有统计特性。噪声的时域波形好象是杂乱无章的,但是无论哪种噪声都不是完全无规律的,它们具有统计的规律的一个系统的噪声,每次测得的值,是随意且不可预料的,即具有随机性;但大量多次测量的噪声值,其分布是有规律的。测量噪声的概率是确定的,因此可用概率来描述噪声的统计规律。

随机过程的统计特性可用定量值——平均值 1和标准偏差 表示。平均值或期望值 1是X的平均值,表示测量一次可期望的值,并用大量测量的平均值表示,即:

1 E(x) xp(x)dxX (2.7) 标准偏差 是X的分散程度或变化部分的表示,即:

只适应滤波算法

2

(x x) x x (2.8)

2在一般交变量中,平均值 1为零,则标准偏差就是有效值, 称为均方差。 222

2.2.2 噪声的测量和评价

噪声的声级是噪声的主观评价。可在声学测量仪上将接收的声音按不同程度滤波,在声级计上直接读出噪声评价的主观量。近年来的研究发现,不管多大声级的声音,用A声级测量低于55dB的声音,测得结果都与人耳对声音的响度感觉相近。因此,人们就把A声级作为评价噪声的主要标志。

另外,噪声测量中还有一个问题是分段测量。参照人耳对声音频率变化的反应,把可听声音的频率分成几段,再对各段内的声音强度进行测量。而每段的高端频率比低端频率高1倍,所以称倍频程。每段以其中心频率命名。表2-1为部分倍频中心频率及其频率范围。

表2-1倍频程中心频率及其频率范围

声压级的测量用声级计,它有二个挡读数,快挡读数指示真实声压级,慢挡读数则为在较长时间内的平均声压级。根据现场情况还需扣除背景噪声、风噪声等影响。

噪声功率是描述噪声源辐射强度的量。通常,噪声功率级是把频带功率级按照能量相加求出。声功率的测量方法有混响室法和标准声源法等。另外根据测量精度要求、噪声源的特性、测量环境条件和测量项目内容等因素来选择采用哪种测量方法。

声强度是每个单位面积通过的能量流,如能测得设备表面上的声强度,后者在整个设备表面上的面积分就是它的声功率。表面上声强为: I 1

T T

0p ndt (2.9)

只适应滤波算法

式中,P是瞬时声压, n是瞬时质量速度在表面法线方向的分量,T是周期或比周期长得多的时间。

语音增强的质量好坏需要进行评价。现采用语音声学的语言传递系统工作质量的评价方法,它又分为分析法和实用法两大类。分析法在于搜索影响语言传递质量的各种因素及其作用,多采用心理度量的因素分析法。实用法则力求取得单一的尺度来表示语言传递的质量。

国际标准组织公布一组噪声评价曲线(NR曲线),亦称噪声评价数。它表示不同噪声的声级和不同频率的噪声对人造成的听力损失、语言干扰和烦恼的程度。它的噪声级范围是0~130dB,频率范围是31.5~8000Hz9个倍频程。

在NR曲线上,1000Hz的倍频程声压级即为噪声评价数NR。倍频程声压级LP与噪声评价数NR的关系如下:

LP a bNR (2.10)

式中,a、b为常数。

噪声评价数NR与A声级有较大的相关性。一般有下述关系:

LA NR 5 (2.11)

为了评价噪声对语音会话的干扰,考虑到声音能量主要集中在500Hz、1000Hz、2000Hz的3个倍频程内,因此定义语音干扰级为: 1SIL (LP500 LP1000 LP2000)dB3 (2.12)

这是3个倍频程中心频率的声压级的算术平均值。由语音分析得知,影响语音识别的是其前3个共振峰,它对听懂语言是最重要的。而大多数语音的前3个共振峰就是在这3个倍频程中心频率范围内。因此,这个SIL也称为优先语言干扰级(PSIL)。它已成为语音干扰评价使用最广泛的评价指标。

只适应滤波算法

第三章 语音增强算法研究及MATLAB实现

3. 1MATLAB仿真软件介绍

MATLAB是英文MATrix LABoratory(短阵实验室)的缩写,它的语言是一种解释执行的语言,调试程序手段丰富且调试速度快。它主要用于高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,用户可以集成地进行数值计算、图形绘制、文件管理等各项操作。

3.1.1 MATLAB的发展历程及应用

MATLAB系统最初是由CIeve Moler用FORTRAN设计的,有关短阵的算法来自LINPACK和EIsPACK课题的研究成果;现在的MATLAB程序是MathWorks公司用 C语言开发的,第一版由steve Bangert主持开发编译解释程序,Steve Kleiman完成图形功能的设计,John Little和Cleve Moler主持开发了各类数学分析的子模块,撰写用户指南和大部分的M文件。MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性使原先控制领域里的封闭式软件包纷纷淘汰,而改以MATLAB为平台加以重建。进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头.在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上都可以看到MATLAB的应用。而在设计研究单位和工业部门,MATLAB同样被认作进行高效研究、开发的首选软件工具。

3.1.2 MATLAB的特点及优势

1.编程效率高

它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,

只适应滤波算法

且比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab语言也可通俗的称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂,

2.用户使用方便

Matlab语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便、调试程序手段丰富、调试速度快、需要学习时间少。人们用任何一种语言编写程序和调试程序一般都要经过四个步骤:编译、连接以及执行和调试。Matlab语言与其它语言相比,较好地解决了上述问题,把编译、连接和执行融为一体。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。

3.扩充能力强

高版本的Matlab语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。因而,用户可以根据自己的需要方便的建立和扩充新的库函数,以便提高Matlab的使用效率和扩充它的功能。另外,为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran,C语言程序,通过建立Me调文件的形式,混合编程,方便的调用有关的Fortran,C语言的子程序。

4.语句简单,内涵丰富

Mat1ab语言中最基本最重要的成分是函数,其一般形式为[a,b,c……] = fun(d,e,f,……),即一个函数由函数名,输入变量d,e,f,……和输出变量a,b,c……组成。同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义。这不仅使Matlab的库函数功能更丰富,而且大大减少了需要的磁盘空间,使得Matlab编写的M文件简单、短小而高效。

5.高效方便的矩阵和数组运算

Matlab语言象Basic、Fortran和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“·”就可用于数组间的运算,另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得

只适应滤波算法

大为简捷、高效、方便,这是其它高级语言所不能比拟的。

6.方便的绘图功能

Matlab的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不及的。 总之,Matlab语言的设计思想可以说代表了当前计算机高级语言的发展方向。

3.2基于LMS的自适应算法及MATLAB仿真

3.2.1基于LMS的自适应语音增强算法

先用滤波器的输入信号、输出信号和期望信号构造一个目标函数(或称代价函数),然后通过这个目标函数的最小化过程,以某种方式调整可编程滤波器的参数或结构,特别的,对于横向滤波器,即改变其权矢量值。其中,目标函数可以用另一种方式解释,即将其视为某个普通误差信号e(k)的直接函数,而该误差信号又是信号x(k),y(k)和d(k)的某个函数,即

F=F[e(k)]=F[e(x(k),y(k),d(k))] (3.1) 因此,自适应算法实际上包含了三层含义:误差信号的定义,目标函数的定义以及目标函数最小化算法的定义。式(2.13)给出了一般情况的自适应滤波器权值更新法则,即自适应算法的一般数学表达式:

w(k+1)=w(k)+ G[F(e(k))] (3.2)

其中,G[F(e(k))]为目标函数F(e(k))的最小化算法, 为收敛因子。对任意一种自适应算法, 是控制着整个自适应过程诸多重要特征的关键参数。

通过选择不同的误差信号e(k),构造不同的目标函数F(e(k)),采用不同的目标函数最小化方法可以得到各种的自适应算法,主要运用基于梯度的最小均方(LMS)方法:当选定均方误差为权矢量二次函数时,性能度量曲线可以形象地看成一个碗形曲面,这样自适应处理器的任务便是不断地向最低点逼近,即可以通过计算梯度的方法实现性能度量的最优化。而基于梯度的算法中,最简单的一种就是最小均方算法。LMS算法使用的准则是自适应滤波器的期望输出值和实际

只适应滤波算法

输出值之间的均方误差(MSE)最小化的准则,即使用均方误差来做性能指标。

3.2.2MATLAB仿真结果分析

语音增强的目的就是消除噪声以加强语音的通信质量。最常见的是基于自适应的噪声抵消法对语音进行增强。本节应用LMS自适应滤波算法并结合MATLAB仿真软件对语音增强模型进行讨论和分析。

g=100; %统计仿真次数为g

N=1024; %输入信号抽样点数

k=128; %滤波器阶数

pp=zeros(g,N-k); %将每次独立循环的误差结果存于矩阵pp中,以便后面对其平均

u=0.00026; %滤波器收敛因子

for q=1:g

t=1:N;

a=1;

s=a*sin(0.05*pi*t); %输入单信号s

figure(1);

subplot(311)

plot(s); %信号s时域波形

title('信号s时域波形');

xlabel('n');

axis([0,N,-a-1,a+1]);

xn=awgn(s,5); %加入均值为零的高斯白噪声

%设置初值

y=zeros(1,N); %输出信号y

y(1:k)=xn(1:k); %将输入信号xn的前k个值作为输出y的前k个值 w=zeros(1,k); %设置抽头加权初值

e=zeros(1,N); %误差信号

%用LMS算法迭代滤波

只适应滤波算法

for i=(k+1):N

XN=xn((i-k+1):(i));

y(i)=w*XN';

e(i)=s(i)-y(i);

w=w+u*e(i)*XN;

end

subplot(312)

plot(xn); %信号s时域波形

title('信号s加噪声后的时域波形');

subplot(313)

plot(y); %信号s时域波形

title('自适应滤波后的输出时域波形');

for b=1:N-k

bi(b)=sum(pp(:,b))/g; %求误差统计平均

end

figure(2); %算法收敛曲线

t=1:N-k;

plot(t,bi,'r');

title('收敛曲线');

hold on %将每次循环的图形显示结果保存下来

只适应滤波算法

信号s时域波形

2

-20100200300500600700

n

信号s加噪声后的时域波形4008009001000s

5

-5020040060080010001200

自适应滤波后的输出时域波形

5

-5020040060080010001200

图3-1

算法收敛曲线

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

00100200300400500600700800 900

图3-2

此为原始程序。即当一个正弦信号加上一个高频噪声后,采样数N=1024,

本文来源:https://www.bwwdw.com/article/cdqm.html

Top