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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

语音信号处理与滤波.docx

1、语音信号处理与滤波目 录一、课程设计目的2二、课程设计要求2三、详细设计过程3四、调试分析9五、分析结果9六、心得体会10七、参考文献10八、程序11九、附录12一、课程设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解。采用Matlab进行数字信号处理课程设计,实践证明,使我们加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。在课程设计中,让我们录制自己的声音,设计滤波器对声音进行处理,大大激发了我们的学习兴

2、趣,使我们很快地掌握编程方法和解决实际问题的技巧Matlab是MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件,被誉为“巨人肩上的工具”。Matlab的含义是矩阵实验室(MATRIX LABORATORY)。经过十几年的完善和扩充,它已发展成为线性代数课程的标准工具。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。在这个环境下,对所要求解的问题,用户只需要简单地列出数学表达式,其结果便以数值或图形方式显示出来。Matlab的首创者是在数值线性代数领域颇有影响的Cleve Moler博士,他也是生产经营MATLAB产品的美国Ma

3、thworks公司的创始人之一。MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而使其广泛地应用于科学计算、控制系统、信息处理、数字图形处理等领域的分仿真和设计工作中,而且利用MATLAB产品的开发式结构,用户可以非常容易地对MATLAB进行扩充。二、课程设计基本要求(1)熟悉离散信号和系统的时域特性。(2)掌握序列快速傅里叶变换FFT方法。(3)学会MATLAB的使用,掌握MATLAB的程序设计方法。(4)利用MATLAB对语音信号进行频谱分析。(5)掌握MATLAB设计FIR和IIR数字滤波器的方法。三、

4、详细设计过程1、问题描述:录制一段自己的语音信号,取不同的数据点对语音信号进行频谱分析;对所有数据进行插值和抽取处理,改变抽样率再对信号进行频谱分析;设计FIR和IIR数字滤波器,并对被抽样后的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。2、详细操作步骤和部分运行结果(1)采集语音信号:利用Windows下的录音机,录制一段自己的话音,时间控制在1s左右;然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。wavread函数调用格式如下:y=wavread(file),读取

5、file所规定的wav文件,返回采样值放在向量y中。y,fs,nbits=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。y=wavread(file,N),读取前N点的采样值放在向量y中。y=wavread(file,N1,N2),读取从N1点到N2点的采样值放在向量y中。采集语音的程序代码:x1,fs,nbits=wavread(e:yy.wav);sound(x1,fs,bits);y=fft(x1,1024);subplot(2,1,1); plot(x1); title(原始采样后时域信号);原始语音采样后的的时域信号波形图: (2)

6、对语音信号进行频谱分析:在MATLAB中,利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性。首先画出语音信号的时域波形,然后对语音信号进行频谱分析。 程序代码:x1,fs,bits=wavread(D:yy.wav);y1=fft(x1,1024);f=fs*(0:511)/1024;figure(1)subplot(2,1,1); plot(f,abs(1:512); title(原始语音信号频谱);xlabel(频率/Hz);ylabel(幅值);subplot(2,1,2); plot(abs(y1(1:1024); title(原始语音信号FFT频谱);xlabel(点数N)

7、;ylabel(幅值);原始语音信号的频率响应图:原始语音信号频谱和FFT转换后的频谱图 (3)设计数字滤波器和画出频率响应:根据语音信号的特点给出有关滤波器的性能指标:1 低通滤波器性能指标:fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB;2 高通滤波器性能指标:fc=4800Hz,fp=5000Hz,As=100dB,Ap=1dB;3 带通滤波器性能指标:fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。首先用窗函数法(矩形窗(Rectangular window)、三角窗(Triangular

8、window)、汉宁窗(Hanning window)、海明窗(Hamming window)、布拉克曼窗(Blackman window)、切比雪夫窗(Chebyshev window)、巴特里特窗(Bartlett window)及凯塞窗(Kaiser window)。)设计上面要求的三种滤波器。在MATLAB中,利用函数fir1设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应。(4)低通滤波器的设计过程用窗函数法设计低通滤波器:程序代码:fp=10

9、00; fc=1200; As=100; Ap=1; fs=22050;wc=2*fc/fs; wp=2*fp/fs;N=ceil((As-7.95)/(14.36*(wc-wp)/2)+1;beta=0.1102*(As-8.7);Win=Kaiser(N+1,beta);b=fir1(N,wc,Win);freqz(b,1,512,fs);运行结果如下图: 用双线性变换法设计的低通滤波器:程序代码:fp=1000; fc=1200; As=100; Ap=1; fs=22050;wc=2*fc/fs; wp=2*fp/fs;n,wn=ellipord(wp,wc,Ap,As);b,a=el

10、lip(n,Ap,As,wn);freqz(b,a,512,fs);程序运行结果如下图: (8)用滤波器对信号进行滤波比较两种滤波器性能,然后用性能好的滤波器对采集的信号进行滤波。在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。(9)比较滤波前后语音信号的波形及频谱,在同一个窗体中画出滤波前后的波形图: FIR低通滤波器滤波前后的波形图:(10)回放语音信号在MATLAB中,函数sound可以对声音进行回放。其调用格式为sound(x,fs,bits),可以感觉滤波前后的声音有变化。四、调试分析1、用窗函数法设计低通滤波器中,

11、语句N=ceil(As-7.95)/(14.36*(wc-wp)/2)+1;出错,将其改为N=ceil(As-7.95)/(14.36*(wc-wp)/2)+1;即可。五、结果分析1、题目要求最大衰减Ap=1dB,fp=1000Hz,由图可看出基本符合,而最小衰减As=100dB,fc=1200Hz,基本符合。2、滤波前后的频谱分析:由于所取的采样点数比较大,滤波前后的频谱比较相近,但仔细对比仍然可以看出下图的结果滤掉了高频的成分。3、题目要求最大衰减Ap=1dB,fp=5000Hz,由图可看出,基本符合,而最小衰减As=100dB,fc=4800Hz,也基本符合。4、滤波前后的频谱分析:由图

12、明显可以看出,此滤波器将低频成分滤掉了。5、题目要求最大衰减Ap=1dB时 ,fp1=1000Hz,fp2=3200Hz,由图可看出,基本符合,而最小衰减As=100dB时,fc1=1000Hz,fc2=3200Hz,基本符合。6、滤波前后的频谱分析:该滤波器将低频成分和高频成分都滤掉了,只剩下通带里的频率。7、选用凯泽窗设计方法,滤波器的幅度和相位响应满足设计的指标但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器的指标太苛刻,因此,一向不用窗函数法设计这种类型的滤波器。在双线性变换法的设计中选用椭圆函数设计,滤波器的幅度和相位均满足设计的要求。六、心得体会通过一学期的数字信号

13、处理的学习,在这次做课程设计的过程中,真的发现自己没学到啥东西,所以导致做的过程中困难重重,拿着课本只好重头看,通过网上查资料,同学之间的相互合作,最终我们还是战胜了困难,顺利完成了此次的课程设计。我深深的体会到了知识的重要性,不管是为了应付考试还是怎么样也好,对于自身的帮助还是很大的,整整两天坐在电脑面前的功夫没有白费,我还是收获了很多,对于Matlab软件的使用也更加熟悉了。一年之计在于春,而我们一学期的学习就在于这次课程设计了,我觉得这才是真正学到知识的,也锻炼了自己的动手实践能力,耐心和毅力。学会团结,才能把事情做得更好。七、参考文献1丁美玉,高西全 数字信号处理2版。西安:西安电子科

14、技大学出版社,20012怀琛 数字信号处理教程MATLAB释疑与实现。北京:电子工业出版社,20043王宏 MATLAB6.5及其在信号处理中的应用。北京:清华大学出版社,20044刘顺兰,吴杰 数字信号处理。西安:西安电子科技大学出版社,2003八、源程序代码:%读入原始声音 x,fs,Nbits=wavread(09020135.wav);sound(x,fs);n=length(x); %求出语音信号的长度 y1=fft(x,n) ; %傅里叶变换 y2=fftshift(abs(y1); %对频谱图进行平移w=linspace(-fs/2,fs/2,length(y2);subplot

15、(2,3,1);plot(x); %做原始语音信号的时域图形 title(原始语音信号);xlabel(time n);ylabel(fuzhi n); subplot(2,3,4);plot(w,y2); %做原始语音信号的FFT频谱图 title(原始语音信号FFT频谱); %加噪声 noise=0.04*randn(n,2); %随机函数产生噪声 sound(noise,fs); s=x+noise; %语音信号加入噪声 sound(s,fs);%加噪声的声音 k=1:1:n; %定义k 值,噪声与原始语音长度一致 wavwrite(s,fs,2.wav);S=fft(s); %对叠加信

16、号进行频谱变换 S=fftshift(abs(S);subplot(2,3,2);plot(k,s) title(噪声信号时域图); %绘制噪声信号的时域波形图 subplot(2,3,5);plot(w,abs( S) ;title(噪声信号的频谱图);%用双线性变换法设计巴特沃思低通滤波器 Ft=6000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft; % wp=0.25*pi; %通带截止频率 ws=0.3*pi; %阻带截止频率 Rp=1; %通带最大衰减 Rs=15; %阻带最小衰减 Ts=1/Fs; wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标w

17、s1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,s); %选择滤波器的最小阶数 Z,P,K=buttap(N); %创建butterworth模拟滤波器 Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线 %用双线性变换法设计巴特沃思低通滤波器 滤波f1=filter(bz,az,s); sound(f1,fs);%滤波后的声音 F0=fft(f1,n); F1=fftshift(abs(F0);wavwrite(f1,fs,3.wav);% 将滤波后的数据保存为.wav文件subplot(2,3,3);plot(k,f1); %画出滤波后的时域图 title(滤波后的时域波形); subplot(2,3,6);plot(w,F1);%画出滤波后的频谱图 title(滤波后的频谱);xlabel(Hz); ylabel(fuzhi); 九、附录

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

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