ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:108.85KB ,
资源ID:4397202      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4397202.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IIR滤波器语音去噪处理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IIR滤波器语音去噪处理.docx

1、IIR滤波器语音去噪处理 课程设计(论文)题 目 基于IIR数字滤波器的有噪语音信号的处理 课程设计(论文)任务书学 院: 电气工程学院 题 目: 基于IIR数字滤波器的有噪语音信号的处理 起 止 时 间:2016年10月25日至16年11月20日 学 生 姓 名: 专 业 班 级: 指 导 教 师: 教研室主 任: 院 长: 2016年 11 月 20 日论文 (设计) 容及要求:一、课程设计(论文)原始依据 在信号传输过程中,由于实验条件或各种其他主观或客观条件的原因,不可避免的会引进一些噪声信号,因此除噪成了研究信号传输过程中必不可少的一环。基于MATLAB的有噪语音信号处理,通过MAT

2、LAB强大的数据运算能力,可以极大程度上消弱噪声影响,还原出真实的语音信号。二、课程设计(论文)主要容课程设计容如下:三、课程设计(论文)基本要求(1)技术要求: 编制 Matlab 程序,完成以下功能,产生系统输入信号;根据系统差分方程求解单位脉冲响应序列;根据输入信号求解输出响应;用实验方法检查系统是否稳定;绘制相关信号的波形。(2)工作要求:简述离散系统时域分析和判断系统稳定性方法;完成所给设计实验,并对结果进行分析和解释;打印程序清单和要求画出的信号波形;写出本次课程设计的收获和体会;列出参考文献。四、课程设计(论文)进度安排 课程设计进度(时间)安排如下: 1. 2016年10月25

3、日2016年10月31日 理解课程设计题目的设计要求,查阅相关资料;2. 2016年11月1日2016年11月8日 完成各部分程序代码及系统调试;3. 2016年11月9日2016年12月11日 完成课程设计初稿;4. 2016年11月12日2016年11月24日完成完整的课程设计报告;5. 2016年11月20日 上交课程设计作品并答辩。五、主要参考文献1.高西全,丁玉美数字信号处理M.:电子科技大学,20082.泉,阙大顺数字信号处理原理与实现M:电子工业,20053.磊,毕靖,郭莲英MATLAB实用教程M:人民邮电,20084.威MATLAB基础与编程入门M:电子科技大学,2006 5.

4、周利清,菲数字信号处理基础M:邮电大学,2005 指导老师: (签 名) 年 月 日摘 要:滤波器设计在数字信号处理中占有极其重要的地位,IIR滤波器是滤波器设计的重要组成部分。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域,频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具处理工具箱可

5、以有效快捷地设计IIR数字滤波器,结果的各项性能指标均达到指定要求。关键词:MATLAB;IIR滤波器;有噪音语音信号Abstract: filter design plays an important role in digital signal processing, IIR filter is an important part of the filter design. Research based on MATLAB design and implementation of the noise processing of speech signal, the theory of kn

6、owledge of the integrated use of digital signal processing in time domain of speech signal plus noise, frequency domain analysis and filtering. Through theoretical derivation corresponding conclusion using MATLAB as a programming tool for computer implementation. In the design process, with Butterwo

7、rth, Chebyshev and bilinear method of IIR digital filter design, and use MATLAB as a tool Complete the drawing calculation and graphic design. Through the simulation and frequency characteristic analysis on the design of filter, MATLAB signal processing tools processing toolbox can effectively and q

8、uickly design IIR digital filter based on the results of the performance indicators to meet the specified requirements.Keywords: MATLAB; IIR filter; noisy speech signal1. 绪论 数字滤波器,是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。IIR

9、滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 本设计研究的主要容中是先进行语音信号的采集,然后对语音信号进行频谱分析,再利用IIR两种滤波器对语音信号进行过滤和频谱分析,画出滤波之后的频谱图与时域波形,并对信号滤波

10、前后进行分析比较,分析信号的变化,得出滤波性能。2. 基于滤波器的语音信号的处理 选择一个语音信号作为分析的对象,或录制一段语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计IIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,最后回放语音信号。2.1语音信号的采样理论依据2.1.1采样频率采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间计算机得到的声音样本数据就越多,对声音波形的表示也越

11、精确。采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。2.1.2采样位数采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度围。每增加一个采样位数相

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

13、公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)2.2语音信号的采集 利用WINDOWS 操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“speech”保存入g : MATLAB work 中。可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS 操作系统规定的声音文件存的标准。3. 滤波器的设计3.1数字滤波器概述 数字滤波器的实现有两个关键步骤:一个从数字

14、域到模拟域间的变换,这个变换实现了数字滤波器技术指标到模拟滤波器技术指标的转换,同样也实现了模拟滤波器系统函数到数字滤波器系统函数的转换;另一个是从模拟滤波器技术指标到满足该指标的模拟滤波器的设计。3.2模拟滤波器概述用模拟数字变换法设计IIR数字滤波器,首先必须设计一个模拟滤波器,它有许多不同的类型,主要有以下两种类型:巴特沃思(Botterworth简写BW)滤波器。BW滤波器是根据幅频特性在通带具有最拼图特性而定义的滤波器,对一个N阶低通滤波器来说,所谓最平坦特性就是模拟函数的前(2N-1)阶导数在处都为零。BW滤波器的另一个特性是在通带和阻带的幅频特性始终是频率的单调下降函数,且其模拟

15、函数随阶次N 的增大而更接近于理想低通滤波器。切比雪夫(Chbyshev简写为CB)滤波器。CB低通滤波器的模拟函数由切比雪夫多项式定义,且在通带的幅频响应是波动的,在阻带则单调变化。3.3IIR滤波器概述 IIR(Infinite Impulse Response)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的脉冲响应。IIR滤波器有以下几个特点:(1)封闭函数:IIR数字滤波器的系统函数可以写成封闭函数的形式。 (2)IIR数字滤波器采用递归型结构:IIR数字滤波器采用递归型结构,即结构上带有反馈环路

16、。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (3)借助成熟的模拟滤波器的成果:IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,再通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。(4)需加相位校准网络:IIR数字滤波器的相位特性不好控制,对相位要求较高时,

17、需加相位校准网络。3.4IIR滤波器设计 无论是数字滤波器还是模拟滤波器,他们技术指标的建立都是以所谓的“固有衰减”参数为参照。以数字滤波器为例,固有衰减参数定义为 A(w)=-20lg|H(ejw)|-20lg|H(ej0)| 目前IIR数字滤波器设计的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便。IIR数字滤波器的设计步骤是:按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;根据转换后的技术指标设计模拟低通滤波器;再

18、按一定规则将G(s)转换成H(z)。若设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通,带通或带阻滤波器,那么还有步骤;将高通、带通、或带阻数字l不去的技术指标先转化为低通模拟滤波器的技术指标,然后按照上述步骤设计出低通,再将转换为所需的H(z)。下面我们总结一下利用模拟滤波器设计IIR数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。(4)用双线性变换法,模拟滤波器系统函数转换成数

19、字低通滤波器系统函数。 接下来,我们根据语音信号的特点给出有关滤波器的技术指标: 低通滤波器的性能指标: fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB 在Matlab中,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。 MATLAB信号处理工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是N,wc=butter(N,wc,Rp,As,s),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。 MATLAB信号处理工具箱函数

20、cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下: B,A=cheby1(N,Rp,wpo,ftypr) 函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面我们以IIR低通滤波器的设计为例:Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,s); b11,

21、a11=butter(n11,wn11,s); num11,den11=bilinear(b11,a11,0.5);h,w=freqz(num11,den11);figure;plot(w*8000*0.5/pi,abs(h);legend(IIR低通滤波器,Location,NorthWest);grid;程序结果如下图: 图3.4IIR低通滤波器3.5用滤波器对加噪语音信号进行滤波 用设计的各滤波器分别对加噪的语音信号进行滤波,在Matlab中,IIR滤波器利用函数filter对信号进行滤波。 函数fftfilt用的是重叠相加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x

22、,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。函数filter的调用格式: yn=filter(B,A.xn),它是按照直线型结构实现对xn的滤波。其中xn是输入信号向量,yn输出信号向量。4 . 仿真及结果分析4.1语音信号的时频分析利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。下面介绍Wavread 函数几种调用格式。 (1)y=wavread(file) 功能说明:读取file所规定的wav文件,

23、返回采样值放在向量y中。(2)y,fs,nbits=wavread(file) 功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 (3)y=wavread(file,N) 功能说明:读取钱N点的采样值放在向量y中。 (4)y=wavread(file,N1,N2) 功能说明:读取从N1到N2点的采样值放在向量y中。接下来,对语音信号OriSound.wav进行采样。其程序如下: y,fs,nbits=wavered (OriSound); %把语音信号加载入Matlab 仿真软件平台中 然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快

24、速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下: Xk=fft(xn,N) 参数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

25、,1);plot(y);title(原始信号波形,fontweight,bold);axis( 78000 80000 -1 1);grid;subplot(2,1,2);plot(abs(Y);title(原始信号频谱,fontweight,bold);axis( 0 150000 0 4000);grid;程序结果如下图:图4.1原始信号波形及频谱4.2加噪后的语音信号及其频谱分析 利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。Randn函数有两种基本调用格式:Randn(n)和Randn(m,n),前者产生nn服从标准高

26、斯分布的随机数矩阵,后者产生mn的随机数矩阵。在这里,我们选用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(加噪语音信号的时域波形,fontweight,bold);axis( 78000 80000 -1 1);grid;S=fft(s); subplot(2,1,2);plot(abs(S);title(加噪语音信

27、号的频域波形,fontweight,bold);axis( 0 150000 0 4000);grid;图4.2加噪语音信号时域及频域波形4.3验证所设计的滤波器 为了验证滤波器的可使用性,我们用常用的sin函数来进行验证。其具体程序及运行结果如下:t=0:1/1023:1;s=sin(2*pi*t);N=length(s);y=s+0.5*rand(1,N);subplot(2,1,1);plot(y);title(加噪语音信号的时域波形,fontweight,bold);S=fft(y); subplot(2,1,2);plot(abs(S);title(加噪语音信号的频域波形,fontw

28、eight,bold);Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;n11,wn11=buttord(wp,ws,1,50,s); %求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %求S域的频率响应的参数 num11,den11=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换 z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号figure;subplot(2,2,1);plot(abs(

29、S),g);title(滤波前信号的频谱,fontweight,bold);grid;subplot(2,2,2);plot(abs(m11),r);title(滤波后信号的频谱,fontweight,bold);grid;subplot(2,2,3);plot(y);title(滤波前信号的波形,fontweight,bold);grid;subplot(2,2,4);plot(z11);title(滤波后的信号波形,fontweight,bold);grid;图4.3验证所设计的滤波器4.4比较滤波前后语音信号的波形及频谱 用自己设计的各滤波器分别对加噪的语音信号进行滤波,在Matlab中

30、,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。 函数fftfilt用的是重叠相加法实现线性卷积的计算。调用:y=fftfilter(h,x,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。 函数filter的调用格式:yn=filter(B,A.xn),它是按照直线型结构实现对xn的滤波。其中xn是输入信号向量,yn输出信号向量。y,fs,nbits=wavread (OriSound); %IIR低通n = length (y) ; %求出语音信号的长度Noise=0.2*randn(n,2); %随机函数产生噪声s=y+Noise; %语音信号加入噪声S=fft(s); Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;n11,wn11=buttord(wp,ws,1,50,s);%求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %求S域的频率响应的参数 num11,den11=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1