滤波器语音信号去噪课件_第1页
滤波器语音信号去噪课件_第2页
滤波器语音信号去噪课件_第3页
滤波器语音信号去噪课件_第4页
滤波器语音信号去噪课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、*实践教学*兰州理工大学计算机与通信学院2013年春季学期信号处理课程设计题 目: 基于MATLAB的FIR滤波器语音信号去噪 专业班级: 通信工程(1)班 姓 名: 王兴栋 学 号: 10250114 指导教师: 陈海燕 成 绩: 摘 要语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带

2、噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。关键字 滤波器;MATLAB;仿真;滤波 前 言语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分

3、重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号序列可以用图形来表示。语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。本论文主要介

4、绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。 目 录一、基本原理4二、设计步骤8三、总 结15致 谢17参考文献18附 录19 一、基本原理 数字滤波器, 是数字信号处理中及

5、其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高

6、的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助

7、成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。本次课程设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计FIR滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。对前后滤波前后的频谱进行分析比较,对不同的滤波器处理效果的比较。其原理框图如下图所示。1、设计方案首先选择一个语音信号作为分析的对象,在MATLAB软件平台下对语音信号进行时频变换、时频分析。利用MATLA

8、B产生信噪比可控的高斯白噪声作为干扰信号加入到原始语音信号中,模仿语音信号被污染,并对合成的语音信号进行时频分析。然后根据合成信号的频谱特点,选择合适的性能指标设计低通、高通、带通滤波器,并绘制滤波器的频率响应曲线。采用不同的滤波器对加入噪声的音信号进行滤波处理,绘制处理后的语音信号的频谱图。语音信号采集 效果显示语音信号录入语音信号变换信号加噪语音信号滤波2、FIR数字滤波器的设计及实现FIR:有限脉冲响应滤波器。有限说明其脉冲响应是有限的。与IIR相比,它具有线性相位、容易设计的优点。这也就说明,IIR滤波器具有相位不线性,不容易设计的缺点。而另一方面,IIR却拥有FIR所不具有的缺点,那

9、就是设计同样参数的滤波器,FIR比IIR需要更多的参数。这也就说明,要增加DSP的计算量。DSP需要更多的计算时间,对DSP的实时性有影响。FIR滤波器的设计比较简单,就是要设计一个数字滤波器去逼近一个理想的低通滤波器。通常这个理想的低通滤波器在频域上是一个矩形窗。根据傅里叶变换我们可以知道,函数在时域上是一个采样函数。通常此函数的表达式为:sa(n)sin(n)/n(3-2)但是这个采样序列是无限的,计算机是无法对它进行计算的。故我们需要对此采样函数进行截断处理。也就是加一个窗函数。就是传说中的加窗。也就是把这个时域采样序列去乘一个窗函数,就把这个无限的时域采样序列截成了有限个序列值。但是加

10、窗后对此采样序列的频域也产生了影响:此时的频域便不在是一个理想的矩形窗,而是成了一个有过渡带,阻带有波动的低通滤波器。通常根据所加的窗函数的不同,对采样信号加窗后,在频域所得的低通滤波器的阻带衰减也不同。通常我们就是根据此阻带衰减去选择一个合适的窗函数。如矩形窗、汉宁窗、汉明窗、BLACKMAN窗、凯撒窗等。窗函数法设计FIR滤波器的步骤如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h

11、(n).。(4)加窗得到设计结果。根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=50db ,Ap=1dB高通滤波器的性能指标:fp=3500Hz,fc=4000Hz,As=50dB,Ap=1dB在Matlab中,可以利用函数fir1设计FIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:B,A=cheby1(N,Rp,wpo,ftypr)B,A=cheby

12、1(N,Rp,wpo,ftypr,s)设计FIR数字滤波器的低通滤波器源程序见附录(1)。 以下为设计FIR数字滤波器的低通滤波器图像:图1 FIR低通滤波器25二、设计步骤1、语音信号读入单击开始程序,选择所有程序,接着选择附件,再选择录音。自己录入“课程设计”语音信号,然后保存在MATLAB文件夹里面,命名为“new.wav”。 利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。y,fs,bits=wavread( N1 N2);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的值(若只有一

13、个N的点则表示读取前N点的采样值)。源程序见附录(2)。2、原始语音信号频谱分析及仿真利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用 MATLAB画出。我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。选择设计此方案,是对数字信号处理的一次实践。在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是

14、信号处理在实际应用中很大众化的一方面。这个方案用到的软件也是在数字信号处理中非常通用的一个软件MATLAB软件。所以这个课题的设计过程也是一次数字信号处理在MATLAB中应用的学习过程。课题用到了较多的MATLAB语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。sound(x,fs,bits); 用于对声音的回放。向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。FFT的MATLAB实现:在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。下面介绍这些函数。函数FFT用于序列快速傅立叶变

15、换。函数的一种调用格式为 y=fft(x)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基2FFT算法;否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N)式中,x,y意义同前,N为正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x补零至长度N。若向量x的长度大于N,则函数截短x使之长度为N。若x 为矩阵,按相同方法对x进行处理。经函数fft求得的序列y一般是复序列,通常要求其幅

16、值和相位。MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和 FFT同时使用。函数abs(x)用于计算复向量x的幅值,函数angle(x)用于计算复向量的相角,介于 和 之间,以弧度表示。函数unwrap(p)用于展开弧度相位角p ,当相位角绝对变化超过 时,函数把它扩展至 。用MATLAB工具箱函数fft进行频谱分析时需注意:(1)函数fft返回值y的数据结构对称性一般而言,对于N点的x(n)序列的FFT是N点的复数序列,其点n=N/2+1对应Nyquist频率,作频谱分析时仅取序列X(k)的前一半,即前N/2点即可。X(k)的后一半序列和前一半序列时对称的。(2)频

17、率计算 若N点序列x(n)(n=0,1,N-1)是在采样频率 下获得的。它的FFT也是N点序列,即X(k)(k=0,1,2,N-1),则第k点所对应实际频率值为f=k*f /N.(3)作FFT分析时,幅值大小与FFT选择点数有关,但不影响分析结果。 以下为语音信号的时域图和频谱图:图2 原始信号时域频谱3、原始信号采样及加噪 (1)原始信号采样 用傅里叶变换到频域:y_p=fft(y,n);通过函数 f=fs*(0:n/2-1)/n;计算出对应点的频率,然后绘制出对原始语音信号采样的时域波形和频谱图。源程序见附录(3)。图形如下:图3原始语音信号采样后时域波形和频谱图 (2)信号加噪matla

18、b函数randn:产生正态分布的随机数或矩阵的函数 产生均值为0,方差 2 = 1,标准差 = 1的正态分布的随机数或矩阵的函数。用法: Y = randn(n) 返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y = randn(m,n) 或 Y = randn(m n) 返回一个m*n的随机项矩阵。Y = randn(m,n,p,.) 或 Y = randn(m n p.)产生随机数组。 Y = randn(size(A) 返回一个和A有同样维数大小的随机数组。 randn返回一个每次都变化的数量。下面一段程序实现了利用randn函数把一段随机噪音信号加入原始语音信号的信号

19、处理过程:见附录6语句 L=length(y) noise=0.1*randn(L,2) y_z=y+noise;sound(y_z,fs)加噪语音信号时域波形和频谱图如下图所示:图4 加噪语音信号时域波形和频谱图通过对两张图片的对比,很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多,在时间轴上可以明显看出00.5S的幅值增大了;通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比,也可以看出在频率5000Hz以后的频率幅值发生了明显的增加。再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比,人耳可以明显辨别出两种语音信号不一样了,加噪后的语音信号在听觉上比原始语

20、音信号要浑浊很多,而且还有吱吱嘎嘎的混杂音。4、 FIR滤波器去噪及仿真通过对上一节中加噪语音信号和原始语音信号频谱图对比可以知道,噪音大部分是Hz大于5000的部分,故设计低通滤波器进行滤波处理。然后用设计的FIR低通滤波器对上一节中加噪语音信号进行滤波处理。用FIR数字低通滤波器对加噪的语音信号进行滤波时,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波。函数fftfilt用的是重叠相加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时

21、,默认的输入向量的重长度M=512。FIR数字低通滤波器对加噪语音信号的源程序见附录(4)。 FIR数字低通滤波器对加噪语音信号的滤波结果图如下:图5 FIR滤波前和滤波后波形及频谱分析:从以上四图可以很明显和直观的看出原始语音信号和加噪语音信号时域波形和频谱图的区别。加噪后的语音信号的时域波形比原始语音信号要模糊得多,频谱图则是在频率5000Hz以后出现了明显的变化。再通过滤波前的信号波形和频谱图的对比,可以明显看出滤波后的波形开始变得清晰了,有点接近原始信号的波形图了。滤波后信号的频谱图也在5000Hz以后开始逐渐接近原始语音信号的频谱图。再从对语音信号的回放,人耳可以明显辨别出加噪后的语

22、音信号比较浑浊,还有很明显嘎吱嘎吱的杂音在里面。滤波后,语音信号较加噪后的信号有了明显的改善,基本可以听清楚了,而且杂音也没有那么强烈,但是声音依然没有原始语音信号那么清晰脆耳。三、总 结语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课程设计在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课程设计更多的还是体现了数字信号处理技术。从课题的中心来看,课程设计“基于MATLAB的FIR滤波器语音信号去噪”是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音及加噪处理。作为存储于计算机中的语音信号,其本身就是离散化了的向量,只需将这些离散的量提

23、取出来,就可以对其进行处理了。这一过程的实现,用到了处理数字信号的强有力工具MATLAB。通过MATLAB里几个命令函数的调用,很轻易的在实际语音与数字信号的理论之间搭了一座桥。课程设计的特色在于它将语音信号看作一个向量,于是就把语音数字化了。那么,就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同,前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱,

24、在整个频域范围内分是布均匀。由此可见,语音信号主要分布在低频段,而噪声主要分布在高频段。在此次课程训练当中我们系统的学习了信号的知识,通过本次综合训练让我了解了FIR器的知识,这次综合训练对将来从事这一工作的同学尤为重要,这等于让我们提前对这方面的知识有了进一步的认识。在这次综合训练过程中也当遇到了很多实际问题,比如说对有些关于嵌入式知识的缺乏,不过在老师的进一步讲解之后,我们逐步认识和理解了其中的关键,而且又对所学的理论知识有了升华。同时通过此次训练,加深了我对所学过的各种理论数据的认识和理解,并在一定程度上掌握并会运用。我还学会了把学到的知识用于解决实际问题,培养、加强锻炼了我的动手实践能

25、力。更为难得的是,在这次训练过程中,屡屡碰见一些问题,在解决这些问题的过程中,不断加强了我对嵌入式系统的理解。对于一些自己不清楚,不明白但平时又很难发现的知识点有了一次全面的巩固与复习。在大学阶段,理论的学习和实践是密不可分的。离开了实践的理论是没有任何意义可言的。与此同时,理论是需要伴随着实践才能完善。同时,在与同学共同在解决一些问题的过程中,提高了我们的团队协作精神。致 谢通过此次课程设计,我们都学到了许多东西,体会到了从书本学习与实际应用中的不同,这种感同身受必将对我们今后的学习与生活带来很大的帮助。在三周的时间中,我们的指导老师时时在我们的身旁引导我们,帮助我们,倾注他们所有的才华,用

26、心血让我们学会从理论走向实际这一目标十分艰辛,对我们来说是飞跃的过程。不会忘记他们为了我们紧缩的眉头,焦急的眼神,疲倦的笑容,忙碌的身影!谢谢我们的指导老师对我们的帮助!参考文献1 丁玉美. 数字信号处理M. 西安电子科技大学出版社,2003,3.2 朱冰莲. 数字信号处理M. 电子工业出版社,2003,7.3 胡航,语音信号处理,哈尔滨工业大学出版社,2000 年 5 月 4皇甫堪,陈建文,楼生强.现代数字信号处理M.北京:电子工业出版社,2003. 5吴红卫,吴镇扬,赵力.基于多窗谱的心理声学语音增强J.声学学 报,2007,32(3):275-281.6潘欣裕,童兴法,赵鹤鸣,基于谱能比

27、例加权的谱减法语音增强研究J. 中 国电子学会第十五届信息论学术年会暨第一届全国网络编码学术年会论文集 7 程正,赵鹤鸣. 基于多频带谱减法的语音增强算法的研究J. 002-8331(2007)36-0040-03.8 曹瑜镠,方元,吕勇.基于最小统计及谱减法的语音增强J. 语音技术. 002-8684(2006)12-0043-04 9白文雅,黄健群,陈智伶.基于维纳滤波语音增强算法的改进实现J.电声 技术,2007,31(1) :44-46.10蔡斌.一种改进型 MMSE 语音增强方法J.信号处理,2004,20(1) :70-74.11陈俊,孙洪,董航.基于 MMSE 先验信噪比估计的语

28、音增强J.武汉大学学 理学版,2005,51(5) :638-642.12樊昌信,曹丽娜.通信原理M.北京:国防工业出版社,2008.13姚天任.数字语音处理M.武汉:华中科技大学出版社,2005.附 录程序1;Ft=8000;Fp=1000;Fs=1200;wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); %通带阻带波纹s=10.(-rs/20);fpts=wp ws;mag=1 0;dev=p s;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);%kaiserord求阶数截止频率b21=fir1(n2

29、1,wn21,Kaiser(n21+1,beta); %由fir1设计滤波器h,w=freqz(b21,1); %得到频率响应plot(w/pi,abs(h);title(FIR低通滤波器);程序2;y,Fs,nbits=wavread(E:123.wav);%载入波形N=length(y)%计算输入波形长度Y=fft(y,N);%进行快速傅里叶变换sound(y);%播放声音figure(4);subplot(211);plot(0:15/(N-1):15;0:15/(N-1):15,y);title(原始信号时域图)%时域图NFFT = 2nextpow2(N); % Next power

30、 of 2 from length of yY = fft(y,NFFT)/N;f = Fs/2*linspace(0,1,NFFT/2+1);subplot(212);plot(f,2*abs(Y(1:NFFT/2+1);title(滤波前频谱图)%滤波前频谱图程序3;y,fs,bits=wavread(E:123.wav);sound(y,fs)n=length(y)y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(0:15/(N-1):15;0:15/(N-1):15,y);title(原始语音信号采样后的时域波形);x

31、label(时间轴)ylabel(幅值A)subplot(2,1,2);plot(f,abs(y_p(1:n/2);title(原始语音信号采样后的频谱图);xlabel(频率Hz);ylabel(频率幅值);L=length(y)noise=0.1*randn(L,2);y_z=y+noise;sound(y_z,fs)n=length(y);y_zp=fft(y_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(0:15/(N-1):15;0:15/(N-1):15, y_z);title(加噪语音信号时域波形);xlabel(时间轴)ylabel(幅值A)subplot(2,1,2);plot(f,abs(y_zp(1:n/2);title(加噪语音信号频谱图);xlabel(频率Hz);ylabel(频率幅值);程序4;y,fs,bits=wavread(E:123.wav);sound(y,fs)n=leng

温馨提示

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

评论

0/150

提交评论