DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计

上传人:1777****777 文档编号:38991832 上传时间:2021-11-09 格式:DOC 页数:29 大小:395.03KB
收藏 版权申诉 举报 下载
DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计_第1页
第1页 / 共29页
DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计_第2页
第2页 / 共29页
DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计_第3页
第3页 / 共29页
资源描述:

《DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计》由会员分享,可在线阅读,更多相关《DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计(29页珍藏版)》请在装配图网上搜索。

1、吉林工程技术师范学院DSP语音信号处理课程设计报告书设计内容: 语音信号处理GUI工具箱设计 专 业: 电子信息 班级: 0742 学生姓名: 学号: 29 指导教师: 信息工程学院 摘要语音信号处理是研究数字信号要处理技术和语音信号进行处理的一门学科,是一门新型的学科,是在多们学科基础上发展起来的综合性技术,它设计到数字信号处理、模式识别、语言学、语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。处理的目的是要得到一些语音参一以便高效地传输或储存;或者是通过处理的某种运算以达到某种用途的要求。语音信号处理又是一门新兴的边缘学科。如上所述,它是“语言语音学”与“数字信号处理”两

2、个学科相结合的产物。语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展。在数字音频技术和多媒体技术迅速发展的今天,传统的磁带语音录放系统因体积大、使用不便、放音不清晰而受到了巨大挑战。本课题组提出的体积小巧,功耗低的数字化语音存储与回放系统,可以有效的解决传统的语音录放系统在电子与信息处理的使用中受到的限制。 本文提出了语音信号处理课程建设的实验环节中的一些考虑,作为专业课程的学习,实验内容不能仅仅停留在验证性实验上,还应增加实验延伸的设计要求,使学生加深对理论分析认识的同时,强调培养学生的实际动手能力和知识综合运用能力。从而提高语音信

3、号的教学和实验的质量。实验内容采用MATLAB编程实现,不仅易于语音信号处理的实现,更易引导学生完成实验延伸的设计。关键字:MATLAB软件 语音信号处理 实验设计I 目录目 录摘 要 第一章 绪论11.1 选题背景11.2 课题任务11.3 课题意义1第二章 理论基础及系统要求22.1 引言22.2 课程设计基本要求22.3 系统基本原理2第三章 设计方案论证33.1设计理论依据3第四章 图形用户界面设计4 4.1图形用户界面概念4 4.2用户界面设计4第五章 课程设计的软件实现8 5.1部分函数语法格8 5.2语音信号处理的相关函数8 5.3 GUI实验箱操作界面设计14第六章 心得体会1

4、5附录源代码13参考文献1I DSP语音信号处理系统课程设计第一章 绪论1.1 选题背景 在我们的现实生活中从磁带、录像带到CD、VCD、DVD;从黑白电视机、彩色电视机、高清晰度电视机(HDTV)到具有数字信号处理功能的电视机;从留声机、录音机到语音信箱;现在正处在模拟信息到数字信息的变革之中,传统的磁带语音录放系统因其体积大,使用不便,在电子与信息处理的使用中受到许多限制。 虽然,目前广播电视系统尚未实现真正的数字化,相信在不久的将来,真正的数字电视机、数字收音机、数字收录机将进入家庭。所以,研究音频信号的数字化存储、处理和回放系统有着很重要的现实意义。通过设计语音信号实验箱可以对语音信号

5、实现各种形式的变换,因此学会对语音信号的处理,也可自行研究将此语音处理技术应用到现实生活中。1.2 课题任务 本实验任务所提出的语音信号处理实验箱系统,其基本原理是对语音的录音和放音进行数字化控制.其中,关键技术在于:为了增加语音存储时间,提高存储器的利用率,采用了非失真压缩算法对语音信号进行压缩后再存储,而在回放是再进行解压缩;同时,对输入语音信号进行数字滤波以抑制杂音和干扰,从而确保了语音回放的可靠质量. 通过设计一个GUI实验箱,并添加相应的控制控件,添加一个声音文件,通过MATLAB编程,使其通过各种按钮实现语音信号处理的各种功能,最后做成一个完整的语音信号处理实验箱。1.3 课题意义

6、:语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手段,通过语言相互传递信息是人类最重要的基本功能之一,语言是人类特有的功能,它是创造和记载几千年来人类文明史的根本手段,没有语言就没有今天的人类文明,语音是语言的声学表现,是相互传递信息的重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域行业涉及面很广的交叉学科。第二章 理论基础及系统要求2.1 引言目前,随着数字化信号处理技术的不断提高,单片机,数字信号处理器以及语音处理大

7、规模集成电路的进步,语音合成,语音识别,语音存储和回放技术的应用越来越广泛.本文提出的体积小巧,功耗低的数字化语音存储与回放系统将完全可以替代传统的语音录放系统.2.2 课程设计基本要求(1)学会MATLAB的使用,掌握MATLAB的程序设计方法;(2)掌握在windows 环境下语音信号采集的方法;(3)掌握数字信号处理的基本概念,基本理论和基本方法;(4)掌握MATLAB设计的方法;(5)学会用MATLAB对信号进行分析和处理。2.3 系统基本原理语音采集原理是,人耳能听到的声音是一种频率范围为20Hz20kHz,而一般语音频率最高为3.4kHz.语音的采集是指语音声波信号经麦克风和高频放

8、大器转换成有一定幅度的模拟量电信号,然后再转换成数字量的全过程.本次设计的基本原理是对语音的录音和放音进行数字化控制.其中,关键技术在于:为了增加语音存储时间,提高存储器的利用率,采用了非失真压缩算法对语音信号进行压缩后再存储,而在回放是再进行解压缩;同时,对输入语音信号进行数字滤波以抑制杂音和干扰,从而确保了语音回放的可靠质量. 通过设计一个GUI实验箱,并添加相应的控制控件,添加一个声音文件,通过MATLAB编程,使其通过各种按钮实现语音信号处理的各种功能,最后做成一个完整的语音信号处理实验箱。第三章 设计方案论证3.1 设计理论依据3.1.1采样定理:在进行模拟/数字信号的转换过程中,当

9、采样频率fs.max大于信号中,最高频率fmax的2倍时,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5-10倍;采样定理又称乃奎斯特定理。3.1.2 采样频率: 采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调、衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也就越精确,采样频率与声音频率之间有一定的关系,根据奈奎斯特理论,只有采样频率高于声音信号最高频率的2倍的时候,才能把数字信号表示的声音还原成为原来的声音,这就是说采样频率是衡量声卡采集、

10、记录和还原声音文件的质量标准。3.1.3 采样位数与采样频率采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时候使用数字声音信号的二进制为数。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样频率对于音频接口来说是最为重要的两个基本指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似一个照相机。显然采样率越高,计算机提取的图片越多,对于原始 的还

11、原也越加精确。第四章 图形用户界面设计4.1图形用户界面概念图形用户界面或图形用户接口是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUI是MATLAB提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。4.2用户界面设计4.2.1 GUI设计模板在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。MATLAB为GUI设计一共准备了四个模板,分别是Blank GUI、GUI with Uicontrols、GUI with

12、 Axes and Menu、Modal Question Dialog。当用户选择不同的模板时,在GUI设计模板界面的右边就会现实出与该模板对应的GUI图形。4.2.2 GUI设计窗口在GUI设计模板中选中一个模板,然后单击OK按钮,就会现实GUI设计窗口,选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help六个菜单项,使用其中的命令可以完成图形用户界面的设计操作。 4.2.3 GUI设计窗口的基本操作(1)前面板的设

13、计:在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。如下图所示。例如,创建一个Push Button对象,并设计该对象的属性值。 图4-1 按钮属性编辑器通过以上的按钮属性编辑器可以根据个人情况对按钮的名称、颜色、大小等方面的属性进行修改,使按钮在视觉上变的更加完美。(2)按钮功能的实现:在GUI设计窗口创建按钮后,通过右键单击按钮,选择view callbacks 下的callback对相应的按钮进行编程,使按钮实现相应的功能,如下图所示对按钮的相应功能进行设置。 图4-2 按钮功能编辑器进入到按钮程序编辑窗口,通过编程即可实现按钮的相应功能,如下图: 图4-3

14、按钮的编程实现界面通过对各个按钮控件的修改,和对m文件程序的添加就完成对GUI窗口的设计,最后得到的图形化操作界面如下图所示: 图4-4 图形化操作界面4.2.4 语音的录入与打开 在MATLAB中,y,fs,bits=wavread(Blip,N1 N2);用于读取语音,采样值放在向y中,fs表示采样频率,bits表示采样位数。N1 N2表示读取从N1点到N2点的值。 Sound(x,fs,bits);用于对声音的回放,向量y则就代表了一个信号也就是说可以像处理一个信号表达式一样处理这个声音信号。第五章 课程设计的软件实现5.1部分函数语法格式读wav文件: x=wavread(filena

15、me) 数组a及b中元素相乘: a.*b创建图形窗口命令: figure绘图函数: plot(x) 坐标轴: axis(xmin xmax ymin ymax)坐标轴注解: xlabel() ylabel() 图例注解: legend()一阶高通滤波器: y=filter(1-0.09375,1,x)分帧函数: f=enframe(x,len,inc) x为输入语音信号,len指定了帧长,inc指定帧移,函数返回为nlen的一个矩阵,每一行都是一帧数据。5.2 语音信号处理的相关函数5.2.1语音信号的短时谱:周期性声门波可表示为: (5-1)其中, gn是声门波的单周期的波形,pn是间隔为

16、P 的周期采样序列。当 un通过线性非时变声道,且该声道的单位冲击响应为 hn时,声道输出为: (5-2)为了观察一段语音,需要将声道输出乘以一个以时刻为中心的窗函数 wn,即得到: (5-3)这段语音信号的频域表达式为 : (5-4)即语音信号的谱包络为 语谱图就是显示时变频谱幅度特征的图形表达式为 (5-5)将语音信号短时谱程序写入到MATLAB中得到单色语谱图的波形如下:图 5-1 语音信号单色语谱图5.2.2 自相关方法估计语音信号的声道参数:由均方预测误差最小的得到正则方程 (5-6)其中, (5-7)在最佳解时的误差为 (5-8)在自相关法中式5-6,式5-8变为 (5-9) (5

17、-10)由式5-9和式5-10可列出方程组式5-11 (5-11)解方程组 式5-9 求出线性预测系数,通过误差式5-11可求出增益G (5-12)加窗后信号频谱图如下:图5-2 加窗后信号频谱图通过以上的方法,改变参数分别求得4极点模型频率响应和6极点模型频率响应,六极点波形如下图所示: 图5-3 六极点波形图最后通过以上方法用一个函数分别实现以上三个功能,三个波形显示在一个界面,通过观察图形,查看它们之间的分别。三者比较所得到的波形如下:图 5-4 三者比较波形图5.2.3 基音周期检测:数据为浊音语音信号speech1_10k(10000 样点/秒)用 25ms 的汉明窗对语音信号 sp

18、eech1_10k 进行加窗处理,并画出所得到的加窗信号的自相关函数,再用根据中心消波法及三电平中心消波法原理改进程序,最后对比中方法基音检测的效果并分析结果。实验原理及方法(1)自相关检测原理:对于离散的数字语音信号序列x(n),如果周期N,则自相关函数也是同周期的周期函数。即:x(n)=x(n+N).清音信号没有周期性,它的自相关函数也没有周期。浊音信号具有准周期性。自相关基因检测正是利用这一性质对语音信号进行基因检测的。(2)中心消波法检测原理:中心消波处理是使用如下图所示的中心消波函数进行处理的: 图5-5 中心消波检测图(3)三电平消波法原理:为了减少自相关计算中的乘法运算,可以把上

19、述中心消波以后的信号y(n)的自相关用两个信号的互相关代替,其中一个信号是y(n)另一个信号是对y(n)进行三电平量化产生的结果。且这个信号有三种可能的取值,因而这里的互相关计算只需要做加减法,而这个互相关序列的周期性与y(n)的自相关序列是近似相同的。三电平法对语音信号处理得到的波形如下: 图5-6 三电平法波形图中心消波法得到的波形如下图: 图5-7 中心消波法波形图5.3 GUI实验箱操作界面设计 通过对各个控件的编程和对参数的设计,最后得到的GUI实验箱操作界面如下图所示,通过界面上的各个按钮即可实现相应的功能。 图 5-8 GUI实验箱操作界面 第六章 心得体会通过本次课程设计完成了

20、对语音信号的读取与打开,与课题的要求十分相符;初略的完成了界面的设计,但也存在相当的不足,达到了打开语音文件,显示已定波形。语音信号处理时语音学与数字信号处理技术相结合的交叉学科,将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,体现了数字信号处理技术。本次课程设计时希望将数字信号处理技术应用于某一实际领域,这里就是指对语音的处理。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需要将这些离散的量提取出来,就可以对其进行处理了。本次课设,用到了处理数字信号的强有力工具MATLAB,通过MATLAB里几个命令函数的调用,很轻易的在实际化语音与数字信号的理论之间搭了一座桥

21、。最后,还利用了MATLAB的另一强大功能GUI界面设计。设计出了一个简易的用户应用界面,可以让人实现界面操作。通过本次课程设计让我更加了解了语音信号处理在现实中的强大的应用空间,同时查阅了很多相关的资料,应用MATLAB软件来完成,熟练掌握了MATLAB软件,本次课程设计要求用GUI设计模块,查阅了很多资料,更加深刻的了解了这方面知识。本次课程设计,我明白了理论的学习需要在实践中才能得到巩固。在课程设计中,只有动手慢慢研究,才能真正了解MATLAB的运用以及各个基本函数的调用方法,掌握GUI实验箱的设计方法及在MATLAB软件平台中可以直接设计数字滤波器的各个函数的调用,对设计GUI实验箱的

22、所有函数的运用有了比较好的认识。通过这个课程设计,我学到了很多MATLAB和语音信号的知识,提高了自己在语音信号设计方面的知识能力,动手能力和思维能力都得到了一定的提升,希望自己以后可以更多的继续学习这一门课程设计方面的知识。- 9 - 附录(源程序代码)附录1.源程序代码:function varargout = Likunpeng(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, Likunpeng_Open

23、ingFcn, . gui_OutputFcn, Likunpeng_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction Likunpeng_OpeningFcn(

24、hObject, eventdata, handles, varargin)handles.output = hObject; guidata(hObject, handles);function varargout = Likunpeng_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function pushbutton1_Callback(hObject, eventdata, handles)global file;x=wavread(file);sampling_rate = 44100; lf

25、ft = 1024; lfft2 = lfft/2;winlgh = 1024; frmlgh = 100; noverlap = winlgh - frmlgh;x = 2.0*x/max(abs(x);etime = length(x)/sampling_rate;spec = abs(specgram(x, lfft, sampling_rate, winlgh, noverlap);axes(handles.axes1);plot(1:length(x)/sampling_rate,x) function pushbutton2_Callback(hObject, eventdata,

26、 handles)global file;x=wavread(file);sampling_rate = 44100; lfft = 1024; lfft2 = lfft/2;winlgh = 1024; frmlgh = 100; noverlap = winlgh - frmlgh;x = 2.0*x/max(abs(x);etime = length(x)/sampling_rate;spec = abs(specgram(x, lfft, sampling_rate, winlgh, noverlap);axis(0 etime -2.5 2.5);axes(handles.axes1

27、);imagesc(0:.010:etime, 0:1000:(sampling_rate/2), log10(abs(spec);axis(xy) function pushbutton7_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);r=real(log(fft(fw,L);axes(handles.axes1);plot(r); function pushbutton8_Callback(hObject, eventdata, handl

28、es)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);axes(handles.axes1);plot(fw);function pushbutton5_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);r=real(log(fft(fw,L)pfw=cceps(fw);rpfw=rceps(fw);axes(handles.axes1);plot(rpfw);functi

29、on pushbutton6_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);pfw=cceps(fw);rpfw=rceps(fw);z=rpfw(1:30);logz=real(exp(fft(z,L);axes(handles.axes1);plot(logz);function pushbutton4_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file);

30、L=length(y); fw=y.*hamming(L);r=real(log(fft(fw,L)pfw=cceps(fw);axes(handles.axes1);plot(pfw); function pushbutton3_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); axes(handles.axes1);plot(y); function pushbutton9_Callback(hObject, eventdata, handles)global file;speech1_10k=wavr

31、ead(file,1024 1273);%250sw=speech1_10k.*hamming(250);%a Rsw=xcorr(sw);%a t=0.1:0.1:25;axes(handles.axes1);plot(t,sw); function pushbutton10_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); t=0.1:0.1:length(Rsw)/10; axes

32、(handles.axes1); plot(t,Rsw); function pushbutton11_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); w=pi/512:pi/512:pi; FW2=fft(sw,1024); FW3=FW2(1:512); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1);plot(w,log(abs(

33、FW3);function pushbutton12_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); Rsw4=Rsw(250:253);Rsw(249:252);Rsw(248:251);Rsw(247:250); rea4=inv(Rsw4)*Rsw(251:254); A4=sqrt(Rsw(250)-Rsw(251:254)*rea4); w=pi/512:pi/512:pi;

34、 j=sqrt(-1); FW4=rea4*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4); HW4=A4./(1-FW4); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1);plot(w,log(abs(HW4),g); function pushbutton13_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=

35、xcorr(sw); Rsw6=Rsw(250:255);Rsw(249:254);Rsw(248:253);Rsw(247:252);Rsw(246:251);Rsw(245:250); rea6=inv(Rsw6)*Rsw(251:256); A6=sqrt(Rsw(250)-Rsw(251:256)*rea6); w=pi/512:pi/512:pi; j=sqrt(-1); FW6=rea6*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4);exp(-j*w*5);exp(-j*w*6); HW6=A6./(1-FW6); w=(1/1024:

36、1/1024:0.5)*10000; axes(handles.axes1); plot(w,log(abs(HW6),r); function pushbutton14_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); Rsw4=Rsw(250:253);Rsw(249:252);Rsw(248:251);Rsw(247:250); Rsw6=Rsw(250:255);Rsw(249:

37、254);Rsw(248:253);Rsw(247:252);Rsw(246:251);Rsw(245:250); rea4=inv(Rsw4)*Rsw(251:254); rea6=inv(Rsw6)*Rsw(251:256); A4=sqrt(Rsw(250)-Rsw(251:254)*rea4);A6=sqrt(Rsw(250)-Rsw(251:256)*rea6); w=pi/512:pi/512:pi; j=sqrt(-1); FW4=rea4*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4); FW6=rea6*exp(-j*w);exp(

38、-j*w*2);exp(-j*w*3);exp(-j*w*4);exp(-j*w*5);exp(-j*w*6); HW4=A4./(1-FW4); HW6=A6./(1-FW6); FW2=fft(sw,1024); FW3=FW2(1:512); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1);plot(w,log(abs(FW3),w,log(abs(HW4),w,log(abs(HW6); function pushbutton21_Callback(hObject, eventdata, handles)global file;Y=wa

39、vread(file,1 1800);x1=Y(271:510);x2=Y(271:510);x3=Y(271:510);r=zeros(1,240);for k1=1:1:240 if x2(k1)0 x2(k1)=1; else if x2(k1)=0 x2(k1)=0; else if x2(k1)tc x3(k1)=x3(k1)-tc; else if x3(k1)-tc x3(k1)=x3(k1)+tc; else x3(k1)=0; end endendj=1:240;axes(handles.axes1);plot(j,x3); function pushbutton20_Cal

40、lback(hObject, eventdata, handles)global file;Y=wavread(file,1 1800);x1=Y(271:510);x2=Y(271:510);x3=Y(271:510);r=zeros(1,240);for k=1:240 for n=1:240-k r(k)=r(k)+x1(n)*x1(n+k); endend j=1:240;axes(handles.axes1);plot(j,x1); function pushbutton19_Callback(hObject, eventdata, handles)global file;Y=wav

41、read(file,1 1800);x1=Y(271:510);x2=Y(271:510);x3=Y(271:510);r=zeros(1,240);for k=1:240 for n=1:240-k r(k)=r(k)+x1(n)*x1(n+k); endend j=1:240;axes(handles.axes1);plot(j,r); function pushbutton23_Callback(hObject, eventdata, handles)close function pushbutton24_Callback(hObject, eventdata, handles)glob

42、al file;H=*.wav;filename,pathname=uigetfile(H,);file=strcat(pathname,filename);function pushbutton1_ButtonDownFcn(hObject, eventdata, handles)function pushbutton29_Callback(hObject, eventdata, handles)global file;x=wavread(file);axes(handles.axes1);plot(x);function f=enframe(x,win,inc)nx=length(x(:)

43、;nwin=length(win);if (nwin = 1)len = win;elselen = nwin;endif (nargin 1)w = win(:);f = f .* w(ones(nf,1),:);endfunction pushbutton28_Callback(hObject, eventdata, handles)global file;x=wavread(file);enhance=filter(1-0.9375,1,x);FrameLen=240; FrameInc=80;yframe=enframe(x,FrameLen,FrameInc);amp1=sum(ab

44、s(yframe),2);axes(handles.axes1);plot(amp1);function pushbutton27_Callback(hObject, eventdata, handles)global file;x=wavread(file);enhance=filter(1-0.9375,1,x);FrameLen=240; FrameInc=80;yframe=enframe(x,FrameLen,FrameInc);amp2=sum(abs(yframe.*yframe),2);axes(handles.axes1);plot(amp2);function pushbu

45、tton26_Callback(hObject, eventdata, handles)global file;x=wavread(file);enhance=filter(1-0.9375,1,x);FrameLen=240; FrameInc=80;yframe=enframe(x,FrameLen,FrameInc);tmp1=enframe(x(1:end-1),FrameLen,FrameInc);tmp2=enframe(x(2:end),FrameLen,FrameInc);signs=(tmp1.*tmp2)0.02;zcr=sum(signs.*diffs,2);axes(h

46、andles.axes1);plot(zcr);参考文献参考文献1 刘庆华 陈紫强.基于MATLAB和DSP的语音信号处理课程的建设.电气电子教学学报.2006,10(3):124-128 2 张力.MATLAB在语音信号处理辅助教学中的应用.电气电子教学学报.2005,27卷2 期:96-99 3 邓立新 杨震.信息技术融入“语音信号处理”课程的教学实践.电气电子教学学报.2005,27卷5期:13-16 4 胡航.语音信号处理.哈尔滨工业大学出版社.2005年2月,第二版:96-1015 张平.matlab基础与应用.北京航空航天大学出版社.2007,第二版:135-1376 谢德芳.数字

47、信号处理.北京科学出版社.2005, 第一版:85-927 陈后金 薛健.数字信号处理.北京高等教育出版社.2004, 第一版:65-698 维纳K英格尔 刘树堂.数字信号处理(MATLAB版).西安交通大学出版社.2008, 第二版:204-2089 张小虹.信号系统与数字信号处理.西安电子科技出版社.2002, 第一版:32-3910 蔡启忠.控制系统计算机辅助设计(MATLAB版).重庆大学出版社.2003, 第一版:61-6811 赵力.语音信号处理.机械工业出版社.2003,第二版:168-17212 李昌立 吴善培.数字语音-语音编码实用教材.人民邮电出版社.2004,142-14

48、9 13 易克初.语音信号处理.国防工业出版社.2000,第一版:146-150 14 朱民雄.计算机语音技术(修订版).北京航空航天大学出版社.2002,第一版:152-16815 张建平.数字信号处理实验教程.清华大学出版社.2010,第二版:205-213 16 张雄伟.现代语音处理技术及应用机械工业出版社.2003,第二版:168-17517 吴家安.语音编码技术及应用.机械工业出版社.2006,第一版:258-26218 刘幺和 宋庭新.语音识别与控制应用技术.科学出版社.2008,第二版:162-16519 李昌立 吴善培.数字语音语音编码实用教程.人民邮电出版社.2004,第一版:167-171 20 姚天任.数字语音处理.华中科技大学出版社.1992,第二版:235-238 21 王炳锡.语音编码.西安电子科技大学出版社.2002, 第一版:185-192- 1 -

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!