基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc

上传人:laozhun 文档编号:4141451 上传时间:2023-04-07 格式:DOC 页数:24 大小:478.50KB
返回 下载 相关 举报
基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc_第1页
第1页 / 共24页
基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc_第2页
第2页 / 共24页
基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc_第3页
第3页 / 共24页
基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc_第4页
第4页 / 共24页
基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的FIR滤波器语音信号去噪毕业设计.doc(24页珍藏版)》请在三一办公上搜索。

1、*实践教学*兰州理工大学计算机与通信学院信号处理课程设计题 目:基于MATLAB的FIR滤波器语音信号去噪摘要随着信息技术的不断发展,现代信号处理正向着数字化发展,研究语音信号的滤波设计也成了现代信息处理的基本内容。本次课程设计主要内容是基于MATLAB的FIR滤波器语音信号去噪。主要运用麦克风采集一段语音信号,对其进行了时域分析和频谱分析,分析语音信号的特性,并对语音信号加入了随机噪声,采用凯塞(Kaiser)窗函数法设计了一个FIR低通滤波器,然后对加噪的语音信号进行滤波处理。最后对滤波前后的语音信号的时域和频域特性进行对比。关键词: MATLAB;语音信号;FIR滤波器;凯塞(Kaise

2、r)窗 目录第一章 语音信号采样和滤波器设计的基本原理11.1语音信号采样的基本原理11.1.1 采样定理11.1.2 采样频率11.2数字滤波器的基本理论和设计的基本原理21.2.1 数字滤波器的类型21.2.2 窗口设计法3第二章 语音信号去噪的总体设计62.1 语音信号去噪的设计流程图62.2 语音信号去噪的设计流程的介绍6第三章 语音信号去噪的仿真实现及结果分析83.1 语音信号的采集83.2 加噪语音信号的频谱分析93.3 语音信号的滤波去噪103.4 语音信号去噪的结果分析12总结13参考文献14附录15致谢20第一章 语音信号采样和滤波器设计的基本原理1.1语音信号采样的基本原理

3、现代所应用的计算机所处理和传送的都是数字信号,所以经常要求对模拟信号采样,将其转换为数字信号,然后对其进行计算处理,最后再重建为模拟信号 。采样在连续时间信号与离散时间信号之间起着至关重要的作用,模拟信号转换为数字信号的关键是确定合适的采样频率,使得既要能够从采样信号中无失真地恢复出原模拟信号,同时又尽量降低采样频率,减少编码数据速率,有利于数据的存储、处理和传输。1.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs大于信号中,最高频率fm的2倍时,即:fs=2fm,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍;采样定理又

4、称奈奎斯特定理。 1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的2倍频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1t),f(t12t),.来表示,只要这些采样点的时间间隔t1/2F,便可根据各采样值完全恢复原来的信号f(t)。 这是时域采样定理的一种表述方式1。时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fm时,f(

5、t)的值可由一系列采样间隔小于或等于1/2fm的采样值来确定,即采样点的重复频率f2fm。 时域采样定理是采样误差理论、随机变量采样理论和多变量采样理论的基础。对于时间上受限制的连续信号f(t)(即当tT时,f(t)=0,这里T=T2-T1是信号的持续时间),若其频谱为F(),则可在频域上用一系列离散的采样值,如式(1-1): (1-1)采样值来表示,只要这些采样点的频率间隔,如式(1-2): (1-2) 1.1.2 采样频率采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时

6、间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。 采样频率的常用的表示符号是 fs。 通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据采样定理,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率

7、是衡量声卡采集、记录和还原声音文件的质量标准。 1.2数字滤波器的基本理论和设计的基本原理1.2.1 数字滤波器的类型数字信号处理技术经过几十年的发展,在国内外已经取得了很大的成绩。到目前为止,已经比较成熟的去噪方法比较典型的有切比雪夫去噪法、双线性变换去噪法、窗函数去噪法等有名的去噪方法。下面分别对滤波器中比较有代表性的FIR和IIR滤波器做一个简单的介绍。(1)FIR滤波器有限长单位脉冲响应数字滤波器(Finite Impulse Response Digital Filter,缩写FIRDF):有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,最大优点是可以实现线性相性滤波,它

8、可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。设FIRDF的单位脉冲响应的长度为,则其频率响应函数如式(1-3): (1-3)一般将表示成如式(1-4): (1-4)式中,是的实函数(可以去负值)。与前面的表示形式,即相比,与不同。与 不同。为了区别于幅频响应函数和相频响应函数,称为幅频特性函数,称为相频特性函数。第一类线性相位F

9、IRDF的相位特性函数是的严格线性函数如式(1-5): (1-5)第二类线性相位FIRDF的相位特性函数如式(1-6): (1-6)式中,是常数,是起始相位。在信号处理中很有实用价值(如希伯尔特变换器),这是FIRDF除了线性相位滤波外,还具有真正交变换作用2。(2)IIR滤波器从离散时间来看,若系统的单位抽样(冲激)响应延伸到无穷长,称之为“无限长单位冲激响应系统”,简称为IIR系统。无限长单位冲激响应(IIR)滤波器有以下几个特点:(1)系统的单位冲激响应h(n)是无限长;(2)系统函数H(z)在有限z平面(0|z|);(3)结构上存在着输出到输入的反馈,也就是结构上是递归型的。IIR滤波

10、器采用递归型结构,即结构上带有反馈环路。同一种系统函数H(z)可以有多种不同的结构,基本网络结构有直接型、直接型、级联型、并联型四种,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些典型的滤波器各有特点。有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。1.2.2 窗口设计法本设计采用凯塞(Kaiser)窗函数法设计FI

11、R数字低通滤波器。FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗口设计法的基本思想是用FIRDF逼近希望的滤波特性。设希望逼近的滤波器的频率响应为,其单位脉冲响应用表示。为了设计简单方便,通常选择为具有片段常数特性的理想滤波器。因此是无限长非因果序列,不能直接作为FIRDF的单位脉冲响应。窗口设计法就是截取为有限长的一段因果序列,并用合适的窗口函数进行加权作为FIRDF的单位脉冲响应。窗口设计法基本步骤如下3: (1)构造希望逼近的频率响应函数。以低通线性相位FIRDF设计为例,一般选择为线性理想低通滤波器,即 (1-7)(2)加窗得到FIRDF的单位脉冲响

12、应, (1-8)式中,称为窗口函数,其长度为。如果要求第一类线性相位FIRDF,则要求关于点偶对称。而关于点偶对称,所,同时要求关于点偶对称。常见的窗函数,可以分为以下主要类型:(1)幂窗-采用时间变量某种幂次的函数,如矩形、三角形、梯形或其它时间t的高次幂;(2)三角函数窗-应用三角函数,即正弦或余弦函数等组合成复合函数,例如汉宁窗、海明窗、Kaiser窗等;(3)指数窗-采用指数时间函数,例如高斯窗等。其性能如表1-1所示:表1-1 常见窗函数性能表名称滤波器过渡带宽最小阻带衰减名称滤波器过渡带宽最小阻带衰减矩形1.8/M21dBPARZENWIN6.6/M56dB巴特利特6.1/M25d

13、BFLATTOPWIN19.6/M108dB汉宁6.2/M44dBGAUSSWIN5.8/M60dB汉明6.6/M51dBBARTHANNWIN3.6/M40dB布莱克曼11/M74dBBLACKMANHARRIS16.1/M109dB本设计采用的是凯塞窗(Kaiser)设计的滤波器,凯塞窗(Kaiser)通过改变参数可以达到不同的性能,正由于其优良的窗函数特性,广泛应用于高通、低通、带通、带阻等各种滤波器的设计。凯塞窗(Kaiser)是利用贝塞尔函数来逼近需要的理想窗,其时域函数形式如式(1-9): , (1-9)式中, 为零阶第一类修正的贝赛尔函数,可用式(1-10)的级数表示。 (1-1

14、0)凯塞窗(Kaiser)的幅度如式(1-11)所示: (1-11)由公式可知,凯塞窗的值与贝赛尔函数级数项数n是两个独立的参数,但都会对凯塞窗造成影响。第二章 语音信号去噪的总体设计2.1 语音信号去噪的设计流程图 本课程设计主要是用麦克风采集一段语音信号,通过进行自编函数加入噪声,然后采用凯塞(Kaiser)窗函数法设计FIR滤波器,并且对这段加入噪声的语音信号函数进行滤波去噪,用绘图的程序画出滤波前后时域和频域的波形图进行对比分析。语音信号去噪的设计流程图如下图3-1所示: 语音信号的采集,画时域和频域图加入随机噪声对语音信号进行频谱分析,画出时域和频域波形图 用Kaiser窗设计FIR

15、滤波器画出其频率响应用FIR滤波器对语音信号进行滤波画出语音信号滤波前后波形并且进行比较分析开始结束图3-1语音信号去噪的设计流程图2.2 语音信号去噪的设计流程的介绍 首先是用麦克风采集一段语音信号,将该语音信号作为分析的对象,用程序绘制原始语音信号的时域和频域波形,观察波形得出语音信号的通带频率和阻带频率,为后面滤波器的设计提供参数。然后调用系统函数rand产生一个随机信号,对原始语音信号进行加噪处理,加噪过程中必须计算信号长度,并产生和原始信号长度相同的随机信号,否则软件将提示错误。加噪之后对时域波形进行傅里叶变换得到频域波形,绘图并将加噪前后信号的时域波形和频域波形分别作对比,发现加噪

16、后的语音信号的时域波形比原始语音信号要模糊得多,频率也出现了明显的变化。最后采用窗函数法设计FIR低通滤波器实现对加噪信号的滤波。由于凯撒窗是一种参数可调的窗函数,是一种最优窗函数,并且噪音大部分是频率大于4000Hz的部分,所以本次课程设计采用凯塞窗对加噪信号进行了滤波处理。对滤波后的信号进行时域和频域分析,观察到滤波后的信号基本恢复成为原始语音信号,达到了滤波的目的。第三章 语音信号去噪的仿真实现及结果分析3.1 语音信号的采集利用wavread函数对语音信号进行采样,采集出原始信号波形与频谱,x,fs,bits=wavread(D:4.wav),用于读取语音,采样值放在向量x中,fs表示

17、采样频率(Hz),bits表示采样位数。播放语音信号可以调用函数sound(x,fs,bits)4。原始语音信号的幅值和相位如图3-1所示:图3-1 原始信号幅值和相位原始信号时域和频域图如图3-2所示:图3-2 原始信号时域图和频谱图3.2 加噪语音信号的频谱分析函数中的noise是加的随机噪声,语句y_z=y+noise实现了两个信号的相加,然后绘制加噪后的语音信号时域波形和频谱图并回放加噪后的语音信号,并与原始时域波形和频域波形对比如图3-3和图3-4。图3-3原始信号和加噪信号时域图图3-4原始信号和加噪后信号的频谱图通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比可得,加噪后

18、语音信号频率幅值发生了明显的变化。再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比,人耳可以明显辨别出两种语音信号不一样了,加噪后的语音信号在听觉上比原始语音信号要浑浊很多,而且还有吱吱嘎嘎的混杂音。3.3 语音信号的滤波去噪用自己设计的FIR数字低通滤波器对加噪的语音信号进行滤波时,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波5,并与原始时域波形和频域波形对比如图3-6和图3-7。图3-5 Kaiser窗频率响应图图3-6 信号的时域波形比较图3-7 信号的频谱图比较通过比较加噪后的语音信号的时域波形比原始语音信号发生了很大的变化,再通过滤波前后的信号波

19、形和频谱图的对比,可以明显看出滤波后的波形开始变得清晰了,有点接近原始信号的波形图了。3.4 语音信号去噪的结果分析从图3-6和图3-7可以很明显和直观的看出原始语音信号和加噪语音信号时域波形和频谱图的区别。加噪后的语音信号的时域波形比原始语音信号要模糊得多,频谱图则是在频率5000Hz以后出现了明显的变化。语音信号经过FIR滤波器的滤除噪声的处理,在Matlab中,函数sound可以对声音进行回放。其调用格式:sound (x,fs,bits)我们可以明显感觉滤波前后的声音有变化。声音中刺耳的声音没有了,几乎恢复成原始的声音,但较原始的声音更平滑一些。这说明用kaiser窗设计FIR滤波器滤

20、掉了语音中的噪声同时,也把原始语音的很小的一部分也滤掉了,所以回放语音的时候听起来比以前的更加平滑。 总结本次课程设计首先是用麦克风采集一段语音信号,将该语音信号作为分析的对象,对其进行时域分析。在MATLAB中将随机噪声加入到语音信号中,比较被噪声干扰的语音信号,并对其进行时域分析。其次,对原始语音信号和加噪声语音信号通过fft变换,得出了语音信号的频谱图;通过频谱图可以明确看到语音信号主要分布在低频段,噪声信号主要分布在高频段;最后,运用数字信号处理理论设计FIR低通数字滤波器。本设计主要是从FIR滤波器入手采用凯塞(Kaiser)窗函数法来设计滤波器,实现了打开含噪语音文件、滤掉高频段噪

21、声,并完成显示滤波前后的波形图,通过对滤波前后波形、频谱图比较分析,根据结果和学过的理论得出合理的结论。通过结论可看出虽然基本上达到了预期的滤波效果,但也存在许多的不足,滤波效果不是特别理想。然后与不同信源相同滤波方法的同学比较各种信源的特点,与相同信源不同滤波方法的同学比较各种滤波方法性能的优劣。参考文献1王风文,舒冬梅,赵宏才数字信号处理(第2版) M北京邮电大学出版社2006:33-36,192-1932刘波,文忠,曾涯.MATLAB信号处理 M.电子工业出版社2006:29-333高西全,丁玉美,阔永红.数字信号处理原理实现及应用(第二版) M.电子工业出版社2010:178-1924

22、 从玉良.数字信号处理原理及matlab实现 M.电子工业出版社 2005 年7月:153-1625丁玉美,高西全.数字信号处理(第二版) M.西安电子科技大学出版社2000:175-193附录源程序代码:%语音信号采集程序设计fs=22050; %语音信号采集频率为22050x,fs,bits=wavread(D:4.wav);sound(x);y=fft(x,1024); %对信号做1024点FFT变换magX=abs(y);%原始信号幅值angX=angle(y);%原始信号相位figure(1);subplot(211);plot(magX);title(原始信号幅值);subplot

23、(212);plot(angX);title(原始信号相位);f=fs*(0:511)/512;figure(2);subplot(211);plot(x);title(原始语音信号时域波形图);grid on;Subplot(212); %绘制原始语音信号的频率响应图 plot(f,abs(y(1:512);title(原始语音信号频谱图);xlabel(Hz);ylabel(fudu);grid on;%语音信号加噪程序设计fs=22050; %语音信号采集频率为22050x,fs,bits=wavread(D:4.wav);%加随机噪声并绘制时域波形和FFT频谱图,作对比L=length

24、(x);noise=0.04*randn(L,2);x1=x+noise;y=fft(x,1024); %对信号做1024点FFT变换figure(1);subplot(211);plot(x); %做原始语音信号的时域图形title(原始语音信号的时域图)subplot(212); plot(x1); %绘制加噪语音信号的时域图形title(加噪语音信号的时域图); xlabel(t);ylabel(x1);figure(2);y1=fft(x1,1024); %对加噪信号做1024点FFT变换f=fs*(0:511)/512;subplot(211);plot(f,abs(y(1:512)

25、;title(原始语音信号频谱图);xlabel(Hz);ylabel(fudu);grid on;Subplot(212);plot(f,abs(y1(1:512); %绘制原始语音信号频率响应图title(加噪语音信号频谱图);xlabel(Hz);ylabel(fudu);grid on;%语音信号滤波去噪程序设计fs=22050; %语音信号采集频率为22050x,fs,bits=wavread(D:4.wav); %加随机噪声L=length(x);noise=0.04*randn(L,2);x1=x+noise; %利用kaiser滤波器对语音信号滤波fp=1000;fm=1200

26、;rs=100;Fs=8000; %滤波器设计wp=2*pi*fp/Fs;ws=2*pi*fm/Fs;Bt=ws-wp; %计算过渡带宽度alph=0.112*(rs-8.7);%计算kaiser窗的控制参数alphM=ceil(rs-8)/2.285/Bt);%计算kaiser窗所需阶数Mwc=(wp+ws)/2/pi;hn=fir1(M,wc,kaiser(M+1,alph);%调用kaiser计算低通FIDF的h(n)figure(1);freqz(hn);y=fft(x);y1=fft(x1);x2=fftfilt(hn,x1); %利用kaiser滤波器对语音信号滤波绘图y=fft(

27、x,1024); %对原始信号做1024点FFT变换y1=fft(x1,1024); %对加噪信号做1024点FFT变换y2=fft(x2,1024); %对加噪滤波后的信号做1024点FFT变换figure(1);freqz(hn);grid on figure(2) %画出时域波形subplot(311); axis(0 7 -1 1); plot(x);title(原始语音信号的时域波形);subplot(312);plot(x1)title(加噪后语音信号的时域波形);subplot(313); plot(x2);title(加噪语音滤波后信号的时域波形);f=fs*(0:511)/5

28、12;figure(3) %画出频谱图y1=fft(x1,1024); subplot(311); plot(f,abs(y(1:512);%画出原始语音信号频谱图title(原始语音信号频谱图)xlabel(Hz);ylabel(fuzhi);subplot(312);plot(f,abs(y1(1:512); %画出加噪后语音信号频谱图title(加噪后语音信号频谱图)xlabel(Hz);ylabel(fuzhi);subplot(313); plot(f,abs(y2(1:512); %画出滤波后的信号频谱图title(加噪语音滤波后的信号频谱图)xlabel(Hz);ylabel(fuzhi);致谢本次设计是在陈老师的悉心指导下完成的,在整个课程设计的完成过程中,陈老师给予了精心的指导,每一个环节都注入了导师大量的心血。导师严谨的治学态度、大公无私的品德和为科学献身的精神都是我学习的榜样,尤其是她的认真塌实、实事求是、精益求精、刻苦耐劳的工作作风使我获益良多。学生在老师身上学到的东西不仅仅是科学知识,更多的是学到了研究的方法及做人的道理,使我终生难忘,在此向导师致以崇高的敬意和衷心的感谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号