版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、语音信号处理课程设计题目: dsp语音信号处理专 业:班 级:学 号:姓 名:指导教师:目 录第一章 绪论1.1课程设计的目的及意义目的:通过课程设计,使我们加强对matlab和语音的认识,能够实际操作处理语音信号,并能够应用matlab设计gui界面。能够学会搜集资料,做方案比较,设计出更加完美的界面。意义:进一步提高分析解决问题的能力,创造一个独立完成实验的机会,锻炼分析解决问题能力,实现由课本知识向实际能力的转化,加深对基本原理的了解。 1.2课题的目前发展状况matlab 的名称源自 matrix laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。matlab 将高
2、性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用 matlab 产品的开放式结构,可以非常容易地对 matlab 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 matlab 产品以提高产品自身的竞争能力matlab的数据分析和处理功能十分强大,运用它来进行语音信号的分析、处理和可视化相当便捷。matlab是一种科学计算软件,主要适用于矩阵运算和信息处理领域的分析设计,它使用方便,输入简捷,运算高效,内容丰富,并且很容易由用户自行扩展。matlab当前已成为美国和其他发达国家在大学教学和教学
3、研究中最常用而必不可少的工具。其主要有信号处理(signal processing)、系统控制(control system)、神经网络(neural network)、图形处理(image processing)、鲁棒控制(robust control)、非线形系统控制设计(nonlinear control)、系统辨识(system identification)、最优化(optimisation)、µ分析与综合(µ analysis and synthesis)、模糊逻辑(fuzzy logic)、小波(wavlet)、样条(spline)等工具箱,而且工具箱还在
4、不断增加。这些工具箱给各个领域的研究和工具应用提了有利的工具。借助于这些“巨人肩上的工具”,各个层次研究人员可直观、方便地进行分析计算及设计工作,从而大大地节省时间。数字信号处理的主要研究对象是数字信号,且是采用运算的方法达到处理的目的。因此,其实现方法,基本上分成两种实现方法,即软件和硬件实现方法。软件实现方法指的是按照原理和算法,自己编写程序或者采用现成的程序在通用计算机上实现,硬件实现指的是按照具体的要求和算法,设计硬件结构图,用乘法器加法器延时器、控制器、存储器以及输入输出接口部件实现的一种方法。显然前者灵活,只要改变程序中的有关参数,但是运算速度慢,一般达不到实时处理,因此,这种方法
5、适合于科研和教学。后者运算速度快,可以达到实时处理要求,但是不灵活。目前dsp芯片已进入市场,且正在高速发展,速度高,体积小,性能优良,价格也在不断下降。可以说,用dsp芯片实现数字信号处理,正在变成工程技术领域的主要方法。用合适的dsp芯片,配有合适的芯片语言及任务要求的软件,来实现信号处理功能是一种最佳的数字信号处理系统。语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式
6、,因而可为计算机、自动化系统等建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化和自动化程度。 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生理学、心理学等许多学科也有非常密切的联系。 20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(fft)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入70年代之后,提出了用于语音信号的信息压缩和特
7、征提取的线性预测技术(lpc),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术矢量量化(vq)应用于语音信号处理中;而用隐马尔可夫模型(hmm)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前hmm已构成了现代语音识别研究的重要基石。近年来人工神经网络(ann)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。语音信号处理技术的应用极其广泛,涉及工业、军事、交通、
8、医学、民用等各个领域,其中最重要的包括语音编码、语音合成、语音识别以及语音增强等。1.3课程设计的内容及要求内容:1理论依据 根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位数的概念,采样定理;时域信号的fft分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较),阐明设计原理。 2信号采集 采集语音信号,并对其进行fft频谱分析,画出信号的时域波形图和频谱图。 3构造受干扰信号并对其进行fft频谱分析 对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析原因,得出结论。并对其进行fft频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行
9、分析,阐明原因,得出结论。 4数字滤波器设计 根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频和相频特性。 5信号处理 用所设计的滤波器对含噪语音信号进行滤波。对滤波后的语音信号进行fft频谱分析。画出处理过程中所得各种波形及频谱图。 对语音信号进行回放,感觉滤波前后声音的变化。比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结论。 6设计图形用户界面 设计处理系统的用户界面,在所设计的系统界面上可以选择滤波器的参数,显示滤波器的频率响应,选择信号等。 要求: 1基本要求:本次课程设计要求利用matlab对语音信号进行数字信号处理和分析,要求学
10、生采集语音信号后,在matlab软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。 2基本教学要求:每组一台电脑(附话筒和耳机),电脑安装matlab7.1版本以上软件。 第二章 软件电路设计2.1 设计方案利用matlab中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行fft变换实现频谱分析,再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用matlab画出。我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化
11、。选择设计此方案,是对数字信号处理的一次实践。在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面。这个方案用到的软件也是在数字信号处理中非常通用的一个软件matlab软件。所以这个课题的设计过程也是一次数字信号处理在matlab中应用的学习过程。课题用到了较多的matlab语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。2.2gui界面功能介绍该界面主要实现了以下几个功能:1打开wav格式的音频文件,并将该音频信号的值读取并赋予某一向量;2播
12、放音频文件,可以选择性的显示该音频信号的波形、频谱、幅值以及相位;3对音频信号进行iir与fir的5阶固定滤波处理,可以选择性的显示滤波前后信号的波形、频谱、幅值以及相位,以及播放滤波后的声音。界面如图(2.2.1)所示:(2.2.1)4可以通过单击图上按钮对按钮进行设置和编辑,背景的颜色也是通过单击背景进行设置的。如图(2.2.2)所示:(2.2.2)5通过该界面,可以方便用户进行语音信号的处理。2.3gui界面的具体操作在matlab版面上,通过键入guide弹出一个菜单栏进入gui制作界面(或者在file到new来进入gui),从而开始应用界面的制作。1.将所需控件从控件面板拖拽到gui
13、de的设计区域;2.利用工具条中的工具(或相应的菜单和现场菜单),快速完成界面布局;3.设置控件的属性。尤其是tag属性,它是控件在程序内部的唯一标识;4.如果需要,打开菜单编辑器为界面添加菜单或现场菜单;5.保存设计。guide默认把gui程序保存为两个同名文件:一个是.fig文件,用来保存窗体布局和所有控件的界面信息;一个是.m文件,该文件的初始内容是guide自动产生的程序框架,其中包括了各个控件回调函数的定义。该m文件与一般的m文件没有本质区别,但是鉴于它的特殊性,matalab把这类文件统称为gui-m文件。保存完后gui-m文件自动在编辑调试器中打开以供编辑。6.为每个回调函数添加
14、代码以实现gui程序的具体功能。这一步与一般函数文件的编辑调试过程相同。第三章 设计3.1相关原理:设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数h(z)具有指定的频率特性。数字滤波器从实现的网络结构或者从单位冲激响应分类,可以分成无限长单位冲激响应(iir)数字滤波器和有限长单位冲激响应(fir)数字滤波器。数字滤波器频率响应的三个参数:(1)幅度平方响应:(2)相位响应 (3)群时延响应iir数字滤波器:iir数字滤波器的系统函数为 的有理分数,即iir数字滤波器的逼近问题就是求解滤波器的系数 和 ,使得在规定的物理意义上逼近所要求的特性的问题。如果是在s平面上逼近
15、,就得到模拟滤波器,如果是在z平面上逼近,则得到数字滤波器。fir数字滤波器:设fir的单位脉冲响应h(n)为实数,长度为n,则其z变换和频率响应分别为按频域采样定理fir数字滤波器的传输函数h(z)和单位脉冲响应h(n)可由它的n个频域采样值h(k)唯一确定。matlab中提供了几个函数,分别用于实现iir滤波器和fir滤波器。(1)卷积函数conv卷积函数conv的调用格式为 c=conv(a,b)该格式可以计算两向量a和b的卷积,可以直接用于对有限长信号采用fir滤波器的滤波。(2)函数filter函数filter的调用格式为 y=filter(b,a,x)该格式采用数字滤波器对数据进行
16、滤波,既可以用于iir滤波器,也可以用于fir滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a1,此时表示fir滤波器,否则就是iir滤波器。该函数是利用给出的向量b和a,对x中的数据进行滤波,结果放入向量y。(3)函数fftfilt函数fftfilt的调用格式为 y=fftfilt(b,x)该格式是利用基于fft的重叠相加法对数据进行滤波,这种频域滤波技术只对fir滤波器有效。该函数是通过向量b描述的滤波器对x数据进行滤波。关于用butter函数求系统函数分子与分母系数的几种形式。b,a=butter(n,wc,high):设计n阶高通滤波器,wc为它的3db边缘频率,以
17、 为单位,故 。b,a=butter(n,wc):当wc为具有两个元素的矢量wc=w1,w2时,它设计2n阶带通滤波器,3db通带为 ,w的单位为 。b,a=butter(n,wc,stop):若wc=w1,w2,则它设计2n阶带阻滤波器,3db通带为 ,w的单位为 。如果在这个函数输入变元的最后,加一个变元“s”,表示设计的是模拟滤波器。这里不作讨论。为了设计任意的选项巴特沃斯滤波器,必须知道阶数n和3db边缘频率矢量wc。这可以直接利用信号处理工具箱中的buttord函数来计算。如果已知滤波器指标 , , 和 ,则调用格式为n,wc=buttord(wp,ws,rp,as)对于不同类型的滤
18、波器,参数wp和ws有一些限制:对于低通滤波器,wpws;对于带通滤波器,wp和ws分别为具有两个元素的矢量,wp=wp1,wp2和ws=ws1,ws2,并且ws1wp1wp2ws2;对于带阻滤波器wp1ws1ws2wp2。3.2 课设过程1获取原始波形程序:x,fs,bits=wavread(321.wav,1024 5120); sound(x,fs,bits); x=fft(x,4096); magx=abs(x); angx=angle(x); plot(x);title(originaltiy wave);gui界面如图:(3.2.1) (3.2.1)2.加噪后单一信号波形程序:x,
19、fs,bits=wavread(321.wav,1024 5120); sound(x,fs,bits); x=fft(x,4096); magx=abs(x); angx=angle(x);plot(angx);title(sound ang wave);gui界面如图:(3.2.2) (3.2.2) 3.低通时域滤波程序:x=wavread(321.wav); n=5;wc=0.3;b,a=butter(n,wc);x=fft(x);y=filter(b,a,x);y=fft(y);plot(y);title(iir low filter time wave);gui界面如图:(3.2.3
20、)(3.2.3)4. 低通频域滤波程序:x=wavread(321.wav); n=5;wc=0.3;b,a=butter(n,wc);x=fft(x);y=filter(b,a,x);y=fft(y);w=abs(y);plot(w);title(iir low filter frequency scope)gui界面如图:(3.2.4)(3.2.4)5.高通时域滤波程序:x=wavread(321.wav); n=5;wc=0.3;b,a=butter(n,wc,high);x=fft(x);y=filter(b,a,x);y=fft(y);plot(y);title(iir_high f
21、ilter time wave);gui界面如图:(3.2.5)(3.2.5)6.高通频域滤波程序:x=wavread(321.wav); n=5;wc=0.3;b,a=butter(n,wc,high);x=fft(x);y=filter(b,a,x);y=fft(y);w=abs(y);plot(w);title(iir high filter frequency scope); gui界面如图:(3.2.6)(3.2.6)3.3 结论本设计圆满的完成了对语音信号的读取与打开,与课题的要求十分相符;本设计也较好的完成了对语音信号的频谱分析,通过fft变换,得出了语音信号的频谱图;在滤波这一
22、块,课题主要是从巴特沃斯滤波器入手来设计滤波器,也从一方面基本实现了滤波;初略的完成了界面的设计,但也存在相当的不足,只是很勉强的达到了打开语音文件、显示已定滤波前后的波形等图。语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课题在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。从课题的中心来看,课题是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音的处理。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。在这里,用到了处理数字信号的强有力工具
23、matlab,通过matlab里几个命令函数的调用,很轻易的在实际化语音与数字信号的理论之间搭了一座桥。课题的特色在于它将语音看作了一个向量,于是语音数字化了,则可以完全利用数字信号处理的知识来解决。我们可以像给一般信号做频谱分析一样,来给语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。最后,还利用了matlab的另一强大功能gui界面设计。设计出了一个简易的用户应用界面,可以让人实现界面操作。更加方便的进行语音的频谱分析与滤波处理。但由于知识能力有限,当中也存在相当的不足,特别体现在滤波与界面设计这一块。对滤波的研究,本文只是举出了很小的一个方面,还有许多精髓都未能一一列
24、举。至于用户界面的设计,由于笔者是初次接触,也未能有特别的掌握,仅就刚学习到的一些加以运用,于是设计的还是很粗燥。当然,这些问题与不足在今后的进一步学习中,我会一步一步的去进行解决。特别是对gui界面的设计,还有特别多的地方要学习。第四章 总结与展望通过本次课程设计,在锻炼我的动手能力的同时还加强了我对dsp和语音的理解,一直觉得这是两门非常难学的科目,总是害怕接触,通过这次设计和制作,我发现只要用心动手其实我们都可以,主要是绘制一个gui界面,做到通过简单操作来完成对数字信号处理的典型处理和分析。主要进行了信号采集,信号的频谱显示,信号的时域分析,信号的高,低通滤波等。由于本次课程设计要求利
25、用matlab对语音信号进行数字信号处理和分析,所以还加深了对matlab软件的应用,真可谓是一举两得啊!这次课程设计提高了我的分析解决问题的能力,在设计中不时的出现许多不懂的问题,经过自己的分析和老师的指点最终得以解决。这样的机会不是很多,希望学校能够多多提供这样的机会。同时也非常感谢老是的知道和帮助。我想在未来的日子我们会学到更多的知识,能够更好的提高自己。参考文献1.胡 航语音信号处理哈尔滨:哈尔滨工业大学出版社,20002.赵 力语音信号处理北京:机械工业出版社,20033. 何 强 何英matlab扩展编程北京:清华大学出版社,20034. 胡光锐语音处理与识别上海:上海科学技术出版
26、社,19945. 胡航 语音信号处理哈尔滨:哈尔滨工业大学出版社,20006. 董长虹matlab图像处理与应用北京:国防工业出版社,20047.8.texas instruments inc tms320vc5410 fixed-point digital signal process data manual 2000 9.texas instruments inc tlc320ad54c/i tlc320ad52c sigma-delta analog interface circuit with master-slave function data manual 2000 10.inte
27、grated device technology 3.3volt cmos aysnchronous fifo idt72v01-72v06 data sheet 2003附录:function varargout = untitled(varargin)% untitled m-file for untitled.fig% untitled, by itself, creates a new untitled or raises the existing% singleton*.% h = untitled returns the handle to a new untitled or th
28、e handle to% the existing singleton*.% untitled(callback,hobject,eventdata,handles,.) calls the local% function named callback in untitled.m with the given input arguments.% untitled(property,value,.) creates a new untitled or raises the% existing singleton*. starting from the left, property value p
29、airs are% applied to the gui before untitled_openingfunction gets called. an% unrecognized property name or invalid value makes property application% stop. all inputs are passed to untitled_openingfcn via varargin.% *see gui options on guides tools menu. choose gui allows only one% instance to run (
30、singleton).% see also: guide, guidata, guihandles % edit the above text to modify the response to help untitled % last modified by guide v2.5 04-jul-2009 13:05:07 % begin initialization code - do not editgui_singleton = 1;gui_state = struct(gui_name, mfilename, . gui_singleton, gui_singleton, . gui_
31、openingfcn, untitled_openingfcn, . gui_outputfcn, untitled_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:);end% end
32、initialization code - do not edit % - executes just before untitled is made visible.function untitled_openingfcn(hobject, eventdata, handles, varargin)% this function has no output args, see outputfcn.% hobject handle to figure% eventdata reserved - to be defined in a future version of matlab% handl
33、es structure with handles and user data (see guidata)% varargin command line arguments to untitled (see varargin) % choose default command line output for untitledhandles.output = hobject; % update handles structureguidata(hobject, handles); % uiwait makes untitled wait for user response (see uiresu
34、me)% uiwait(handles.figure1); % - outputs from this function are returned to the command line.function varargout = untitled_outputfcn(hobject, eventdata, handles) % varargout cell array for returning output args (see varargout);% hobject handle to figure% eventdata reserved - to be defined in a futu
35、re version of matlab% handles structure with handles and user data (see guidata) % get default command line output from handles structurevarargout1 = handles.output; % - executes on button press in pushbutton1.function pushbutton1_callback(hobject, eventdata, handles)% hobject handle to pushbutton1
36、(see gcbo)% eventdata reserved - to be defined in a future version of matlab% handles structure with handles and user data (see guidata)x,fs,bits=wavread(321.wav,1024 5120); sound(x,fs,bits); x=fft(x,4096); magx=abs(x); angx=angle(x); plot(x);title(originaltiy wave); % - executes on button press in
37、pushbutton2.function pushbutton2_callback(hobject, eventdata, handles)% hobject handle to pushbutton2 (see gcbo)% eventdata reserved - to be defined in a future version of matlab% handles structure with handles and user data (see guidata)x,fs,bits=wavread(321.wav,1024 5120); sound(x,fs,bits); x=fft(
38、x,4096); magx=abs(x); angx=angle(x);plot(angx);title(sound ang wave); % - executes on button press in pushbutton3.function pushbutton3_callback(hobject, eventdata, handles)% hobject handle to pushbutton3 (see gcbo)% eventdata reserved - to be defined in a future version of matlab% handles structure with handles and user data (see guidata)x=wavread(321.wav); n=5;wc=0.3;b,a=butter(n,wc);x=fft(x);y=filter
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疾病保险课件教学课件
- 2024年度影视版权许可协议
- 04年影视制作委托合同
- 2024年度办公楼照明系统灯具更换外包协议
- 2024年度“生态修复”工程咨询服务合同
- 制作课件教学课件
- 2024年广告发布与装修施工合同协议
- 2024在熔盛重工与淡水河谷砂石船建造合同签约仪式上的致辞熔盛重工朱文花
- 2024年度暖通设备安装及调试合同
- 2024土地使用权转让合同(含开发权)
- 黄河商品交易市场介绍稿
- Unit 3 My friends Part C Story time(教学设计)-2024-2025学年人教PEP版英语四年级上册
- 2024中国海油校园招聘2024人(高频重点提升专题训练)共500题附带答案详解
- 孙中山诞辰纪念日主题班会主题班会
- 2024年安徽省合肥市中考语文题卷(含答案)
- G -B- 43630-2023 塔式和机架式服务器能效限定值及能效等级(正式版)
- 24春国开电大《工具书与文献检索》平时作业1-4答案
- 文艺复兴经典名著选读 知到智慧树网课答案
- 2024年北京出版集团有限责任公司招聘笔试冲刺题(带答案解析)
- 2022-2023学年福建省厦门一中九年级(上)期中物理试卷
- 足球球性球感练习教案
评论
0/150
提交评论