《基于MATLAB的个人语音信号处理》课程设计说明书_第1页
《基于MATLAB的个人语音信号处理》课程设计说明书_第2页
《基于MATLAB的个人语音信号处理》课程设计说明书_第3页
《基于MATLAB的个人语音信号处理》课程设计说明书_第4页
《基于MATLAB的个人语音信号处理》课程设计说明书_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、目目 录录 摘要.1 abstract.2 1 matlab 简介 .3 1.1 matlab 的概况 .3 1.2 matlab 的语言特点 .3 2 语音信号的采集.5 3 语音信号的频谱分析.7 4 设计数字滤波器和画出其频率响应.8 4.1 fir 滤波器的分析与设计.8 4.1.1 窗函数法设计 fir 滤波器.8 4.1.2 fir 低通滤波器.9 4.1.2.1 程序设计及流程图.9 4.1.2.2 输出结果仿真.10 4.1.3 fir 高通滤波器.10 4.1.3.1 程序设计及流程图.10 4.1.3.2 输出结果仿真.11 4.1.4 fir 带通滤波器.12 4.1.4

2、.1 程序设计及流程图.12 4.1.4.2 输出结果仿真.13 4.2 iir 滤波器的分析与设计.13 4.2.1 双线性变换法设计 iir 滤波器.13 4.2.2 iir 低通滤波器.14 4.2.2.1 程序设计及流程图.14 4.2.2.2 输出结果仿真.15 4.2.3 iir 高通滤波器.16 4.2.3.1 程序设计及流程图.16 4.2.3.2 输出结果仿真.17 4.2.4 iir 带通滤波器.18 4.2.4.1 程序设计及流程图.18 4.2.4.2 输出结果仿真.20 5 声音信号的滤波.21 5.1 对信号进行滤波的流程.21 5.2 对信号进行滤波的仿真.21

3、5.2.1 滤波前后的时域对比.21 5.2.2 滤波前后的频域对比.23 6 总结及心得体会.25 7 参考文献.26 7 附录.27 摘摘 要要 matlab 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言, matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是 matlab 还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号 分析、处理和设计。 matlab 为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高 级图形工具。根据它提供的 500 多个数学和工程函数,工程技术人员和科学工作者可以 在它的集成环境中交互或编程以

4、完成各自的计算。 matlab 中集成了功能强大的语音 信号处理工具箱。由于 matlab 语言的语法特征与 c 语言极为相似,而且更加简单,更 加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再 加上其中有丰富的语音信号处理函数,所以 matlab 在语音信号处理的应用中具有很大 的优势。 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和 存储等有一个系统的掌握和理解,精心地安排了课程设计的内容:录制一段个人自己的 语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定 滤波器的性能指标,采用窗函数法和双线性变换设计滤

5、波器,并画出滤波器的频率响应; 然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱, 并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号 处理系统界面。 关键词:matlab,语音信号处理 abstract matlab language is a widely used in engineering calculation and numerical analysis domain new languages, and matlab powerful functions, easy to operate, programming, high

6、efficiency, favored by the vast number of scientific and technical workers welcome. especially matlab also has signal analysis toolbox, without the need to have strong ability of programming, it can be easily signal analysis, processing and design. matlab for data analysis and data visualization, al

7、gorithm and application development provides the most core of math and advanced graphical tool. according to provide it with the more than 500 math and engineering function, engineering and technical personnel and scientific workers may in its integration environment interactive or programming to co

8、mplete their calculations. matlab integration of the powerful speech signal processing toolbox. because of matlab language grammatical features and c language is very similar, and simpler, more in line with the scientific and technical personnel to the mathematical expression of the written form, an

9、d the language portability good, extensible, plus one is rich in speech signal processing function, so matlab in speech signal processing applications of great advantage. in order to strengthen the learning of digital signal processing theory knowledge, enables the student to the signal collection,

10、processing and transmission, display and storage, etc have a system of mastery and understanding, meticulously arranged curriculum design of content: making a video personal own voice signal, and then the recording of signal sampling, draw after speech signal sampling time domain waveform and spectr

11、um diagrams, given filter performance index, the window function method and bilinear transformation design filter, and draw the filter frequency response, then use the design of your own filters to sampled signal for filter and draw the filtered signal waveform and spectrum, and time domain to filte

12、r the signal, compared before and after the analysis of signal changes, playback speech signal, finally, design a signal processing system interface. keywords: matlab, the speech signal processing 1 matlab 简介 1.1 matlab 的概况 matlab 是矩阵实验室(matrixlaboratory)之意。除具备卓越的数值计算能力外, 它还提供了专业水平的符号计算,文字处理,可视化建模仿真

13、和实时控制等功能。 matlab 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分 相似,故用 matlab 来解算问题要比用 c、fortran 等语言完相同的事情简捷得多。 matlab 包括拥有数百个内部函数的主包和三十几种工具包(toolbox)。工具包又可 以分为功能性工具包和学科工具包。功能工具包用来扩充 matlab 的符号计算、可视化 建模仿真、文字处理及实时控制等功能。学科工具包是专业性比较强的工具包、控制工 具包、信号处理工具包、通信工具包等都属于此类。 开放性使 matlab 广受用户欢迎.除内部函数外,所有 matlab 主包文件和各种工 具包都是可读可

14、修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专 用工具包。 1.2 matlab 的语言特点 matlab 最突出的特点就是简洁。matlab 用更直观的,符合人们思维习惯的代码, 代替了 c 和 fortran 语言的冗长代码。matlab 给用户带来的是最直观,最简洁的程 序开发环境。以下简单介绍一下 matlab 的主要特点: 1语言简洁紧凑,使用方便灵活,库函数极其丰富。matlab 程序书写形式自由, 利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于 库函数都由本领域的专家编写,用户不必担心函数的可靠性。 2运算符丰富。由于 matlab

15、是用 c 语言编写的,matlab 提供了和 c 语言几 乎一样多的运算符,灵活使用 matlab 的运算符将使程序变得极为简短。 3matlab 既具有结构化的控制语句(如 for 循环,while 循环,break 语句和 if 语 句),又有面向对象编程的特性。 4程序限制不严格,程序设计自由度大。例如,在 matlab 里,用户无需对矩阵 预定义就可使用。 5程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上 运行。 6matlab 的图形功能强大。在 fortran 和 c 语言里,绘图都很不容易,但在 matlab 里,数据的可视化非常简单。matlab 还具有

16、较强的编辑图形界面的能力。 7matlab 的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于 matlab 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度 较慢。 8功能强大的工具箱是 matlab 的另一特色。matlab 包含两个部分:核心部分 和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能 性工具箱和学科性工具箱。 9源程序的开放性。开放性也许是 matlab 最受人们欢迎的特点。除内部函数以 外,所有 matlab 的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文 件的修改以及加入自己的文件构成新的工具箱。 2 语

17、音信号的采集 首先利用 windows 下的录音机,录制一段自己的话音,时间在 1 s 内,存为文件: music.wav。然后在 matlab 软件平台下,利用函数 wavread 对语音信号进行采样,记下 采样频率和采样点数为:pcm 44.100 khz, 16 位。通过 wavread 函数的使用,我们能很快 理解采样频率、采样位数等概念。 利用函数 wavread 对语音信号的采集的程序如下: close all; i=1; x,fs,bits=wavread(music.wav); %x:语音数据;fs:采样频率;bits:采样点数 sound(x,fs,bits); %话音回放

18、n=length(x); n=0:n-1; figure(i); subplot(2,1,1); plot(n,x); %画出原始语音信号的波形 xlabel(n); ylabel(x(n); title(原始语音信号); subplot(2,1,2); h,f=freqz(x,1,512,fs); plot(f,20*log10(abs(h); %画出原始语音信号的频谱 xlabel(n); ylabel(x(n); title(原始语音信号的频谱); 文件名 ywavread 运行结果:fs = 22.050 khz bits =16 图 1 原始语音信号及其频谱 3 语音信号的频谱分析

19、先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到 信号的频谱特性。语音信号的 fft 频谱分析程序如下: f=fft(x,n); %对语音号进行快速傅里叶变换,得出频谱 i=i+1; figure(i); plot(abs(n),abs(f); xlabel(k); ylabel(|y(k)|); title(fft后的波形); 运行结果: 图 2 傅里叶变换后的频谱 4 设计数字滤波器和画出其频率响应 要求用窗函数法和双线性变换法设计以下三种数字滤波器,其性能指标如下: a.低通滤波器性能指标 fb=1000hz ,fc=1200hz ,最大衰减 as=100db ,最小衰减

20、ap=1db ; b.高通滤波器性能指标 fs=4800hz,fb=5000hz, 最大衰减 as=100db ,最小衰减 ap=1db ; c.带通滤波器性能指标 fb1=1200hz,fb2=3000hz , fc1=1000hz, fc2=3200hz,最大 衰减 as=100db ,最小衰减 ap=1db ; 4.1 fir 滤波器的分析与设计 iir 滤波器的最大缺点是不容易实现线性相位,而在语音、图像、数据通信等系统中 普遍都要求数字滤波器具有线性相位特性,fir 滤波器正是因为具有线性相位特性因而在 各个科技领域都获得了广泛的应用。设计 fir 常用方法有窗函数法、频率采样法等,

21、本 次课程设计采用的是窗函数法。 4.1.1 窗函数法设计 fir 滤波器 fir 滤波器的设计目标就是通过傅里叶变换,得到理想滤波器与近似数字滤波器在 频域上的对应关系为 , 就称为窗函数。用实际的系统函 数逼近理想的系统函数时,其精确程度取决于窗函数的频率特性。经过截取后,会带来 误差,在频域上引起截断效应,称为吉布斯效应(gibbs)。为了改善这种情况,需要窗函 数的主瓣宽度尽可能窄,以获得最小的过渡带;旁瓣相对值尽可能小,以使通带波纹小, 并且阻带衰减大。实际上,这两个要求并不能同时满足,如何设计尽量满足这两个条件 的窗函数就是用窗函数的关键所在。用窗函数设计 fir 滤波器,需要根据

22、给定的滤波器 指标选择适当的窗函数和窗函数的宽度 n。 利用窗函数法设计 fir 滤波器的步骤为: (1)根据设计的技术要求确定待求滤波器的单位脉冲响应或频域响应。 (2)根据实际中对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗长度 n。 jj d j eweheh* 2 1 nw (3)计算滤波器的单位脉冲响应。 (4)检验所设计的滤波器的性能,根据是否达到设计指标重复上述步骤。 4.1.2 fir 低通滤波器 4.1.2.1 程序设计及流程图 (1)程序设计 fp=1000;fs=1200;as=120;fs=22050; %确定技术指标 wp=2*pi*fp/fs; ws=2*pi

23、*fs/fs; %求归一化频率 wo=ws-wp; %求过渡带 beta=0.1102*(as-0.87); %求凯泽窗函数参数 n=ceil(as-8)/2.285/wo); %由过渡带决定 n 的值 wc=(wp+ws)/2/pi; b=fir1(n,wc,kaiser(n+1,beta); hw,w=freqz(b,1); figure(1); plot(w*fs/2/pi,20*log10(abs(hw); %绘制频率响应曲线 grid ; title(fir 低通滤波器); (2)程序流程图 凯泽窗低通滤波器设计流程图如图 3 所示: 开始 确定模拟低通滤波器的技术指标 技术指标从模

24、拟到数字转换 利用 fir1 函数确定滤波器的实际单位脉冲响应 h(n) 利用 freqz 函数确定幅频响应 作出凯泽窗低通滤波器的幅频响应曲 线 计算中心频率、过渡带宽,设定旁瓣高度 alfa 结束 图 3 凯泽窗低通滤波器设计流程图 4.1.2.2 输出结果仿真 图 4 凯泽窗低通滤波器的幅频特性 4.1.3 fir 高通滤波器 4.1.3.1 程序设计及流程图 (1)程序设计 fp=5000;fs=4800;fs=22050;as=135; %确定技术指标 wp=2*pi*fp/fs;ws=2*pi*fs/fs; %求归一化频率 wo=wp-ws; %求过渡带 beta=0.1102*(

25、as-0.87); %求凯泽窗函数参数 n=ceil(as-8)/2.285/wo); %由过渡带决定 n 的值 wc=(wp+ws)/2/pi; b=fir1(n,wc,high,kaiser(n+1,beta); hw,w=freqz(b,1); figure(1); plot(w*fs/2/pi,20*log10(abs(hw);grid ; title(fir 高通滤波器的幅频特性); (2)程序流程图 凯泽窗高通滤波器设计流程图如图 5 所示: 图 5 凯泽窗高通滤波器设计流程图 4.1.3.2 输出结果仿真 图 6 凯泽窗高通滤波器的幅频特性 开始 确定模拟高通滤波器的技术指标 技

26、术指标从模拟到数字转换 利用 fir1 函数确定滤波器的实际单位脉冲响应 h(n) 利用 freqz 函数确定幅频响应 作出凯泽窗高通滤波器的幅频响应曲线 计算中心频率、过渡带宽,设定旁瓣高度 alfa 结束 4.1.4 fir 带通滤波器 4.1.4.1 程序设计及流程图 (1)程序设计 fb1=1000;fc1=1200;fb2=3000;fc2=3200; %确定技术指标 rs=120;fs=22050; wp1=2*pi*fc1/fs;ws1=2*pi*fb1/fs; %求归一化频率 wp2=2*pi*fb2/fs;ws2=2*pi*fc2/fs; wo1=wp1-ws1;wo2=ws

27、2-wp2; wo=max(wo1,wo2); %求过渡带 beta=0.1102*(rs-0.87); %求凯泽窗函数参数 n=ceil(rs-8)/2.285/wo); %由过渡带决定 n 的值 wn1=(fb1+fc1)/fs;wn2=(fb2+fc2)/fs;wn=wn1,wn2; b=fir1(n,wn,band,kaiser(n+1,beta); hw,w=freqz(b,1,512,fs); figure(1); plot(w,20*log10(abs(hw); %绘制频率响应曲线 grid ; title(fir 带通滤波器); (2)程序流程图 凯泽窗带通滤波器设计流程图如图

28、 7 所示: 开始 确定模拟带通滤波器的技术指标 技术指标从模拟到数字转换 利用 fir1 函数确定滤波器的实际单位脉冲响应 h(n) 利用 freqz 函数确定幅频响应 作出凯泽窗带通滤波器的幅频响应曲线 计算中心频率、过渡带宽,设定旁瓣高度 alfa 结束 图 7 凯泽窗带通滤波器设计流程图 4.1.4.2 输出结果仿真 图 8 凯泽窗带通滤波器的幅频特性 4.2 iir 滤波器的分析与设计 4.2.1 双线性变换法设计 iir 滤波器 利用模拟滤波器来设计 iir 数字滤波器是最常见的方法,其设计过程是按照技术要 求设计模拟滤波器,得到其系统函数,然后经过一定的变换,得到满足要求的数字

29、sha 滤波器的。这种设计方法的优点是模拟滤波器的设计理论很成熟,有很多现成的公 zh 式、表格、图形、和曲线可以直接使用,从而使 iir 数字滤波器的设计变得很简单。 iir 数字滤波器的设计有两种方法:脉冲响应不变法和双线性变换法。本次课设采 用的是双线性变换法。 4.2.2 iir 低通滤波器 4.2.2.1 程序设计及流程图 (1)程序设计 fp=1000;fs=1200;fs=22050; %确定技术指标 ap=1;as=10; wp=2*pi*fp/fs; %归一化,求得数字边缘频率 ws=2*pi*fs/fs; ts=1/fs; wap=2/ts*tan(wp/2); %将数字指

30、标转换成模拟指标 was=2/ts*tan(ws/2); n,wc=buttord(wap,was,ap,as,s); %选择滤波器的最小阶数 z,p,k=buttap(n); %创建 butterworth 模拟滤波器 bap,aap=zp2tf(z,p,k); b,a=lp2lp(bap,aap,wc); bz,az=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换 h,w=freqz(bz,az); figure(1); plot(w*fs/(2*pi),20*log10(abs(h); %绘制频率响应曲线 grid; axis(0,3000,-20,

31、2); xlabel(频率hz); ylabel(幅度/db); title(巴特沃兹低通滤波器); (2)程序流程图 巴特沃兹低通滤波器设计流程图如图 9 所示: 图 9 巴特沃兹低通滤波器设计流程图 4.2.2.2 输出结果仿真 开始 结束 确定模拟低通滤波器的技术指标 归一化,求数字边缘频率 技术指标从数字到模拟转换 确定滤波器的阶数 n 和 wc 计算归一化滤波器的零点,极点和增益 模拟低通滤波器的系统函数 模拟低通到模拟低通:令 wc=wap,反归一化 双线性变换法:实现 h(s)到 h(z)的转化 h(z)的幅频特性 作出 h(z)的幅频特性曲线 图 10 巴特沃兹低通滤波器的幅频

32、特性 4.2.3 iir 高通滤波器 4.2.3.1 程序设计及流程图 (1)程序设计 fp=5000;fs=4800;fs=22050; %确定技术指标 ap=1;as=10; wp=2*pi*fp/fs; %归一化,求得数字边缘频率 ws=2*pi*fs/fs; ts=1/fs; wap=2/ts*tan(wp/2); %将数字指标转换成模拟指标 was=2/ts*tan(ws/2); n,wc=buttord(wap,was,ap,as,s); %选择滤波器的最小阶数 z,p,k=buttap(n); %创建 butterworth 模拟滤波器 bap,aap=zp2tf(z,p,k);

33、 b,a=lp2hp(bap,aap,wc); bz,az=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换 h,w=freqz(bz,az); figure(1); plot(w*fs/(2*pi),20*log10(abs(h); %绘制频率响应曲线 grid; axis(3000,6000,-20,2); xlabel(频率hz); ylabel(幅度/db); title(巴特沃兹高通滤波器); (2)流程图 巴特沃兹高通滤波器设计流程图如图 11 所示: 图 11 巴特沃兹高通滤波器设计流程图 4.2.3.2 输出结果仿真 开始 结束 确定模拟高通

34、滤波器的技术指标 归一化,求数字边缘频率 技术指标从数字到模拟转换 确定滤波器的阶数 n 和 wc 计算归一化滤波器的零点,极点和增益 模拟高通滤波器的系统函数 模拟低通到模拟高通:令 wc=wap,反归一化 双线性变换法:实现 h(s)到 h(z)的转化 h(z)的幅频特性 作出 h(z)的幅频特性曲线 图 12 巴特沃兹低通滤波器的幅频特性 4.2.4 iir 带通滤波器 4.2.4.1 程序设计及流程图 (1)程序设计 fp1=1200;fp2=3000;fs1=1000;fs2=3200;fs=22050;%确定技术指标 ap=1;as=10; wp1=2*pi*fp1/fs;wp2=

35、2*pi*fp2/fs; %归一化,求得数字边缘频率 ws1=2*pi*fs1/fs;ws2=2*pi*fs2/fs; ts=1/fs; wap1=2/ts*tan(wp1/2);wap2=2/ts*tan(wp2/2); %将数字指标转换成模拟指标 was1=2/ts*tan(ws1/2);was2=2/ts*tan(ws2/2); wap=wap1,wap2;was=was1,was2; w1=(wap1+was1)/2;w2=(wap2+was2)/2; bw=w2-w1; %求带宽 wo=sqrt(w1*w2); n,wc=buttord(wap,was,ap,as,s); %选择滤波

36、器的最小阶数 z,p,k=buttap(n); %创建 butterworth 模拟滤波器 bap,aap=zp2tf(z,p,k); b,a=lp2bp(bap,aap,wo,bw); bz,az=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换 h,w=freqz(bz,az); figure(1); plot(w*fs/(2*pi),20*log10(abs(h); %绘制频率响应曲线 grid; axis(800,5000,-20,2); xlabel(频率hz); ylabel(幅度/db); title(巴特沃兹带通滤波器); (2)流程图 巴特

37、沃兹带通滤波器设计流程图如图 11 所示: 开始 结束 确定模拟带通滤波器的技术指标 归一化,求数字边缘频率 技术指标从数字到模拟转换 确定滤波器的阶数 n 和 wc 计算归一化滤波器的零点,极点和增益 模拟低通滤波器的系统函数 模拟低通到模拟带通:令 wc=wap,反归一化 双线性变换法:实现 h(s)到 h(z)的转化 h(z)的幅频特性 作出 h(z)的幅频特性曲线 图 13 巴特沃兹带通滤波器设计流程图 4.2.4.2 输出结果仿真 图 14 巴特沃兹带通滤波器的幅频特性 5 声音信号的滤波 滤波是把信号的某些频率分量分离出来或去掉的过程,能完成这种功能的器件就称 为滤波器。利用前面设

38、计好的各种滤波器来实现对某些声音信号的滤波,从而改变输入 信号所包含的频率成分的相对比例或滤出某些频率成分。 5.1 对信号进行滤波的流程 (1)利用 wavread 函数把指定路径下的 wav 格式的声音文件读入矢量中,采用自己录 制的音乐,采样率是 22050hz。 x=wavread(f:ewb512jie.wav); (2)利用 sound 函数对原始语音信号进行回放。 sound(x,22050); (3)利用 filter 函数对样本信号进行滤波处理,以设计好的 iir 滤波器为例, y=filter(bz,az,x); (4) 利用 sound 函数对原始语音信号进行回放。 so

39、und(y,fs); (5)利用 plot 函数分别作出信号在滤波前后的时域波形图并比较。 plot(x); plot(y) (6)利用 fft 函数对滤波前后的信号进行 1024 点的快速傅里叶变换 fft,采用一次基 2 按时间抽取。 x=fft(x,1024);y=fft(y,1024); f=fs*(0:511)/1024; (7)利用 plot 函数分别作出信号在滤波前后的频域波形图并进行比较。 plot(f,abs(x(1:512); plot(f,abs(y(1:512); 具体程序见附录。 5.2 对信号进行滤波的仿真 由于使用的是同一个原始语音信号,所以无论经 iir 还是经

40、 fir 滤波器滤波后的波形 都一样。以下分别作出了信号在滤波前后的时域和频域的波形,通过观察图形,我们可 以判断:使用不同类型的滤波器,则声音信号的相应频段上的能量被过滤掉了,其余部 分则保留下来,所以设计的滤波器基本满足技术要求。 5.2.1 滤波前后的时域对比 低通滤波前后的时域波形如图 15 所示: 图 15 低通滤波前后的时域波形 高通滤波前后的时域波形如图 16 所示: 图 16 高通滤波后的时域波形 带通滤波前后的时域波形如图 17 所示: 图 17 带通滤波后的时域波形 5.2.2 滤波前后的频域对比 原始语音信号滤波前的频谱图如图 18 所示: 图 18 原始语音信号滤波前的

41、频谱图 低通滤波后的频谱图如图 19 所示: 图 19 低通滤波后的频谱图 高通滤波后的频谱图如图 21 所示: 图 21 高通滤波后的频谱图 带通滤波后的频谱图如图 20 所示: 图 20 带通滤波后的频谱图 6 总结及心得体会 通过这次的课程设计,我对 matlab 这个软件有了新的更深的认识, 也进一步熟 悉了 matlab 的使用,感觉到 matlab 软件功能的强大,大大增加了我对 matlab 的兴趣。 这次个人语音信号处理里,比较重要的函数有 wavread 函数、sound 函数等,通过上 网和在图书馆查找相关书籍,了解了他们的基本用法。关于滤波也是很重要的一部分, 有 fir

42、 滤波器和 iir 滤波器的设计。通过自主学习,我很快地掌握编程方法和解决实际问 题的技巧,取得了良好的效果,同时加强了理论和实际结合的能力,培养了我们的综合 设计能力与实际工作能力。它可以让我们把平时所学到的知识真正的运用于实际,让我 们体会到专业课学习的乐趣。课程设计的过程中,我们通过交流和讨论,可以发现自身 的不做,找出差距,共同进步。 总的来说,这次课设使自己进一步巩固了 matlab 和信号系统方面的知识,加强了 理论与实践的联系,为以后的学习打下了坚实的基础。虽然并未得到让自己很满意的效 果,但是我也从中学到了很多在课本中学不到的东西。通过这次的课程设计,让我对课 本上较少涉及的东

43、西有了进一步的了解,也对 matlab 设计产生了浓厚的兴趣,这对我 们的思考能力和动手能力有了很大帮助。 7 参考文献 1数字信号处理原理及 matlab 实现 丛玉良 北京:电子工业出版社,2009 2数字信号处理与应用 李正周 北京:清华大学出版社,2008 3matlab 信号处理与应用 董长虹,余啸海 北京:国防工业出版社,2005 4matlab7.0 辅助信号处理技术及应用 电子工业出版社 2005 5数字信号处理教程matlab 释义与实现 陈怀琛主编 电子工业出版社 2004.06 6matlab 语言以及在电子信息工程中的应用 王洪元主编 清华出版社 2004.12 附 录

44、 声音信号的滤波部分程序 fir 低通滤波器: ylabel(幅度/db);xlabel(频率/hz);axis(0,8000,-200,10); x=wavread(f:applicationsmatlab7workmusic.wav); %利用函数 wavread 对原始语音信号进行采样 sound(x,22050); %回放原始语音信号 pause; y=filter(b,1,x); %语音信号经滤波器滤波 sound(y,22050); %播放滤波后的信号 figure(2);subplot(2,1,1);stem(x); %输出原始语音信号的脉冲响应 title(输入信号时域波形);

45、 xlabel(f/hz);ylabel(幅度);subplot(2,1,2); stem(y); %输出原始语音信号经滤波器滤波后的脉冲响应 title(输出信号时域波形); xlabel(f/hz);ylabel(幅度); pause; figure(3); x=fft(x,1024); %对滤波后的信号进行傅里叶变换并进行 1024 点采样 y=fft(y,1024); %对原始语音信号进行傅里叶变换并进行 1024 点采样 f=fs*0:1023/1024; subplot(2,1,1);plot(f,abs(x); %输出原始语音信号频谱图 title(原始语音信号的 fft 波形)

46、; ylabel(幅度);xlabel(频率/hz);axis(0,8000,0,1);subplot(2,1,2); plot(f,abs(y); %输出原始语音信号经滤波器滤波后的频谱图 title(原始语音信号经滤波器滤波后的 fft 波形); ylabel(幅度);xlabel(频率/hz); axis(0,8000,0,1); fir 高通滤波器: ylabel(幅度/db);xlabel(频率/hz);axis(0,10000,-200,10); x=wavread(f:applicationsmatlab7workmusic.wav); %利用函数 wavread 对原始语音信号

47、进行采样 sound(x,22050); %回放原始语音信号 pause; y=filter(b,1,x); %语音信号经滤波器滤波 sound(y,22050); %播放滤波后的信号 figure(2);subplot(2,1,1);stem(x); %输出原始语音信号的脉冲响应 title(输入信号时域波形); xlabel(f/hz);ylabel(幅度);subplot(2,1,2); stem(y); %输出原始语音信号经滤波器滤波后的脉冲响应 title(输出信号时域波形); xlabel(f/hz);ylabel(幅度); pause; figure(3); x=fft(x,10

48、24); %对滤波后的信号进行傅里叶变换并进行 1024 点采样 y=fft(y,1024); %对原始语音信号进行傅里叶变换并进行 1024 点采样 f=fs*0:1023/1024; subplot(2,1,1);plot(f,abs(x); %输出原始语音信号频谱图 title(原始语音信号的 fft 波形); ylabel(幅度);xlabel(频率/hz);axis(0,10000,0,1); subplot(2,1,2);plot(f,abs(y); %输出原始语音信号经滤波器滤波后的频谱图 title(原始语音信号经滤波器滤波后的 fft 波形); ylabel(幅度);xlab

49、el(频率/hz); axis(0,10000,0,0.1); fir 带通滤波器: ylabel(幅度/db);xlabel(频率/hz);axis(0,8000,-200,10); x=wavread(f:applicationsmatlab7workmusic.wav); %利用函数 wavread 对原始语音信号进行采样 sound(x,22050); %回放原始语音信号 pause; y=filter(b,1,x); %语音信号经滤波器滤波 sound(y,22050); %播放滤波后的信号 figure(2);subplot(2,1,1);stem(x); %输出原始语音信号的脉冲

50、响应 title(输入信号时域波形); xlabel(f/hz);ylabel(幅度);subplot(2,1,2); stem(y); %输出原始语音信号经滤波器滤波后的脉冲响应 title(输出信号时域波形); xlabel(f/hz);ylabel(幅度); pause; figure(3); x=fft(x,1024); %对滤波后的信号进行傅里叶变换并进行 1024 点采样 y=fft(y,1024); %对原始语音信号进行傅里叶变换并进行 1024 点采样 f=fs*0:1023/1024; subplot(2,1,1);plot(f,abs(x); %输出原始语音信号频谱图 ti

51、tle(原始语音信号的 fft 波形); ylabel(幅度);xlabel(频率/hz);axis(0,8000,0,1);subplot(2,1,2); plot(f,abs(y); %输出原始语音信号经滤波器滤波后的频谱图 title(原始语音信号经滤波器滤波后的 fft 波形); ylabel(幅度);xlabel(频率/hz); axis(0,8000,0,1); iir 低通滤波器: x1=wavread(f:applicationsmatlab7workmusic.wav); %利用函数 wavread 对原始语音信号进行采样 sound(x1,22050); %回放原始语音信号

52、 pause; figure(2) f1=filter(bz,az,x1); %语音信号经滤波器滤波 sound(f1,22050); %播放滤波后的信号 subplot(2,1,1); plot(x1); %画出滤波前的时域图 title(滤波前的时域波形); xlabel(f/hz);ylabel(幅度);subplot(2,1,2); plot(f1); %画出滤波后的时域图 title(滤波后的时域波形); xlabel(f/hz);ylabel(幅度); pause; figure(3) y=fft(f1,1024); %对滤波后的信号进行傅里叶变换并进行 1024 点采样 f=fs*(0:511)/1024; y1=fft(x1,1024); %对原始语音信号进行傅里叶变换并进行 1024 点采样 subplot(2,1,1);pl

温馨提示

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

最新文档

评论

0/150

提交评论