基于 MATLAB 的语音信号分析与处理的课程设计.doc_第1页
基于 MATLAB 的语音信号分析与处理的课程设计.doc_第2页
基于 MATLAB 的语音信号分析与处理的课程设计.doc_第3页
基于 MATLAB 的语音信号分析与处理的课程设计.doc_第4页
基于 MATLAB 的语音信号分析与处理的课程设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

目 录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 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。1学会matlab的使用,掌握matlab的程序设计方法;2掌握在windows环境下语音信号采集的方法;3掌握数字信号处理的基本概念、基本理论和基本方法;4掌握matlab设计fir和iir数字滤波器的方法;5学会用matlab对信号进行分析和处理。 2课程设计基本要求 学会 matlab 的使用,掌握 matlab 的程序设计方法。 掌握在 windows 环境下语音信号采集的方法。 掌握数字信号处理的基本概念、基本理论和基本方法。 掌握 matlab 设计 fir 和iir 数字滤波器的方法。 学会用 matlab 对信号进行分析和处理。 主要实验仪器及材料 微型计算机、matlab6.5教学版、tc编程环境。 3课程设计内容录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,用 matlab 设计一信号处理系统界面。 要求利用windows下的录音机(开始程序附件娱乐录音机,文件属性立即转换8000khz,8位,单声道)或其他软件,录制一段自己的话音,时间控制在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中。语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在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。要求学生首先用窗函数法设计上面要求的三种滤波器,在matlab中,可以利用函数fir1设计fir滤波器,然后在用双线性变换法设计上面要求的三种滤波器;之后再利用函数butter和cheby1设计上面要求的三种iir滤波器。最后,利用matlab中的函数freqz画出各滤波器的频率响应。用滤波器对信号进行滤波比较fir和iir两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在matlab中,fir滤波器利用函数fftfilt对信号进行滤波,iir滤波器利用函数filter对信号进行滤波。比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。回放语音信号在matlab中,函数sound可以对声音进行回放。其调用格式: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低通滤波器的幅频响应图 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=buttord() %估算得到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(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带通滤波器的幅频响应图 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课程设计实现(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中。对语音信号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(abs(y);title(原始信号频谱);程序结果如下图:(3)设计滤波器和画出频率响应根据语音信号的特点给出有关滤波器的新能指标: 低通滤波器的性能指标:fp=1000hz,fc=1200hz,as=100db,ap=1db; 高通滤波器的性能指标:fp=4800hz,fc=5000hz,as=100db,ap=1db; 带通滤波器的性能指标: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/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);程序运行结果如下图所示:高通高通滤波器的程序如下: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.0544 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(滤波后信号的波形);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可以对声音进行回放。其调用格式为:sound(x,fs,bits)可以感觉滤波前后的声音变换。(7)设计系统界面系统界面-低通滤波器-滤波 后(运行结果):5、心得体会这次课程设计历时一个星期,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对数字信号处理的了解,让我对它有了更加浓厚的兴趣。特别是当每次编写调试成功时,心里特别的开心。

温馨提示

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

评论

0/150

提交评论