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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于+MATLAB+的语音信号分析与处理的课程设计.docx

1、基于+MATLAB+的语音信号分析与处理的课程设计目 录1课程设计目的(1)2课程设计基本要求.(1)3课程设计内容.(2)4课程设计实现.(3)(1)语音信号的采集.(5)(2)语音信号的频谱分析.(6)(3)设计滤波器和画出频率响应.(6)(4)用滤波器对信号进行滤波.(9)(5)比较滤波前后语音信号的波形及其频谱.(9)(6)回放语音信号.(11)(7)设计系统界面.(13)5、心得体会.(14)6、参考文献.(14)基于 MATLAB 的语音信号分析与处理的课程设计 1课程设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作

2、为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。1学会MATLAB的使用,掌握MATLAB的程序设计方法;2掌握在Windows环境下语音信号采集的方法;3掌握数字信号处理的基本概念、基本理论和基本方法;4掌握MATLAB设计FIR和IIR数字滤波器的方法;5学会用MATLAB对信号进行分析和处理。 2课程设计基本要求 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。 掌握在 Windows 环境下语音信号采集的方法。 掌握数字信号处理的基本概念、基本理论和基本方法。 掌握 MATLAB 设计 FIR 和IIR 数字滤波器的方法。 学会用 MATLAB 对信号进行

3、分析和处理。 主要实验仪器及材料 微型计算机、Matlab6.5教学版、TC编程环境。 3课程设计内容录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,用 MATLAB 设计一信号处理系统界面。 要求利用windows下的录音机(开始程序附件娱乐录音机,文件属性立即转换8000KHz,8位,单声道)或其他软件,录制一段自己的话音,时间控

4、制在1秒左右。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,要求理解采样频率、采样位数等概念。wavread函数调用格式:y=wavread(file),读取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中。语音信号的频谱分析要求首先画出语音信

5、号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。设计数字滤波器和画出频率响应根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz, As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=2800 Hz,fp=3000 Hz As=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB,Ap=1dB。要求学生首先用窗函数法设计

6、上面要求的三种滤波器,在MATLAB中,可以利用函数fir1设计FIR滤波器,然后在用双线性变换法设计上面要求的三种滤波器;之后再利用函数butter和cheby1设计上面要求的三种IIR滤波器。最后,利用MATLAB中的函数freqz画出各滤波器的频率响应。用滤波器对信号进行滤波比较FIR和IIR两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。回放语音信号在MATLAB中,函数soun

7、d可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化 关于用MATLAB设计对信号进行频谱分析和滤波处理的程序程序: %写上标题 %设计低通滤波器: N,Wc=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc a,b=butter(N,Wc); %设计Butterworth低通滤波器 h,f=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h); %绘制Butterworth低通滤波器的幅频响应图

8、title(巴氏低通滤波器); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel(时间 (seconds); ylabel(时间按幅度); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基2快速傅立叶变换 w= %新信号角频率 subplot(223); plot(); %绘制叠加函数S经过低通滤波器以后的频谱图 title(低通滤波后的频谱图); %设计高通滤波器 N,Wc=butto

9、rd() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc a,b=butter(N,Wc,high); %设计Butterworth高通滤波器 h,f=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot(); %绘制Butterworth高通滤波器的幅频响应图 title(巴氏高通滤波器); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel(Time(

10、seconds); ylabel(Time waveform); w; %新信号角频率 subplot(223); plot(); %绘制叠加函数S经过高通滤波器以后的频谱图 title(高通滤波后的频谱图); %设计带通滤波器 N,Wc=buttord() %估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc a,b=butter(N,Wc); %设计Butterworth带通滤波器 h,f=freqz(); %求数字带通滤波器的频率响应 figure(4); subplot(221); plot(f,abs(h); %绘制Butterworth带通滤波器的幅频响应图

11、title(butter bandpass filter); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形 xlabel(Time(seconds); ylabel(Time waveform); SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基2快速傅立叶变换 w=( %新信号角频率 subplot(223); plot(); %绘制叠加函数S经过带通滤波器以后的频谱图 title(带通滤波后的频谱图);4

12、课程设计实现(1)语音信号的采集选取一段语音信号,然后在matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。wavread函数调用格式y=wavread(file),读取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中。对语音信号

13、ermiao.wav进行采样其程序如下:y,fs,nbits=wavread(ermiao)fs = 44100nbits = 16y=wavread(file,20000,65000)(2)语音信号的频谱分析首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在matlab中利用fft对信号进行快速傅里叶变换,得到信号的频谱特性。其程序如下:y,fs,nbits=wavread(ermiao, 20000,65000);sound(y,fs,bits);Y=fft(y,4096);subplot(211);plot(y);title(原始信号波形);subplot(212);plot(a

14、bs(Y);title(原始信号频谱);程序结果如下图:(3)设计滤波器和画出频率响应根据语音信号的特点给出有关滤波器的新能指标:1 低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB; 2 高通滤波器的性能指标:fp=4800Hz,fc=5000Hz,As=100dB,Ap=1dB;3 带通滤波器的性能指标:fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB;低通用窗函数设计低通滤波器的程序如下:fp=1000;fc=1200;As=100;Ap=1;fs=22050;wc=2*fc

15、/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=ellip(n,Ap,As,wn);freqz(b,a,512,fs);程序运行结果如下图所示:高通

16、高通滤波器的程序如下:ws1=4800;wp1=5000;wc=22050;wp=wp1/wc;ws=ws1/wc;N,Wn=buttord(wp,ws,1,100);b,a=butter(N,Wn,high)freqz(b,a,521,10000)程序运行结果如下图所示:带通设计带通滤波器的程序如下:wp1=1200 3000;ws1=1000 3200;wx=11025;wp=wp1/wc;ws=ws1/wc;n,Wn=cheb1ord(wp,ws,1,100)b,a=cheby1(n,1,Wn);freqz(b,a,512,1000)程序运行结果如下图所示:n = 24Wn = 0.05

17、44 0.1361(4)用滤波器对信号进行滤波比较两种滤波器的性能,然后用性能较好的滤波器对采集的信号进行滤波。在MATLAB中,FIR咯其利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。(5)比较滤波前后语音信号的波形及其频谱要求在一个窗口同时画出滤波前后的波形及其频谱,FIR滤波:其程序如下:x=fftfilt(b,a,y);X=fft(x,4096);subplot(221);plot(y);title(原始信号波形);subplot(222);plot(abs(Y);title(原始信号频谱);subplot(223);plot(x);title(

18、滤波后信号的波形);subplot(224);plot(abs(X);title(滤波后信号的频谱);运行结果如下:IIR滤波:其程序如下:x=filter(b,a,y);X=fft(x,4096);subplot(221);plot(y);title(原始信号波形);subplot(222);plot(abs(Y);title(原始信号频谱);subplot(223);plot(x);title(滤波后信号的波形);subplot(224);plot(abs(X);title(滤波后信号的频谱);运行结果如下:(6)回放语音信号在MATLAB中,函数sound可以对声音进行回放。其调用格式为

19、:Sound(x,fs,bits)可以感觉滤波前后的声音变换。(7)设计系统界面系统界面-低通滤波器-滤波 后(运行结果):5、心得体会这次课程设计历时一个星期,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对数字信号处理的了解,让我对它有了更加浓厚的兴趣。特别是当每次编写调试成功时,心里特别的开心。但是在编写程序时,遇到了不少问题,特别是程序语法,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。通过这次课程设计使我懂得了理论与实际相结合是

20、很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。总的来说,这次课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。6、参考文献1数字信号处理 程佩青 清华大学出版社2数字信号处理实践教程 杨述斌 李永全 华中科技大学出版社3 MATLAB实用教程 郑阿奇 电子工业出版社4数字信号处理(第二版) 丁玉美 西安电子科技大学出版社5数字信号处理技术及应用 吴湘美 中国铁道出版社6数字信号处理原理及实现 吴销扬 东南大学出版社7MATLAB系统分析与设计 李博函 西安电子科技大学出版社8数字信号处理姚天任 清华大学出版社

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

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