声音的延时和混响仿真_第1页
声音的延时和混响仿真_第2页
声音的延时和混响仿真_第3页
声音的延时和混响仿真_第4页
声音的延时和混响仿真_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、仅供个人参考课程设计任务书学生姓名:专业班级:通信0906班指导教师:黄铮工作单位:信息工程学院题目:声音的延时和混响仿真初始条件:MATLAB软件,电脑要求完成的主要任务:1. 录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样。语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。2. 将信号加入延时和混响,并与原始信号频谱进行比较。3. 设计单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器 的频域响应。用滤波器对语音信号进行滤波。画出滤波后信号的时域波形和频谱,并对滤波前后的 信号进行对比,分析信号的变化。4. 回放语音信号。时间安排:指

2、导教师签名:系主任(或责任教师)签名:20122012年 月序 号阶段内容所需时间1查阅资料2天2各部分编程3天4调试程序2天5GUI设计3天答辩1天合计11天摘要数字信号处理(Digital Sig nal Process in g)技术,从20世纪60年代以来,随着计算机科学和信息科学发展,数字处理技术应运而生并得以快速发展。语言是人们进行信息沟通的主要方式之一,它具有直接、自然、方便等优点。语音则是 语言的物理层表达方式。语音处理主要是对语音进行机器处理,以达到传输、自动识别、机器理解等目的。进行了语音处理过程的滤波、采样、傅立叶变换和谱 包络提取的算法实现研究,讨论了在算法的DSP实现

3、方法,Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言:Matlab功能强大、简单易学、编程效率高。特别是 Matlab还具有信号分析工具 箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计 关键词 语音信号处理MATLAB语言 滤波器 频谱分析 GUI不得用于商业用途AbstractDigital Sig nal Process ing (Digital Sig nal Process ing) tech no logy from the 1960s,along with the development of computer scienee and in

4、formation scienee, digital process ing tech niq ues have emerged and to rapid developme nt. Lan guage is the com muni cati on of people to one of the main, it has a direct, n atural, and easy. Voice is the Ian guage of the physical layer of expressi on. Voice process ing mach ines mainly for voice p

5、rocess ing, in order to achieve tran smissi on, automatic recog niti on, machine understanding of other purposes. For voice processing filtering, sampling, Fourier tran sform and spectral env elope extracti on algorithm research, discusses the impleme ntati on of DSP algorithms,Matlab Ian guage is a

6、 widely used engin eeri ng calculati on and nu merical an alysis of the field of new high-level la nguage, Matlab powerful, easy to lear n, program ming and high efficiency. Matlab also has a particular signal analysis toolbox, need not have strong program ming skills, you can easily carry out sig n

7、al an alysis, process ing and desig nKeywords Speech signal processing Spectral analysis of MATLAB Filter Spectrum an alysis Graphical User In terface目录摘要ABSTRACT I1.引言 21.1简介 21.2设计任务及要求 32设计原理 42.1语音信号的采样 42.2时域分析 42.3频域分析 52.4延时 52.5混响 62.6滤波器的设计 72.7图形用户界面的设计 73设计步骤 93.1总体设计流程图 93.2详细设计 103.2.1语

8、音的录制 103.2.2原始信号 103.2.3 延时 113.2.4 混响 123.2.5单回声滤波器 143.2.6 多回声滤波器 153.2.7无限回声滤波器 163.2.8 全通滤波器 184图形用户界面的设计 204.1 GUI 布局 204.2设置属性 204.3 编程 214.4运行结果 215总结 1参考文献 3附录 41.引言1.1简介数字信号处理主要是研究用数字或符号序列表示和处理信号。 处理的目的可 以是削弱信号中的多余内容,滤除混杂的噪声和干扰,或者是将信号变换为容易 分析和识别的形式,便于估计和选择它的特征参数。语音信号分析是语音信号处理的前提和基础,只有分析出可表示

9、语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识 别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音 信号分桥的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足 轻重的地位。根据所分析出的参数的性质的不同,可将语音信号分析分为时域分 析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明 确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。本文将简要介绍时域分析、频域分析。声音信号是一维连续信号,而计算机只能处理离散信号。为了从离散信号还 原连

10、续信号,根据采样定理,可以确定采样频率的最小值。wav文件是一种数字声 音文件格式,本课程设计基于Matlab分析了 wav声音文件频谱与声音的关系。通 过采集个人的一段声音进行频谱分析等处理,然后设计数字滤波器处理这个原始 声音的wav文件,并比较滤波以后输出声音信号与原声音信号的异同。1.2设计任务及要求设计任务:利用Windows下的录音机或其他软件,录制一段自己的语音信号,时间 控制在1s左右,并对录制的信号进行采样。(2) 语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。(3) 将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。(4) 设计几种特殊类型的滤波器:

11、单回声滤波器,多重回声滤波器,无限个 回声滤波器,全通结构的混响器,并画出滤波器的频域响应。(5) 用自己设计的滤波器对采集的语音信号进行滤波。(6) 分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前 后的信号进行对比,分析信号的变化。(7) 回放语音信号。设计要求(1) 熟悉离散信号和系统的时域特性。熟悉语音信号的特点。(3) 掌握数字信号处理的基本概念,基本理论和基本方法。(4) 掌握序列快速傅里叶变换方法。(5) 学会MATLAB的使用,掌握MATLAB的程序设计方法。(6) 掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法2设计原理2.1语音信号的采样(1)

12、 采样频率采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音 调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短, 则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精 确。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。(2) 采样位数采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采 集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备 在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。

13、无论采样频率如何,理论上来说采样的位数决定了音频数 据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似于一个照相机, 44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。(3) 采样定理在进行模拟/数字信号的转换过程中,当采样频率fsmax大于信号最高频率 fmax的2倍时,即:fsmax>=2fmax,则采样之后的数字信号完整地保留了原始信 号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍,采样定理又称奈

14、奎斯特定理。1924年奈奎斯特(Nyquist)就推导出:在理想低通信道的最 大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)。 2.2时域分析语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析 时,最先接触到并且也是最直观的是它的时域波形。 语音信号本身就是时域信号, 因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用 语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。这种分析方法的特点是: 表示语音信号比较直观、物理意义明确。 实现起来比较简单、运算且少。 可以得到语音的一些重要的参

15、数。 只使用示波器等通用设备,使用较为简单等。2.3频域分析在MATLAB的信号处理工具箱中函数 FFT和IFFT用于快速傅立叶变换和逆 变换。下面介绍这些函数:(1) 函数FFT用于序列快速傅立叶变换。函数的一种调用格式为:y=fft(x)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y 是x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幕次方,函数fft执行高速基2FFT算法;否则fft执行一种混 合基的离散傅立叶变换算法,计算速度较慢。(2) 函数FFT的另一种调用格式为:y=fft(x,N)式中,x,y意义同前,N为

16、正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x补零至长度N。若 向量x的长度大于N,则函数截短x使之长度为N。若x为矩阵,按相同方法对x 进行处理。(3) 经函数fft求得的序列y般是复序列,通常要求其幅值和相位。MATLAB 提供求复数的幅值和相位函数:abs, angle,这些函数一般和FFT同时使用。函数abs(x)用于计算复向量x的幅值,函数angle(x)用于计算复向量的相角, 以弧度表示。函数unwrap(p)用于展开弧度相位角p。(4) fftshift作用:将零频点移到频谱的中间用法:Y=fftshift(X) Y=fftshift(X,dim)描述:ffts

17、hift移动零频点到频谱中间,重新排列fft,fft2和fftn的输出结果。将 零频点放到频谱的中间对于观察傅立叶变换是有用的。2.4延时延时就是将音源延迟一段时间后,再欲播放的效果处理。依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。当延迟时间在335ms之间时人耳感觉不到滞后音的存在,并且他与原音源 叠加后,会因其相位干涉而产生"梳状滤波"效应,这就是镶边效果。如果延迟时 间在50ms以上时,其延迟音就清晰可辨,此时的处理效果才是回音。回音处理 一般都是用于产生简单的混响效果。延时、合唱、镶边、回音等效果的可调参数都差不多,具体有以下几项:延时时间(Dly),即主

18、延时电路的延时时间调整。反馈增益(FB Gain),即延时反馈的增益控制。反馈高频比(Hi Ratio),即反馈回路上的高频衰减控制。调制频率(Freq),指主延时的调频周期。调制深度(Depth),指上述调频电路的调制深度。高频增益(HF),指高频均衡控制。预延时(Ini Dly),指主延时电路预延时时间调整。均衡频率(EQ F),这里的频率均衡用于音色调整,此为均衡的中点频率选 择。由于延时产生的效果都比较复杂多变, 如果不是效果处理专家,建议使用设 备提供的预置参数,因为这些预置参数给出的处理效果一般都比较好。2.5混响混响效果主要是用于增加音源的融合感。自然音源的延时声阵列非常密集、复

19、杂,所以模拟混响效果的程序也复杂多变。常见参数有以下几种:混响时间:能逼真的模拟自然混响的数码混响器上都有一套复杂的程序,其上虽然有很多技术参数可调,然而对这些技术参数的调整都不会比原有的效果更 为自然,尤其是混响时间。高频滚降:此项参数用于模拟自然混响当中, 空气对高频的吸收效应,以产 生较为自然的混响效果。一般高频混降的可调范围为0.11.0。此值较高时,混响 效果也较接近自然混响;此值较低时,混响效果则较清澈。扩散度:此项参数可调整混响声阵密度的增长速度, 其可调范围为010,其 值较高时,混响效果比较丰厚、温暖;其值较低时,混响效果则较空旷、冷僻。预延时:自然混响声阵的建立都会延迟一段

20、时间,预延时即为模拟次效应而设置。声阵密度:此项参数可调整声阵的密度,其值较高时,混响效果较为温暖, 但有明显的声染色;其值较低时,混响效果较深邃,切声染色也较弱。频率调制:这是一项技术性的参数,因为电子混响的声阵密度比自然混响稀 疏,为了使混响的声音比较平滑、连贯,需要对混响声阵列的延时时间进行调制。 此项技术可以有效的消除延时声阵列的段裂声,可以增加混响声的柔和感。调治深度:指上述调频电路的调治深度。2.6滤波器的设计a<1( 2-1)a<1( 2-2)a<1( 2-3)IIR滤波器,也可以用单回声滤波器的系统函数:H(z)= 1 a z (-R)无限个回声滤波器的系统函

21、数H(z)=z (-R)1全通结构的混响器的系统函数H(z)=a z (-R)a z*(-R)该格式采用数字滤波器对数据进行滤波,既可以用于函数filter的调用格式为:y=filter(b,a,x)于FIR滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a=1,此时表示FIR滤波器,否则就是IIR滤波器。该函数是利用给出的向量b和a, 对x中的数据进行滤波,结果放入向量y。2.7图形用户界面的设计GUI(Graphical User In terface)图形用户界面,是在图形界面下安排显示与用 户交互的组件元素,用户可以只通过键盘、鼠标和前台界面下的组件发生交互, 而所有

22、的计算、绘图等内部操作都封装在内部,提高了终端用户使用 MATLAB 程序的易用性。设计图形用户界面应遵循以下三个原则:简单性( Simplicity )、一致性 (Consistency)及习常性(Familiarity )。(1) 简单性设计界面时,应力求简洁、直接、清晰地体现出界面的功能和特征。设计的 图形界面要直观,为此应多采用图形,而间量避免数值。设计界面应间量减少窗 口数目,力避在不同窗口之间进行来回切换。(2)致性所谓一致性有两层含义:一是读者自己开发的界面风格要尽量一致;二是新设计的界面要与其他已有的界面的风格不要截然向左。(3)习常性设计界面时,应尽量使用人们所熟悉的标志与符

23、号。 用户可以根据熟悉标志 作出正确猜测,自学入门。(4)其他考虑因素注意界面的动态性能。如界面对用户操作的响应要迅速(Immediate)、连续(Continous);对持续时间较长的运算,要给出等待时间提示,并允许用户中断 运算。图形用户界面的制作包括界面设计和程序实现。具体制作步骤如下:(1)分析界面所要求实现的主要功能,明确设计任务;(2)在稿纸上绘出界面草图,并站在使用者的角度来审查草图;(3)按构思的草图,上机制作静态界面,并检查之;(4)编写界面动态功能的程序,对功能进行逐项检查。3设计步骤3.1总体设计流程图用luyin程序录制一段1s左右的wav格式的语音,并保存用 wavr

24、ead从电脑中导入录制的语音信号调用fft函数进行快速傅里叶变换。画出采样后语音 信号的时域波形与频谱图,并回放采样语音信号对采样信号延时 2000,两者相加,得到混响。 分别画出延时和混响后语音信号的时域波形与 频谱图。并回放延时和混响后语音信号a.单回声滤波b.多声滤波c.无限回声滤D.全通滤波器,画出频域器,画出频域波器,画出频器,画出频域响应。用滤波响应。用滤波域响应。用滤响应。用滤波器对语音信器对语音信波器对语音器对语音信号滤波,画出号滤波,画出信号滤波,画号滤波,画出时域波形与时域波形与出时域波形时域波形与频谱图回放频谱图回放与频谱图回频谱图回放语音信号语音信号放语音信号语音信号分

25、析得到信号的频谱,比较回放的声音,并对滤波前后的信号进行对比,分析信号的变化图3-1总体设计流程图3.2详细设计321 语音的录制运行程序,录制语音文件,文件名为sou nd.wav程序:%获取录音文件pausefs=44100;%声音的采样频率为 44.1Khzduration=3;%录音时间为3sfprintf('按任意键开始录音1: n');pausefprintf('录音中");sd仁wavrecord(duration*fs,fs); %采样数为 132300,保存文件名为 sd1.wav fprintf('放音中n');wavpla

26、y(sd1,fs);fprintf('录音1播放完毕。n');wavwrite(sd1,fs,'sound1.wav'); %将录音文件保存为 WAV格式的声音文件3.2.2原始信号读取声音,画出采样后语音信号的时域波形与频谱图,并回放采样语音信号程序:x1,fs,bits=wavread('D:s oun d1.wav'); 采样频率(Hz), bits表示采样位数。 x1=x1(:,1);soun d(x1,fs);figure;Subplot(211);plot(x1);title('原始语音信号的时域图');grid on

27、; xlabel('时间 n');ylabel('音量 n');%读取信号,采样值放在向量x中,fs表示%只取单声道%对声音的回放%做原始语音信号的时域图形y仁fft(xl);%做门gth(xl)点的 FFTy仁fftshift(yl);%平移,是频率中心为0derta_fs = fs/le ngth(xl);%设置频谱的间隔,分辨率Subplot(212);plot(-fs/2:derta_fs:fs/2-derta_fs,abs(y1);% 画出原始语音信号的频谱图title('原始语音信号的频谱');grid on;运行结果:原始语音信号的

28、时域图n旦 里 音0.50-0.5-1时间n原始语音信号的频谱Ljj1 jhiI -1V1叩評11012144x 10x 10图3-2原始语音信号的时域波形与频谱图结果分析:采样点数为132300,与时域波形结果吻合,由频谱可看出频率 较集中,有一点高频分量,是由于噪声的干扰引起的。3.2.3延时对原始语音信号延时2000,画出延时后语音信号的时域波形与频谱图,并回放延时后的语音信号。程序:%延时的信号x1,fs,bits=wavread('D:s oun d1.wav');x1=x1(:,1);%只取单声道z=zeros(2000,1);x1;soun d(z,fs);%对声

29、音延时2000figure(2); Subplot(211);Plot(z);title('延时后的信号时域图');grid on;%画出延时后的信号时域图z=fft(x1);%做length(x1)点的 FFTz-fftshift (z);%平移,是频率中心为0derta_fs - fs/len gth(z);Subplot(212);%设置频谱的间隔,分辨率plot(-fs/2:derta_fs:fs/2-derta_fs,abs(z);%画出延时后的信号频谱图 title('延时后的信号频谱图');grid on;运行结果:di1jr1 .|J, J 曲&

30、#39;L1. l|iTrIMI-r延时后的信号时域图0.510120-0.5-1200015001000500-24x 100 -3图3-3延时后语音信号的时域波形与频谱图144-亠延时后的信号频谱图x 10结果分析:由运行结果可以看出,时域波形向右平移,频谱无变化3.2.4混响调整原始采样信号的长度,将其与延时信号相加,就得到混响。画出混响后 语音信号的时域波形与频谱图,并回放延时后的语音信号。程序:%混响后信号%读取语音信号x=x(:,1);%只取单声道z=zeros(2000,1);x;%对语音信号进行延时x=x;zeros(2000,1);%使语音信号与延时后信号同等长度y1=x+z

31、;%信号的混响soun d(y1,fs);%回放混响后的信号figure(3);subplot(211);plot(y1); title('混响的时域图');%混响时域图Y1=fft(y1);%做聞gth(y1)点的FFT丫仁 fftshift(Y1);%平移,是频率中心为0derta_fs = fs/len gth(y1);%设置频谱的间隔,分辨率x,fs,bits=wavread('D:so un d1.wav');Subplot(212);plot(-fs/2:derta_fs:fs/2-derta_fs,abs(Y1);% 画出混响频谱图title(&#

32、39;混响的频谱图');grid on;运行结果:混响的时域图混响的频谱图x 10图3-4混响后语音信号的时域波形与频谱图结果分析:混响后时域波形音量增大了回放的语音声音变得融合,能听到回音。325单回声滤波器用单回声滤波器对原始语音信号滤波 谱图,并回滤波时后的语音信号。程序:%单回声滤波器x,fs,bits=wavread('D:so un d1.wav');x=x(:,1);a=0.5;z=zeros(2000,1);x;x=x;zeros(2000,1);y2=x+z*a;soun d(y2,fs);由运行结果可以看出,原始信号的延时声阵列非常密集、复杂,各个脉

33、冲变宽语音信号的频谱展宽了,幅值增大,画出滤波后语音信号的时域波形与频%读取语音信号%只取单声道%a取小于等于1%对语音信号进行延时%使语音信号与延时后信号同等长度%信号经单回声滤波%回放经单回声滤波器后的语音信号figure;subplot(211);plot(y2);title('单回声滤波的信号时域图');Y2=fft(y2);%做门gth(y2)点的 FFTY2=fftshift(Y2);%平移,是频率中心为0derta_fs = fs/length(y2);%设置频谱的间隔,分辨率Subplot(212);plot(-fs/2:derta_fs:fs/2-derta_

34、fs,abs(Y2);% 画出单回声信号频谱图 title('单回声滤波的信号频谱图');grid on;运行结果:单回声滤波的信号时域图单回声滤波的信号频谱图x 10图3-5 单回声滤波器滤波后信号的时域波形与频谱图结果分析:由运行结果可以看出,时域波形的幅值变大,毛刺变多,频谱的 中心频率两边的频率分量展宽、幅值变大,回放的声音立体感变强。326多回声滤波器用多回声滤波器对原始语音信号滤波 谱图,并回滤波时后的语音信号。程序:%多回声滤波器x,fs,bits=wavread('D:so un d1.wav');x1=x(:,1);delay_t=0.1;a=

35、0.2;N=3;Bz=1;zeros(fs*delay_t,1)*N;aAN;Az=1;zeros(fs*delay_t,1);a;y=filter(B z, Az ,x1 );,画出滤波后语音信号的时域波形与频%变换为单声道语音信号%回声延迟时间%衰减系数%N阶延时sou nd(y,fs,bits);%回放经多回声滤波器后的语音信号figure;subplot(211);plot(y);title('多回声滤波的信号时域图');Y2=fft(y);Y2=fftshift(Y2);derta_fs = fs/len gth(y);Subplot(212); plot(-fs/2

36、:derta_fs:fs/2-derta_fs,abs(Y2); title('多回声滤波的信号频谱图');grid on;运行结果:%做length(y)点的 FFT%平移,是频率中心为0%设置频谱的间隔,分辨率%画出多回声信号频谱图多回声滤波的信号时域图20000多回声滤波的信号频谱图15001000-234 x 10-3500图3-6 单回声滤波器滤波后信号的时域波形与频谱图结果分析:由运行结果可以看出,时域波形的幅值变大,毛刺变得更多,频 谱的中心频率幅值变大,回放的声音立体感变的更强。3.2.7无限回声滤波器用无限回声滤波器对原始语音信号滤波,画出滤波后语音信号的时域

37、波形与 频谱图,并回滤波时后的语音信号。程序:%无限回声滤波器%读取语音信号x=x(:,1);%只取单声道a=0.5;%a取小于等于1Bz=0,0,0,0,0,0,0,0,0,0,1;%分子的系数Az=1,0,0,0,0,0,0,0,0,0,-a;%分母的系数yy 1= filter(B z,Az,x);%FIR滤波器进行滤波soun d(yy1,fs,bits);%回放经无限回声滤波器后的语音信号figure(5);subplot(211);plot(yy1);%无限回声信号时域波形title('无限个回声滤波的信号时域图');YY1= fft(yy1);%经无限回声滤波器后

38、的信号做len gth(yy1)点的FFTYY仁 fftshift(YY1);%平移,是频率中心为0derta_fs = fs/le ngth(yy1);%设置频谱的间隔,分辨率x,fs,bits=wavread('D:so un d1.wav');Subplot(212);plot(-fs/2:derta_fs:fs/2-derta_fs,abs(YY1);% 无限回声频谱图title('无限个回声滤波的信号频谱图');grid on;运行结果:-1无限个回声滤波的信号时域图0.50-0.524681012144无限个回声滤波的信号频谱图x 10图3-7无限回

39、声滤波器滤波后信号的时域波形与频谱图0x 10结果分析:由运行结果可以看出,时域波形的幅值变大,频谱的中心频率不变,中心频率两边的频率分量变得密集、幅值变小,回放的声音变得清晰,音量变大。328全通滤波器用全通滤波器对原始语音信号滤波,画出滤波后语音信号的时域波形与频谱图,并回滤波时后的语音信号。程序:%全通结构的混响器x,fs,bits=wavread('D:so un d1.wav');%读取语音信号x=x(:,1);%只取单声道a=0.5;%a取小于等于1Bz仁a,0,0,0,0,0,0,0,0,0,1;%分子的系数Az1=1,0,0,0,0,0,0,0,0,0,a;%分

40、母的系数yy2=filter(Bz1,Az1,x);%FIR滤波器进行滤波soun d(yy2,fs,bits);%回放经全通结构的混响器后的语音信号YY2=fft(yy2);YY2=fftshift(YY2);derta_fs = fs/le ngth(yy2);%设置频谱的间隔,分辨率figure(6);subplot(211);plot(yy2); title('全通滤波信号的时域图')%全通结构的混响器时域波形 %经全通滤波器后的信号做length(yy2)点的FFT %平移,是频率中心为0%全通滤波信号的频谱图Subplot(212);plot(-fs/2:derta

41、_fs:fs/2-derta_fs,abs(YY2);title('全通滤波信号的频谱图');grid on;运行结果:全通滤波信号的时域图x 102000全通滤波信号的频谱图1000500-2x 100 -3kz亠-1500图3-8无限回声滤波器滤波后信号的时域波形与频谱图结果分析:由运行结果可以看出,时域波形和频谱基本不变,回放的声音跟原语音信号很接近4图形用户界面的设计4.1 GUI布局在Matlab的主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令, 就会就会显示GUI的设计模板。新建一个空白模板jiemian.fig,就会显示GUI的 设计窗口,点击

42、旦I和匸弓分别放置按钮和坐标轴,放置结果如图4-1。4.2设置属性按钮(Push Buttons)执行某种预定的功能或操作;其属性如图4-2。Axes属性为默认属性,如图4-3。未指定时将使用系统缺省值,改变了的属性有:(1)BackgroundColor取值为颜色的预定义字符或 RGB数值,缺省值为浅灰色; 本设计为蓝色。(2)String取值为字符串矩阵或块数组,定义控件对象标题或选项内容;(3)Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象;(4) FontSize取值为数值;* -|飾丨t:吧ClippingonTCreateFcnDeleteF

43、cnHandleVisi.on*HitTestonTIritermptibleon*SelectionH.,.onTTagcaiyang/UlContext-<None> UserDatd田(0x0 do., $VisibleonT< Control + PositionE Data二Max1h0,Min0.0K+l SliderStep0-01 01String1芝1康娼信号-,TooltipStri.Unitscharacters *ValueIL1 0.0回li Stylc/Appea rance + Position ColorBase PropertiesBeing

44、Ddet.,offBusyActianqueueButtonDo.,fl匚 lippingonTCreateFcnDeleteFcn越$HandleVlsi.-onHitTestonVInterruptibleon*SelectionH.onTagaxelU】C: ontext.<None>UserData田 | 0x0 do,MVisibleon+ Camerai Controlgjont二图4-2按钮的属性图4-3坐标轴的属性4.3编程使用图形用户界面开发环境可方便地创建 GUI应用程序,它可以根据设计的GUI布局,自动生成M文件的框架,使用这一框架编制应用程序。将前面编好的

45、各个功能子程序分别编写到各个按钮的callback函数中,逐个调试,运行,M文件见附录。4.4运行结果图形用户界面的运行结果如图4-4。图4-4 GUI运行结杲5总结通过本次课程设计,我收获了很多:For pers onal use only in study and research; not for commercial use一、 我对MATLAB软件有了较深的了解,并且学会了用MATLAB对语音信号进行分析和处理。这次课程设计,刚开始我无从下手,不知所措,后来经过问同学、去图书馆资查料、上网查资料、看视频教程,逐渐了解了用MATLAB 对语音信号进行分析和处理要用到的各种函数,及滤波器

46、的设计及其频率响应的 绘制,并在调试过程不断出错的过程中,不断加强了对MATLB编程的掌握程度, 能够用MATLB对语音信号进行分析和处理,收获颇深。二、本次课程设计锻炼了我独立解决问题的能力。刚看到题目时我一点思路 也没有,到后来,自己不断探索MATLB,不断摸索各个函数的使用方法和格式, 最后完成了本次课程设计,整个过程让我学会了发现问题,并独立解决问题的方 法,也能更好的利用网络学习知识。三、本次课程设计让我对语音信号的采样、延时、混响、滤波器的设计及语 音信号的分析有了更深的了解,并且巩固了数字信号处理所学的内容。了解了通 过MATLAB设计单回声滤波器,多重回声滤波器,无限个回声滤波

47、器,全通结 构的混响器的过程和方法,使所学的知识得到了综合运用与巩固。For pers onal use only in study and research; not for commercial use本次课程设计最重要的是让我学会了独立解决问题的方法,经过不断的学 习、出错、调试、改正,锻炼了我的耐心和毅力,让我体会到了不断探索的乐趣, 并体会到了付出后得到成功的激动。此次设计也让我发现了我的不足:对MATLB 的掌握程度不够,在原来学习后,我对 MATLAB的许多函数、属性的用法还是 不很了解,以后应当多多学习软件,辅助各门专业课的学习,并激发对本专业的 学习兴趣。参考文献1 邹彦,D

48、SP原理及应用,第1版,电子工业出版社,2006;2 彭启琮等,DSP技术的发展与应用,第二版,高等教育出版社,20073 刘泉,阙大顺数字信号处理原理与实现电子工业出版社.20054 张雄伟,DSP集成开发与应用实例,第1版,电子工业出版社,2002; 张洪涛等,数字信号处理,第一版,华中科技大学出版社,2007 杨述斌等,数字信号处理实践教程,第一版,华中科技大学出版社,20077 胡航语音信号处理哈尔滨工业大学出版社.2002.8 张威.MATLAB基础与编程入门西安电子科技大学出版社.2006附录图形用户界面的M文件:fun cti on varargout = jiemia n(va

49、rargi n)% JIEMIAN M-file for jiemia n.fig% JIEMIAN, by itself, creates a new JIEMIAN or raises the exist ing%sin glet on*.% H = JIEMIAN returns the han die to a new JIEMIAN or the han die to%the existi ng sin glet on*.%JIEMIAN('CALLBACK',hObject,eve ntData,ha ndles,.) calls the local% fun ct

50、io n named CALLBACK in JIEMIAN.M with the give n in put argume nts.%JIEMIAN(' Property','Value',.) creates a new JIEMIAN or raises the% exist ing sin glet on*. Start ing from the left, property value pairs are%applied to the GUI before jiemia n_Ope nin gFc n gets called. An%un recog

51、ni zed property n ame or in valid value makes property applicati on%stop. All in puts are passed to jiemia n_Ope nin gFc n via vararg in.%*See GUI Options on GUIDE's Tools menu. Choose "GUI allowsonly one%in sta nee to run (sin glet on)".% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the

52、 above text to modify the resp onse to help jiemia n% Last Modified by GUIDE v2.5 02-Jul-2012 01:22:36% Begi n in itializatio n code - DO NOT EDITgui_S in glet on = 1;gui_State = struct('gui_Name',mfile name, .'gui_S in glet on', gui_S in glet on, .'gui_Ope nin gFc n', jiemia

53、 n_ Ope nin gFcn, .'gui_OutputFc n', jiemia n_OutputFc n,.'gui_LayoutFc n',.'gui_Callback', );if n argin && ischar(varargi n1)gui_State.gui_Callback = str2fu nc(varargi n1);endif n argoutvarargout1: nargout = gui_mai nfcn( gui_State, varargi n:);elsegui_mai nfcn( gui_

54、State, vararg in :);end% End in itializatio n code - DO NOT EDIT% - Executes just before jiemia n is made visible.fun cti on jiemia n_Ope nin gFc n( hObject, eve ntdata, han dles, vararg in)% This fun cti on has no output args, see OutputFc n.% hObject han dle to figure% eve ntdata reserved - to be defi n

温馨提示

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

评论

0/150

提交评论