音频信号的采样与重构等matlab代码数字信号处理_第1页
音频信号的采样与重构等matlab代码数字信号处理_第2页
音频信号的采样与重构等matlab代码数字信号处理_第3页
音频信号的采样与重构等matlab代码数字信号处理_第4页
音频信号的采样与重构等matlab代码数字信号处理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、基于 MATLAB的音频信号分析与处理 摘要数字信号处理是一门发展十分迅速、应用非常广泛的前沿学科。它的理论性和实践 性都非常强。MATLAB强大的计算仿真功能在数字信号处理领域起着非常大的作用。出 于对数字音频处理的兴趣,本文中将尝试利用所学的知识,如采样、滤波、重构等知识, 对语音信号或是音频信号进行一定的处理。本文详细给出了利用MATLAB对音频信号进行谱分析,信号滤波和重构的过程,加深了对所学数字信号处理知识的了解。关键词:滤波重构谱分析AbstractDigital signal processing is an advanced subject which is quickly d

2、eveloping and widely used. It lays a great emphasis both in theory and practice. MATLAB, the powerful computation and simulationsoftware , plays a great rolein digital signal processing field. As for the interest for the digital audio processing, through this paper, I am trying to make some processi

3、ng about the sound (audio) signal with what I have learntin classroom, such assampling ,filtering ,reconstruction ,and so on .In this paper ,the processesoffrequency amplitude analysis , filtering and construction of the audio signal ,which are based on MATLAB are detailedly presented ,and I gain mo

4、re understating about knowledge of digital data processing .Key words : filtering , reconstruction ,frequency amplitude analysis摘要Abstract1数字滤波器数字滤波器概述IIR数字滤波器的设计理论用窗函数设计FIR滤波器设计思想.典型的窗函数.设计步骤2 快速傅立叶变换(FFT)FFT算法FFT的优越性用FFT进行频谱分析3基于MATLAB的语音信号分析和处理MATLAB简介基于MATLAB的语音信号分析语音信号的采集及采样语音信号的频谱分析设计滤波器进行滤波处理

5、基于MATLAB的语音信号的谱分析和重构总结参考文献1数字滤波器数字滤波器概述数字滤波器是对数字信号实现滤波的线性时不变系统。它通过一定的计算或判断程序来减少干扰信号的比重,它实现的是程序滤波。数字滤波器的输入与输出均为数字信号,通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的软件或器件。因此数字滤波器和模拟滤波器有着同样的概念,只是信号形式和实现方式不同。正因为有该不同点,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法实现的特殊滤波功能等特点,并且如果要处理的是模拟信号,可通过 A/DC和D/AC ,在信号形式上进

6、行匹配转换,同 样可以使用数字滤波器对模拟信号进行滤波。数字滤波器实际上是一个线性时不变系统,故可用差分方程、单位脉冲响应h(n)、传输函数(系统函数H(z)及频率响应H(ejW )来描述。数字滤波器按照不同分类方法,有许多种类。但是总体而言,可以分为两类。一类 为经典滤波器,即一般滤波器,其特点是输入信号中有用的频率分量和希望滤波器滤除 的频率分量各点有不同的频带,即通过一个合适的选频滤波器达到滤波的目的。但如果 信号与干扰或噪声的频带相互重叠,则显然不能完成有效滤波。这时,就需要另一类所谓现代滤波器,如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳地提取信号1。MbkZ kH(z) T1ak

7、z kK 1数字滤波器从实现的网络结构或者从单位响应分类,可以分成无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。它们的系统函数分别为:N 1H (z) h(n)z nn 0式中的H(z)称为N阶IIR滤波器的传输函数,式为的 H(z)称为(N-1 )阶FIR滤波器函数。IIR 滤波器产生新的输出,不便需要过去和现在的输入,还需要过去的输出。而FIR滤波器的输出仅取决于过去的输入,而与过去的输出无关。IIR滤波器能利用以前所积累的模拟滤波器的成熟的理论及设计图表进行设计的, 因而保留了一些典型模拟滤波器优良的幅频特性。但是设计中只考虑了幅频特性,未考 虑相位特性,所设计的滤波器相位

8、特性一般是非线性的。为了得到线性相位特性,就必 须提到FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位 特性,这也是FIR滤波器的最大的特点。通常用的数字滤波器一般属于选频滤波器。假设数字滤波器的传输函数H(ejW )可用下式来表示:H(ejw)H(ejw)ej(w),其中H (ejw)H(e)称为幅频特性,(w)称为相频特性。幅频特性表示信号通过滤波器后各频率分量的衰减情况,而相频特性则反映各频率成分通过 滤波器后的相位在时间上的延时情况。因此,即使两个滤波器幅频特性相同,而相频不 一样,对相同的的输入,输出的信号波形也不一样。一般选频滤波器的技术要求由幅频 特性给出

9、,相频特性一般不作要求,但如果对输出波形有要求,则需要考虑相频特性的 技术指标,如语音合成、波形传输、图像信号处理等。如果对输出波形要求有严格要求, 则需设计线性相位滤波器。数字滤波器的设计方法数字滤波器的设计大致包括三个步骤:给出所需要的滤波器的技术指标;设计一 H (Z)使其逼近所需要的技术指标;实现所设计的H。通常,频率选择性滤波器可利用IIR滤波器和FIR滤波器来设计,但是两种不同形 式的滤波器的设计不同。IIR滤波器的单位脉冲响应h(n)为无限长序列,无法由h(n)确定网络结构,而其系统函数 H(z)有限,所以设计结果是滤波器系统函数 H(z)o FIR滤 波器的设计方法主要是建立在

10、理想滤波器频率特性做某种近似的基础上的,近似方法有 窗函数法、频率采样法、优化设计方法等,其设计结果为h(n)0而对于线型相位滤波器,通常采用FIR滤波器,其单位脉冲响应应满足一定的条件,可以证明其相位特性在整个频带中是严格线性的,这是模拟滤波器无法达到的。当然, 也可以采用IIR滤波器,但必须使用全通网络对其线性相位特性进行相位校正,这样就 增加了设计与实现的复杂性。IIR数字滤波器的设计IIR数字滤波器的设计步骤如下:(1)按照一定规则将给出的数字滤波器的技术指标转换成模拟滤波器的技术指标;(2)根据转换后的技术指标设计模拟低通滤波器 H(s);(3)再按照一定规则将H转换成H。如果所设计

11、的数字滤波器是低通型的,那么上述设计工作可以结束,如果所设计的是高通、带通或带阻滤波器,那么还有步骤(4)。(4)将高通、带通或带阻数字滤波器的技术指标转换成低通模拟滤波器的技术指标,然后按照步骤(2)设计出低通滤波器H(s),再将H(s)转换成所需的H(z) o由上述步骤可知,设计滤波器时,总是先设计模拟低通滤波器,再通过频率变换将之转换成希望设计的滤波器的类型。模拟滤波器的设计方法已经相当成熟,有着大量的现存图表结果可以查阅,而且MATLAB软件中也包含许多功能强大的设计调用函数,可以用来进行直接设计。我们可以首先设计一个合适的模拟滤波器,然后变换成满足预定 指标的数字滤波器。这种方法的方

12、便之处在于模拟滤波器已经具有很多简单且现成的设计公式,并且设计参数已经表格化了。利用模拟滤波器设计数字滤波器,就是要把s平面映射到z平面,这种映射必须满足:1)s平面的虚轴j。必须映射到z平面的单位圆ej上;2)s平面的左半平面Re(s)0必须映射到z平面的单位圆ej的内部I z | 0 %此处的语句可以比较精确地控制重构后的效果 P=Y(n);x(n)=P;endendX1=ifft(x,4096); %反快速傅里叶变换进行信号重构X=X,X1; %实现不同分段的信号的拼接endx=fft(X,4096);subplot(311);plot(y(1024+1:20*4096+5120);ti

13、tle(原始信号波形);subplot(312);plot(abs(Y);title(原始信号频谱);subplot(313);plot(X);title( 重构后的信号);subplot(414);plot(abs(x);title(重构信号的频谱);sound(X,fs,bits);%回放重构后的乐曲图采用幅值大于零的频谱分量重构的信号比较重构后的信号由if abs(Y(n)0语句可以得到精确地控制,此处为大于零,当重放乐曲时,我们可以听到清晰的声音和原来的乐曲几乎无异,因为是根据原来的大于零的频谱分量进行ifft变换,而我们从上图可以看到原始信号的频谱几乎是大于零的,重构后的信号波形也几

14、乎没有失真,用sound函数重放的时候我们可以很清晰地感受到这一点。当我们把if abs(Y(n)0 改为if abs(Y(n)20 时,我们可 以得到 以下的波形。F:i E*r e= 1 药工,Edit cw Insert Tool s De aht4p Wartd-Gw Hui产口3 0自 奥史 口唱| 口原始信号城形后始信注顺i音SQ5 0.0.05C0 IOCO 1500200025003000360040004500 on 0 55n 5 口-0-uno 口6图采用幅值大于20的频谱分量重构的信号比较我们可以看以重构后信号的波形发生了很明显改变,重构后的频谱也稀疏了一些。因为我们

15、只选 取了幅度大于20的频谱,造成了一些能量损失,表现在重放乐曲的时候在基本正确的情况 下(因为主要能量还是保存了下来),但是中间夹杂着一些叮叮的声音。当我们继续把20改为更大的值,如 50 ,我们会发现有严重的失真,重构后的乐曲只有几条频谱,而且听起来有很大 的变化(波形及频谱对比图略去)。总结通过本文,成功地对一段长度为10秒的语音信号进行了各种处理,如采样、滤波, 重构等。并且通过处理前后的语音重放效果,生动形象地深入了解了各种数字信号处理 的基本原理及运算,对 FFT有了更加深入了解,对 MATLAB编程及MATLAB在数字 信号处理当中的应用有了更加深入的了解,并且能够达到MATLAB的比较熟练的运用。参考文献1 丁玉美,高西全.数字信号处理M.西安:西安电子科技大学出版社,2000: 151-194.2郭森楙,颜允圣.数字信号处理器一体系结构、实现与应用M.北京:清 华大学出版社,2005: 292-345.3杨述斌,李永全.数字信号处理实践教程M.武汉:华中科技大学出版 社,2007.4张明照等.应用MATLAB现信号分析和处理M.北京:科学出版社,2006.5赵知劲,刘顺兰等.数字信号处理实验M.杭州:浙江大学出版社,2007. 6徐盛等译.现代数字信号处理M.

温馨提示

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

评论

0/150

提交评论