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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

语音信号处理系统方案设计书Word文件下载.docx

1、2 设计任务利用Matlab设计一个简单的数字语音信号分析系统,利用GUI设计友好的图形用户界面,实现数字语音信号读取,时域波形显示,频谱分析,设计数字滤波器滤除噪声,对语音信号的参数进行计算分析等功能。具体任务是:酽锕极額閉镇桧猪訣锥。(1)对原始数字语音信号进行读取。(2)对原始数字语音信号加入干扰噪声,画出原始信号及带噪信号的时域波形,利用FFT进行频域分析,画出相应波形。彈贸摄尔霁毙攬砖卤庑。(3)针对数字语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。(4)对噪声滤除前后的语音进行时频域分析。(5)对语音信号部分时域参数进行计算。(6)设计图形用户界面(包含以上功能)。(选作)

2、采用LabVIEW进行仿真设计,实现系统的功能,要求给出系统的前面板和框图,并记录仿真结果。3 设计方案论证(手写)本课题是对语音信号进行处理,要经过语音信号的采集,频谱分析,加干扰噪声,滤波器设计,进行滤波和图形用户界面设计等几个步骤。所需要用到的理论依据有:謀荞抟箧飆鐸怼类蒋薔。 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍;采样定理又称奈奎斯特定理。 厦礴恳蹒骈時盡继價骚。 采样频率采样频率(也称为采样

3、速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。茕桢广鳓鯡选块网羈泪。 语音的录入与打开在MATLAB中,y,fs,bits=wavread(Blip,N1 N2)。用于读取语音,采样值放在向量y中,fs表示采样频率

4、(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)10。鹅娅尽損鹌惨歷茏鴛賴。 sound(x,fs,bits)。 用于对声音的回放。向量x则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。籟丛妈羥为贍偾蛏练淨。 时域信号的FFT分析FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。預頌圣鉉儐歲龈讶骅籴。在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。函数FFT用于

5、序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N。渗釤呛俨匀谔鱉调硯錦。 语音信号的频域分析语音信号的频域分析就是分析语音信号的频域持征。从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。本次选用的是语音信号的傅里叶分析法,即对信号进行FFT变换。铙誅卧泻噦圣骋

6、贶頂廡。 数字滤波器的设计步骤不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:按照实际任务的要求,确定滤波器的性能指标。用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。擁締凤袜备訊顎轮烂蔷。利用有限精度算法实现系统函数,包括结构选择、字长选择等。图形用户界面基本概念图形用户界面(Graphical User Interface,GUI)是由窗口、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标、键盘)选择激活这些图形对象,实现计算、绘图等。贓熱俣阃歲匱阊邺镓騷。

7、创建图形用户界面须具有三类基本元素:(1)组件:图形化控件(如按钮、编辑框、列表框等)、静态元素(如文本字符串)、菜单和坐标系。(2)图形窗口:GUI的每一个组件都须安排在图形窗口中。(3)回应:如用户用鼠标单击或用键盘输入信息后,程序要有相应的动作。4 设计内容4.1 语音信号分析设计(1)根据设计要求分析系统功能,掌握设计中所需理论阐明设计原理(抽样频率、量化位数的概念,抽样定理;信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较)。坛摶乡囂忏蒌鍥铃氈淚。(2)对语音信号做FFT,进行频谱分析,画出信号的时域波形图和频谱图。Matlab程序:x,fs = wavrea

8、d(mei5.wav)。subplot(2,1,1)plot(x)title(原语音信号时域波形)xlabel(kylabel(xN=length(x)。k=0:N-1。X=fft(x)。subplot(2,1,2)plot(k,abs(X)原语音信号频域波形X原信号的图形:(3)对语音信号加入干扰噪声,对语音信号进行回放(利用sound函数),感觉加噪前后声音的变化。对其做FFT,进行频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析。蜡變黲癟報伥铉锚鈰赘。加入干扰噪声的matlab程序:Y=fft(y)。plot(abs(Y)y=0.007*cos(2.7475*k)。plot

9、(y)axis(-20 50 -0.15 0.15)干扰信号时域波形y=0.1cos(207475k)axis(0 16000 0 25)干扰信号频域波形加入的干扰噪声:对原信号加入干扰噪声的matlab程序:x1 = wavread()。x2=x1+y。plot(x2)加入噪声信号时域波形X2=fft(x2)。plot(abs(X2)加入噪声信号频域波形加入干扰噪声后的图形:(4)根据带噪语音信号的特点,设计合适的数字滤波器,绘制所设计滤波器的幅频和相频特性。wp=0.2*pi。ws=0.4*pi。Rp=1。As=15。T=1。OmegaP=wp/T。OmegaS=ws/T。cs,ds=af

10、d_butt(OmegaP,OmegaS,Rp,As)。b,a=imp_invr(cs,ds,T)db,mag,pha,w=freqz_m(b,a)。subplot(2,1,1)。plot(w/pi,mag)。幅度特性axis(0,1,0,1.1)subplot(2,1,2)。plot(w/pi,db)。衰减特性axis(0,1,-40,5)。所设计滤波器的特性:(5)用所设计的滤波器对带噪语音信号进行滤波。对滤波后的语音信号进行FFT频谱分析。记录处理过程中所得各种波形及频谱图。買鲷鴯譖昙膚遙闫撷凄。h=filter(b,a,x2)。fs=16000。sound(h,fs)w=2*pi*k/

11、N。plot(w/pi,h)滤波后语音信号时域波形H=fft(h)。plot(w/pi,abs(H)滤波后频域信号波形滤波后的语音信号图形:(6)对语音信号进行回放,感觉滤波前后声音的变化。比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析。綾镝鯛駕櫬鹕踪韦辚糴。4.2 图形用户界面设计4.2.1 GUI部分matlab函数m文件程序function varargout = untitled1(varargin)gui_Singleton = 1。gui_State = struct(gui_Name, mfilename, .驅踬髏彦浃绥譎饴憂锦。 gui_Singleto

12、n, gui_Singleton, .gui_OpeningFcn, untitled1_OpeningFcn, .gui_OutputFcn, untitled1_OutputFcn, .gui_LayoutFcn, , .gui_Callback, )。if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1)。endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:)。猫虿驢绘燈鮒诛髅貺庑。else gui_mainfcn

13、(gui_State, varargin:function untitled1_OpeningFcn(hObject, eventdata, handles, varargin)锹籁饗迳琐筆襖鸥娅薔。handles.output = hObject。guidata(hObject, handles)。function varargout = untitled1_OutputFcn(hObject, eventdata, handles) 構氽頑黉碩饨荠龈话骛。varargout1 = handles.output。按钮的回调函数:function pushbutton1_Callback(hO

14、bject, eventdata, handles)輒峄陽檉簖疖網儂號泶。global I。 H=*.wav。 尧侧閆繭絳闕绚勵蜆贅。filename,pathname=uigetfile(H,请选择打开信号 file=strcat(pathname,filename)。 识饒鎂錕缢灩筧嚌俨淒。I=wavread(file)。 凍鈹鋨劳臘锴痫婦胫籴。plot(I)。原信号时域波形 function pushbutton2_Callback(hObject, eventdata, handles)恥諤銪灭萦欢煬鞏鹜錦。sound (I,fs)。function pushbutton3_Callb

15、ack(hObject, eventdata, handles)鯊腎鑰诎褳鉀沩懼統庫。 global X。X=fft(I)。N=length(I)。plot(k,abs(X)。原信号频域波形function pushbutton4_Callback(hObject, eventdata, handles)硕癘鄴颃诌攆檸攜驤蔹。function pushbutton5_Callback(hObject, eventdata, handles)阌擻輳嬪諫迁择楨秘騖。 global t。global d。 global s。t=0:au=0.007。 d=au*cos(2.7475*t)s=I+d。

16、plot(s)。加噪声后时域波形function pushbutton6_Callback(hObject, eventdata, handles)氬嚕躑竄贸恳彈瀘颔澩。global S。 S=fft(s)。plot(abs(S)。加噪声后频域波形文本框的回调函数:function edit1_Callback(hObject, eventdata, handles)釷鹆資贏車贖孙滅獅赘。global wp。get(hObject,stringwp=str2double(get(hObject,)。function edit1_CreateFcn(hObject, eventdata, han

17、dles)怂阐譜鯪迳導嘯畫長凉。if ispc set(hObject,BackgroundColor,white,get(0,defaultUicontrolBackgroundColor谚辞調担鈧谄动禪泻類。function edit2_Callback(hObject, eventdata, handles)嘰觐詿缧铴嗫偽純铪锩。global ws。ws=str2double(get(hObject,function edit2_CreateFcn(hObject, eventdata, handles)熒绐譏钲鏌觶鷹緇機库。鶼渍螻偉阅劍鲰腎邏蘞。function edit3_Callb

18、ack(hObject, eventdata, handles)纣忧蔣氳頑莶驅藥悯骛。global Rp。Rp=str2double(get(hObject,function edit3_CreateFcn(hObject, eventdata, handles)颖刍莖蛺饽亿顿裊赔泷。濫驂膽閉驟羥闈詔寢賻。function edit4_Callback(hObject, eventdata, handles)銚銻縵哜鳗鸿锓謎諏涼。global As。As=str2double(get(hObject,function edit4_CreateFcn(hObject, eventdata, ha

19、ndles)挤貼綬电麥结鈺贖哓类。赔荊紳谘侖驟辽輩袜錈。function pushbutton7_Callback(hObject, eventdata, handles)塤礙籟馐决穩賽釙冊庫。 global ws。 global Rp。 global As。b,a=imp_invr(cs,ds,T)。db,mag,w=freqz_m(b,a)。figure(1)。衰减特性 function pushbutton8_Callback(hObject, eventdata, handles)裊樣祕廬廂颤谚鍘羋蔺。global s。global h。仓嫗盤紲嘱珑詁鍬齊驁。h=filter(b,a,

20、s)。figure(2)。滤波后时域波形滤波后频域波形len=300。inc=300。f=enframe(I,len,inc)。N=size(f)。%size(A)返回A各个维的最大元素个数Mn=zeros(1,N)。%一行N列个0 for n=1:N xn=f(n,: xn=abs(xn)。 mn=sum(xn)。 Mn(1,n)=mn。 yn=xn.2。 mn1=sum(yn)。 Mn1(1,n)=mn1。 endfigure subplot(4,1,1),plot(Mn),title(短时平均幅度%短时平均幅度 subplot(4,1,2),plot(Mn1),title(短时能量%短时

21、能量Zn=zeros(1,N)。for n=1: zn=zeros(1,len-1)。 for m=1:len-1 zn_m=sign(xn(m+1)-sign(xn(m)。 zn_m=(1/2)*abs(zn_m)。 zn(1,m)=zn_m。 Zn(1,n)=sum(zn)。subplot(4,1,3),plot(Zn),title(短时过零率%短时平均过零率zs=7。Rn=zeros(1,len-1)。xn=f(zs,:for k=1: xn1=f(k+1:len),zeros(1,k)。 xn2=xn.*xn1。 Rn(k)=sum(xn2)。subplot(4,1,4),plot(R

22、n),title(短时自相关函数%短时自相关函数function pushbutton10_Callback(hObject, eventdata, handles)绽萬璉轆娛閬蛏鬮绾瀧。sound(s,16000)。function pushbutton11_Callback(hObject, eventdata, handles)骁顾燁鶚巯瀆蕪領鲡赙。sound(h,16000)。4.2.2 调试及运行最终设计完成的GUI界面如下图:(1) 点击按钮打开语音信号,坐标系中出现如图所示语音信号的时域波形:(2)点击按钮,系统会播放打开的声音信号。(3)点击按钮,坐标系中会显示打开语音信号的频域

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

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