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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

dsp 课程设计.docx

1、dsp 课程设计 Dsp课程设计 基于Matlab的声音的延迟与混响摘要数字信号处理技术自诞生以来,有了快速的发展,主要是研究用数字或符号序列表示和处理信号,被广泛应用于各个领域。本次设计是用MATLAB语言对语音信号进行采样分析,并设计数字滤波器对信号进行滤波,比较滤波前后信号特性的变化。用MATLAB提供的GUI界面开发环境设计用户图形界面使布局编程简化。关键词Matlab 语音信号处理正文1.背景资料:数字信号处理是随着计算机技术的发展而迅速发展起来的一门新兴而古老的学科,它在新的领域如生物医学工程、声学、雷达、地震不、语音通信、数据通信、核科学等学科发挥着重要的作用,而它所采用的各种方

2、法及众多应用已有悠久的历史;同时也是一门具有很强的理论性与实践性,且理论和技术发展都十分迅速的前沿性学科。随着数字化时代的来临,科学技术的进步而生产发展需求的与日俱增,促进了数字信号处理学科的发展,产生了各种巧妙的信号处理算法;特别是计算机技术的飞速发展,为数字信号处理增添了巨大的生命力。数字信号处理主要是研究用数字或符号序列表示和处理信号。处理的目的可以是削弱信号中的多余内容,滤除混杂的噪声和干扰,或者是将信号变换为容易分析和识别的形式,便于估计和选择它的特征参数。例如通过分析和运算,可以估计脑电图或心电图中的某种特征参数,帮助医生查找病因和分析病情,确定合理的治疗方案;又如,信号在传输时,

3、要受到各种干扰,包括失真、衰落和混入的背景噪声,信号处理要排除这些干扰。声音信号是一维连续信号,而计算机只能处理离散信号。为了从离散信号还原连续信号,根据采样定理,可以确定采样频率的最小值。wav文件是一种数字声音文件格式,本课程设计基于Matlab分析了wav声音文件频谱与声音的关系。通过采集个人的一段声音进行频谱分析等处理,然后设计数字滤波器处理这个原始声音的wav文件,并比较滤波以后输出声音信号与原声音信号的异同。2 设计要求(1)利用Windows下的录音机或其他软件,录制一段语音信号,时间控制在1min左右。(2)将音频文件加载到matlab中,用合适的方式对信号经行处理(3)回答以

4、下四个问题:为什么要选择这段语音信号?你怎么处理这段语音信号?为什么你选择用这种方式进行处理?处理结果是什么?3 设计的总体方案与原理3.1 基本思路根据设计要求,我们商定的处理方式是基于matlab来进行声音的延迟与混响3.2 设计流程 录制一段语音信号,时长为15s,并对录制的信号进行采样 语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图 将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较 设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应 用自己设计的滤波器对采集的语音信号进行滤波 分析得到信号的频谱,画出

5、滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化 回放语音信号3.3 设计的详细原理3.3.1 信号采样(1)采样频率采样频率是指计算机每秒钟采集多少个声音样本,采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。(2)采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。声卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度。声卡的主要的作用之一是对声音信息进行录

6、制与回放,在这个过程中采样的位数和采样的频率决定了声音采集的质量。3.3.2 混响与延时(1)混响效果主要是用于增加音源的融合感。自然音源的延时声阵列非常密集、复杂,所以模拟混响效果的程序也复杂多变。常见参数有以下几种:混响时间:能逼真的模拟自然混响的数码混响器上都有一套复杂的程序,其上虽然有很多技术参数可调,然而对这些技术参数的调整都不会比原有的效果更为自然,尤其是混响时间。高频滚降:此项参数用于模拟自然混响当中,空气对高频的吸收效应,以产生较为自然的混响效果。一般高频混降的可调范围为0.11.0。此值较高时,混响效果也较接近自然混响;此值较低时,混响效果则较清澈。扩散度:此项参数可调整混响

7、声阵密度的增长速度,其可调范围为010,其值较高时,混响效果比较丰厚、温暖;其值较低时,混响效果则较空旷、冷僻。预延时:自然混响声阵的建立都会延迟一段时间,预延时即为模拟次效应而设置。声阵密度:此项参数可调整声阵的密度,其值较高时,混响效果较为温暖,但有明显的声染色;其值较低时,混响效果较深邃,切声染色也较弱。频率调制:这是一项技术性的参数,因为电子混响的声阵密度比自然混响稀疏,为了使混响的声音比较平滑、连贯,需要对混响声阵列的延时时间进行调制。此项技术可以有效的消除延时声阵列的段裂声,可以增加混响声的柔和感。调治深度:指上述调频电路的调治深度。(2)延时就是将音源延迟一段时间后,再欲播放的效

8、果处理。依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。当延迟时间在335ms之间时人耳感觉不到滞后音的存在,并且他与原音源叠加后,会因其相位干涉而产生梳状滤波效应,这就是镶边效果。如果延迟时间在50ms以上时,其延迟音就清晰可辨,此时的处理效果才是回音。回音处理一般都是用于产生简单的混响效果。延时、合唱、镶边、回音等效果的可调参数都差不多,具体有以下几项:*延时时间(Dly),即主延时电路的延时时间调整。*反馈增益(FB Gain),即延时反馈的增益控制。*反馈高频比(Hi Ratio),即反馈回路上的高频衰减控制。*调制频率(Freq),指主延时的调频周期。*调制深度(Depth),

9、指上述调频电路的调制深度。*高频增益(HF),指高频均衡控制。*预延时(Ini Dly),指主延时电路预延时时间调整。*均衡频率(EQ F),这里的频率均衡用于音色调整,此为均衡的中点频率选择。由于延时产生的效果都比较复杂多变,如果不是效果处理专家,建议使用设备提供的预置参数,因为这些预置参数给出的处理效果一般都比较好。3.3.3滤波器设计本次设计用IIR滤波器对信号进行滤波,函数名为filter函数filter的调用格式为y=filter(b,a,x)该格式采用数字滤波器对数据进行滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若

10、a1,此时表示FIR滤波器,否则就是IIR滤波器。该函数是利用给出的向量b和a,对x中的数据进行滤波,结果放入向量y。(1)单回声滤波器回音可以由简单的延时单元产生。直达声和在R抽样周期后出现的一种单个回音,可以用FIR滤波器产生,微分方程为:yn=xn+xn-R |1传输函数为:H(z)=1+z-R传递函数的幅频响应形状象梳子,这种滤波器又叫梳状滤波器。(2)多重回声滤波器为了产生以间隔R个抽样周期分开的具有指数衰减振幅的多重回声,可用一个以下形式传输函数的FIR滤波器: 无限个振幅以指数衰减间隔为R个抽样周期的多重回声可用以下形式传输函数的IIR滤波器生成: IIR多重回声滤波器的基本频率

11、FR=Fs/R,通常锁定在伴音设备的基频上,比如基鼓拍子。(3)无限个回声滤波器的系统函数: , 1 (4)全通结构的混响器的系统函数:全通滤波器的传递函数公式为H(Z)=y(Z)/X(Z)=(-K+Z(-m)/(1-K*Z(-m)其中m为回声延时取样,k为反馈系数。用直接1型表示这个传递函数则为:y(n)=k*x(n)+x(n-m)+k*y(n-m)可见其实际上是一个简单的IIR滤波器,时间n的输出有时间n的输入和m点之前的输入与输出计算而得。由于这个IIR滤波器的频率响应为水平直线,所以被称为全通滤波器。3.3.4 GUI界面图形用户界面GUI (Graphics User Interfa

12、ce) 是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交流信息的工具和方法。GUI 设计即可以基本的MATLAB 程序设计为主,也可以鼠标为主利用GUIDE 工具进行设计。GUIDE ( Graphics User Interface Design Environ2ment) 是一个专用于GUI 程序设计的快速开发环境,使用者通过鼠标就能迅速地产生各种GUI 控件,并随心所欲地改变它们的外形、大小及颜色等,从而帮助用户方便地设计出各种符合要求的图形用户界面。调用GUIDE 的方法有2 种,在MATLAB 命令窗口中输入guide 命令,或在MATLAB 主菜单中

13、点击File New GUI 即可打开一个可编辑的新窗口。在GUIDE 设计环境中,需要用到的工具有属性编辑器、控件布置编辑器、菜单编辑器、对象浏览器、网格标尺设置编辑器以及GUI 应用属性设置编辑器等。GUI 设计面板是GUI 设计工具应用的平台,面板上部提供了菜单和常用工具按钮,左边提供了多种GUI 控件,如按钮、单选按钮、复选框、文本框等。进行GUI 设计时,首先单击GUI 面板左边所需的控件,然后在右边的图形界面编辑区中再次单击某一恰当的位置,这时将在该位置上为图形界面添加一相应的控件,接下来,通过属性编辑器和对齐编辑器对各控件设置相关属性和进行界面布置,以完善界面功能。3.4 程序流

14、程4 程序设计步骤(1)GUI界面的设计function varargout = untitled(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, untitled_OpeningFcn, . gui_OutputFcn, untitled_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_Stat

15、e.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction untitled_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); function varargout = untitled_

16、OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;(2)原始语音信号时域波形和频谱function pushbutton1_Callback(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav);%读取原始音频信号y=y(:,1);%只取单信道sound(y,fs,bits);%播放原始信号Y=fft(y);%对原始信号取傅里叶变换subplot(2,2,1:2);plot(y);title(原始信号

17、时域波形);subplot(2,2,3);plot(abs(Y);title(原始信号幅频);subplot(2,2,4);plot(angle(Y);title(原始信号相频);(3)采样后语音信号的时域波形和频谱function pushbutton2_Callback(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,50000 500000);%只取原信号的一部分,即时间区间50000 150000y=y(:,1);Y=fft(y,6001);%抽取6001点subplot

18、(2,2,1:2);plot(y);title(采样信号时域波形);subplot(2,2,3);plot(abs(Y);title(采样信号幅频);subplot(2,2,4);plot(angle(Y);title(采样信号相频);sound(y,fs,bits);%回放采样信号(4)对采样后的信号延时function pushbutton3_Callback(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,50000 500000);y=y(:,1);z=zeros(200

19、00,1);y;%延迟3000Z=fft(z,6001);subplot(2,2,1:2);plot(z);title(延时后时域波形);subplot(2,2,3);plot(abs(Z);title(延时后幅频);subplot(2,2,4);plot(angle(Z);title(延时后相频);sound(y,fs,bits);%回放延迟信号(5)对采样后的信号混响 function pushbutton4_Callback(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,

20、50000 150000);y=y(:,1);z=zeros(3000,1);y;y=y;zeros(3000,1);%补3000y1=y+z;%将原始信号与延迟信号相加,产生混响信号Y1=fft(y1,6001);subplot(2,2,1:2);plot(y1);title(混响的时域波形);subplot(2,2,3);plot(abs(Y1);title(混响的幅频);subplot(2,2,4);plot(angle(Y1);title(混响的相频);sound(y,fs,bits);%回放混响信号 (6)单回声滤波器程序设计function pushbutton5_Callback

21、(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,50000 500000);y=y(:,1);z=zeros(3000,1);y;y=y;zeros(3000,1);a=0.5;R=5000;%滤波器阶数设置,其值越高,回声越明显Bz1=1,zeros(1,R-1),a;%单回声滤波器系统函数分子Az1=(1);%单回声滤波器系统函数分母y2=filter(Bz1,Az1,y);%单回声滤波器系统函数 Y2=fft(y2,6001);h,w=freqz(Bz1,Az1);%求设

22、计的滤波器频谱subplot(3,2,1);plot(abs(h);title(单回声滤波器幅频响应);subplot(3,2,2); plot(angle(h);title(单回声滤波器相频响应);subplot(3,2,3:4);plot(y2);title(单回声滤波器时域图 );subplot(3,2,5);plot(abs(Y2);title(单回声滤波器幅频 );subplot(3,2,6);plot(angle(Y2);title(单回声滤波器相频 );sound(y2,fs,bits); (7)多重回声滤波器程序设计function pushbutton6_Callback(h

23、Object, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,50000 500000);y=y(:,1);z=zeros(3000,1);y;y=y;zeros(3000,1);a=0.5;N=5;R=9000;%滤波器阶数设置,其值越高,回声越明显Bz1=1,zeros(1,N*R-1),-aN;%多重回声滤波器系统函数分子Az1=1,zeros(1,R-1),-a;%多重回声滤波器系统函数分母y2=filter(Bz1,Az1,y);Y2=fft(y2,6001);h,w=freqz(Bz

24、1,Az1);subplot(3,2,1);plot(abs(h);title(多重回声滤波器幅频响应);subplot(3,2,2); plot(angle(h);title(多重回声滤波器相频响应);subplot(3,2,3:4);plot(y2);title(多重回声滤波器时域图 );subplot(3,2,5);plot(abs(Y2);title(多重回声滤波器幅频 );subplot(3,2,6);plot(angle(Y2);title(多重回声滤波器相频 );sound(y2,fs,bits); (8)无限个回声滤波器程序设计function pushbutton7_Call

25、back(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,50000 500000);y=y(:,1);z=zeros(3000,1);y;y=y;zeros(3000,1);a=0.5;R=5000;%滤波器阶数设置,其值越高,回声越明显Bz=0,zeros(1,R-1),1;%无限个回声滤波器系统函数分子Az=1,zeros(1,R-1),-a;%无限个回声滤波器系统函数分母y2=filter(Bz,Az,y);Y2=fft(y2,6001);h,w=freqz(Bz,Az)

26、;subplot(3,2,1);plot(abs(h);title(无限个回声滤波器幅频响应);subplot(3,2,2); plot(angle(h);title(无限个回声滤波器相频响应);subplot(3,2,3:4);plot(y2);title(无限个回声滤波器时域图 );subplot(3,2,5);plot(abs(Y2);title(无限个回声滤波器信号幅频 );subplot(3,2,6);plot(angle(Y2);title(无限个回声滤波器信号相频 );sound(y2,fs,bits); (9) 全通结构滤波器程序设计function pushbutton8_C

27、allback(hObject, eventdata, handles)y,fs,bits=wavread(C:UsersAdministratorDesktop音频信号.wav,50000 500000);y=y(:,1);z=zeros(3000,1);y;y=y;zeros(3000,1);a=0.5;R=5000;%滤波器阶数设置,其值越高,回声越明显Bz1=a,zeros(1,R-1),1;%无限个回声滤波器系统函数分子Az1=1,zeros(1,R-1),a;%无限个回声滤波器系统函数分母h,w=freqz(Bz1,Az1);yy2=filter(Bz1,Az1,y);YY2=ff

28、t(yy2,6001);subplot(3,2,1);plot(abs(h);title(全通滤波器幅频响应);subplot(3,2,2); plot(angle(h);title(全通滤波器相频响应);subplot(3,2,3:4);plot(yy2);title(全通结构时域图 );subplot(3,2,5);plot(abs(YY2);title(全通结构幅频 );subplot(3,2,6);plot(angle(YY2);title(全通结构相频 );sound(yy2,fs,bits); 6 结果分析GUI设计界面对信号采样后,信号时域波形出现了离散化的分布,不像原始图像那样

29、密集分布,频谱图也是同样的变换,幅度和频率都是根据采样区间变化的从时域图出延时是让原来的波形向右移动3000,频域的幅度发生了变化。混响:在时域图看前面几乎没变化,后面的幅度有一定变化。在频谱图幅度变化很大,中间的上下相互抵消,两边的跳动很大。时域上形状大致相同,幅度有微小变化。频谱上也是滤波前后两边跳动变换较大,幅度变化较大。时域上滤波前的幅度比滤波后的数值大,形状上滤波后是连续的,滤波前是间断的频谱上变化两边上下跳的动变化,中间变化抵消时域上波形变得稀疏了,幅度相对变化较大。频谱上变化两边上下跳的动变化,中间变化抵消全通结构时域大致一样,滤波前比滤波后幅度有变化6000以后上下跳动抵消频域

30、上变化的不为明显,幅度发生了变化。7 总结及心得体会 选择这段音频的原因:这段音频虽然只有15秒,但是它无伴奏音乐,因此处理起来比较得心应手,且声音优美清晰 处理目的:基于matlab实现语音信号的延迟与混响 处理方式: 处理结果:利用matlab成功实现了语音信号的延迟与混响 通过此次课程设计,使我更加扎实的掌握了有关语音信号处理方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取,最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后我们大家的不懈努力下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就

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

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