语音信号去噪摘要:在现代各种通信系统中,由于自然界中的各种各样的复杂噪声不免会掺杂在其中,数字信号处理这门经典学科恰好能够解决这个问题,其中最通用的方法就是利用滤波器来滤除这些杂波噪声,FIR数字滤波器就是滤波器设计的基本部分。本论文研究的主要内容就是基于Matlab软件仿真设计一个数字滤波器,将掺杂在语音信号中的高频噪音消除,在此将分析消除高频噪音前后语音信号的时域及频域特性,对比分析即可验证滤波前后特性差别。在本课题中,将利用简单的窗函数法来设计FIR数字滤波器,通过Matlab仿真说明所设计滤波器的正确性。通过这次毕业设计,将会进一步理解语音信号原理分析及滤波处理,为更好的设计滤波器打好基础。关键词:Matlab;窗函数法;FIR数字滤波器目录1引言................................................................................................................................................21.1课题研究现状.......................................................................................................................21.2课题研究目的.......................................................................................................................21.3课题研究内容.......................................................................................................................21.4MATLAB软件设计平台简介..............................................................................................32原始语音信号采集与处理..............................................................................................................32.1课题设计步骤及流程图.......................................................................................................32.2语音信号处理.......................................................................................................................42.2.1语音信号的采集..........................................................................................................42.2.2语音信号的时域频谱分析..........................................................................................52.2.3语音信号加噪与频谱分析..........................................................................................73FIR数字滤波器的设计...................................................................................................................93.1数字滤波器基本概念...........................................................................................................93.2常用窗函数介绍.................................................................................................................103.3FIR数字滤波器概述..........................................................................................................103.4FIR滤波器的窗函数设计..................................................................................................103.5滤波器的编程实现.............................................................................................................133.6用滤波器对加噪语音信号进行滤波.................................................................................143.7回放语音信号.....................................................................................................................174结论..............................................................................................................................................18致谢..................................................................................................................................................19参考文献............................................................................................................................................201引言1.1课题研究现状20世纪60年代中期数字信号处理领域形成的诸多富有实践性的的理论和算法,如快速傅立叶变换(FFT)以及各种数字滤波器等是语音信号数字处理的各项理论和技术基础。在70年中后期之后,线性预测技术(LPC)已经用于语音信号的信息压缩和特征提取,并已成为语音信号处理中非常重要的一个工具。80年代语音信号处理技术的重大发展是隐马尔可夫模型(HMM)描述语音信号过程的产生过程。进入上世纪90年代以来,语音信号采集与分析技术在实际应用方面取得了许多突破性的研究进展。近年来,随着科学技术的不断进步,人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项科学研究课题是促进其发展的催生力,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。1.2课题研究目的语音是人类获取知识和各种各样信息的重要手段和最初来源,人类离不开自然界中各种不同的语音,但在获取语音的过程中,将不可避免的会受到外界环境的干扰和影响,如各种机器的轰鸣声或者自然界太多的电磁噪声干扰等这些不可避免的有害噪声信号都会附加掺杂在语音信号中,这样获取的语音信号将不再是单纯的语音,掺杂的噪声不但降低了语音质量和语音的可懂度,严重时将导致不可预知的不良效果。语音信号处理的好坏将影响并导致语音信号的好坏,只有通过将这些语音信号进行一系列的的数字处理,才能将那些非必要的噪声杂波妥善滤除,得到纯净的单纯的语音信号。现在社会衍生了很多现代的语音通信方式,手机通话、QQ或MSN等这些语音聊天软件以及语音小说等,涉及语音的方方面面已经存在于我们生活中的大部分,因此语音信号去噪处理是具有现实意义的研究课程。1.3课题研究内容1.用MATLAB程序对原始语音信号进行采样,并绘制出采样后语言信号时域波形和频谱图,并针对此图分析语音信号特点。2.将干扰噪声加入到已经获取的语音信号中,然后进行频谱分析,并对比未加入噪声的信号,分析差异。3.设计FIR数字滤波器,并对被噪声污染的语音信号进行滤波,画出滤波前后信号的时域和频谱,对滤波前后有噪音与无噪音的语音信号进行比较,分析信号的变化,从而验证所设计滤波器的滤波效果。4.回放语音信号。1.4MATLAB软件设计平台简介Matlab是MATrix和LABoratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能软件,是一种交互式的以矩阵为基本数据结构的系统,应用广泛。MATLAB的主要特点如下:(1)程序的可移植性良好应用于其他程序。(2)程序限制宽泛,程序设计自由。有大量已经系统定义的函数可直接应用,并且能够用户自定义函数。(3)语言简洁,使用灵活方便,库函数相当丰富。(4)源程序向大众开放。用户可灵活的对源文件进行修改以及加入自己的设计语音构成新的工具箱。(5)最后MATLAB的一个重要特点是功能强大的工具箱。MATLAB包含两个重要的部分:核心部分和各种可选的工具箱。2原始语音信号采集与处理2.1课题设计步骤及流程图本课题设计主要是针对一段原始语音信号,加入设计噪声后,用窗函数法设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理,并且分析对比前后时域和频域波形。课题的设计流程图如下图2.1所示。图2.1课题设计流程图2.2语音信号处理2.2.1语音信号的采集将话筒输入计算机的语音输入插口上,启动录音机,要求为8000HZ,8位单声道的音频格式,如下图2.2所示,按下录音按钮,接着对话筒一段话,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“1”保存入C:\MATLAB\work中。在Windows下录制一段格式为.wav的语音加入高频噪声信号对语音信号进行频谱分析,绘制出时域和频域图用汉宁窗设计FIR滤波器画出频率响应函数用FIR滤波器对语音信号进行滤波画出语音信号滤波前后频谱波形并进行分析开始结束图2.2语音信号的采集2.2.2语音信号的时域频谱分析Matlab软件平台下,利用wavread函数对语音信号进行采样,采集出原始信号波形与频谱,[y,fs,bits]=wavread('Blip',[N1N2]),用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。[N1N2]表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。其程序如下:[y,Fs,bits]=wavread('1.wav');y=y(:,1);sigLength=length(y);Y=fft(y,sigLength);Pyy=Y.*conj(Y)/sigLengt