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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

matlab音频处理Word格式.docx

1、 这个课题正好是 对数字语音处理的一次有利实践, 而且语音处理也可以说是信号处理在实际应用 中很大众化的一方面。这个方案用到的软件也是在数字信号处理中非常通用的一个软件一一 MATLA软件。所以这个课题的设计过程也是一次数字信号处理在 MATLAB应用的学习过程。课题用到了较多的MATLA语句,而由于课题研究范围所限,真正与数字信 号有关的命令函数却并不多。主体部分:一)、语音的录入与打开:y,fs,bits=wavread(Blip,N1 N2); 用于读取语音,采样值放在向量 y 中,fs表示采样频率(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的 值(若只有一个N的点

2、则表示读取前N点的采样值)。sound(x,fs,bits); 用于对声音的回放。 向量 y 则就代表了一个信号 (也即一个 复杂的“函数表达式”) 也就是说可以像处理一个信号表达式一样处理这个声音 信号。FFT的MATLA实现在MATLAB勺信号处理工具箱中函数 FFT和IFFT用于快速傅立叶变换和逆变换 下面介绍这些函数。函数FFT用于序列快速傅立叶变换函数的一种调用格式为 y=fft(x)其中,x是序列,y是序列的FFT, x可以为一向量或矩阵,若x为一向量,y是 x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行 FFT。如果x长度是2的幕次方,函数fft执行高速基

3、2FFT算法;否则fft执行一 种混合基的离散傅立叶变换算法,计算速度较慢。y=fft(x,N)函数FFT的另一种调用格式为式中,x,y意义同前,N为正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x补零至长度N。若 向量x的长度大于N,则函数截短x使之长度为No若x为矩阵,按相同方法对 x 进行处理。经函数fft求得的序列y 般是复序列,通常要求其幅值和相位。 MATLA提供求复数的幅值和相位函数:abs,angle,这些函数一般和FFT同时使用。函数 abs(x) 用于计算复向量 x 的幅值,函数 angle(x) 用于计算复向量的相角, 介于 和 之间,以弧度表示。函数 u

4、nwrap(p) 用于展开弧度相位角 p , 当相位角绝对变化超过 时,函数把它扩 展至 。用MATLAB:具箱函数fft进行频谱分析时需注意:(1)函数 fft 返回值 y 的数据结构对称性若已知序列 x=4,3,2,6,7,8,9,0, 求 X(k)=DFTx(n) 。利用函数fft计算,用MATLAB程如下:N=8;n=0:N-1;xn=4 3 2 6 7 8 9 0;XK=fft(xn)结果为:XK =39.0000-10.7782 + 6.2929i0 - 5.0000i4.7782 - 7.7071i5.00004.7782 + 7.7071i0 + 5.0000i-10.7782

5、 - 6.2929i由程序运行所得结果可见,X(k)和x(n)的维数相同,共有8个元素。X(k)的第 一行元素对应频率值为 0,第五行元素对应频率值为 Nyquist 频率,即标准频率 为1.因此第一行至第五行对应的标准频率为 01。而第五行至第八行对应的是负频率,其 X(k) 值是以 Nyquist 频率为轴对称。(注:通常表示为 Nyquist 频 率外扩展,标以正值。)一般而言,对于N点的x(n)序列的FFT是N点的复数序列,其点n=N/2+1对应 Nyquist 频率,作频谱分析时仅取序列 X(k) 的前一半,即前 N/2 点即可。 X(k) 的后一半序列和前一半序列时对称的。( 2)

6、 频率计算若N点序列x(n)(n=0,1,N-1)是在采样频率 下获得的。它的FFT也 是N点序列,即X(k)(k=0,1,2,N-1),则第k点所对应实际频率值为f=k*f /N.(3)作FFT分析时,幅值大小与FFT选择点数有关,但不影响分析结果。2、设计内容:(1)下面的一段程序是语音信号在 MATLAB的最简单表现,它实现了语音的读 入打开,以及绘出了语音信号的波形频谱图。x,fs,bits=wavread(ding.wav,1024 5120);X=fft(x,4096);magX=abs(X);angX=angle(X);subplot(221);plot(x);title(原始信

7、号波形subplot(222);plot(X); title(原始信号频谱 );subplot(223);plot(magX);原始信号幅值 subplot(224);plot(angX);原始信号相位 程序运行可以听到声音,得到的图形为:(2)定点分析:已知一个语音信号,数据采样频率为100Hz试分别绘制N= 128 点DFT的幅频图和N= 1024点DFT幅频图。编程如下:x=wavread(sound(x);fs=100;N=128;y=fft(x,N);magy=abs(y);f=(0:length(y)-1)*fs/length(y);plot(f,magy);xlabel( 频率(

8、 Hz)ylabel( 幅值N=128(a)gridplot(f(1:N/2),magy(1:N/2);N=128(b)N=1024;N=1024(c)N=1024(d)运行结果如图:上图(a)、(b)为N=128点幅频谱图,(c)、(d)为N=1024点幅频谱图。由于采样 频率 f =100Hz,故 Nyquist 频率为 50Hz。 (a)、(c)是 0100Hz频谱图,(b)、(d)是050Hz频谱图。由(a)或(c)可见,整个频谱图是以Nyquist频率为轴对 称的。因此利用 fft 对信号作频谱分析,只要考察 0Nyquist 频率(采样频率 一半)范围的幅频特性。比较(a)和(c)

9、或(b)和(d)可见,幅值大小与fft选用点 数 N 有关,但只要点数 N 足够不影响研究结果。 从上图幅频谱可见, 信号中包括 15Hz和40Hz的正弦分量。(3)若信号长度T=25.6s,即抽样后x(n)点数为T/Ts=256,所得频率分辨率为 Hz,以此观察数据长度N的变化对DTFT分辨率的影响:N=256;f=0:fs/N:fs/2-1/N;X=fft(x);X=abs(X);subplot(211)plot(f(45:60),X(45:60);Hz),ylabel(|H(ejw)|%数据长度N扩大4倍后观察信号频谱N=N*4;subplot(212)plot(f(45*4:4*60)

10、,X(4*45:4*60);结果如图:(三)、滤波器设计:1 、相关原理: 设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统, 并使系统函数 H(z) 具有指定的频率特性。数字滤波器从实现的网络结构或者从单位冲激响应分类, 可以分成无限长单位冲 激响应(IIR )数字滤波器和有限长单位冲激响应(FIR)数字滤波器。数字滤波器频率响应的三个参数:( 1) 幅度平方响应:( 2) 相位响应其中,相位响应( 3) 群时延响应IIR 数字滤波器:IIR 数字滤波器的系统函数为 的有理分数,即IIR 数字滤波器的逼近问题就是求解滤波器的系数 和 ,使得在规定的物理意义 上逼近所要求的特性的问题。

11、 如果是在 s 平面上逼近,就得到模拟滤波器, 如果 是在 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=f

12、ilter(b,a,x)该格式采用数字滤波器对数据进行滤波,既可以用于 IIR 滤波器,也可以用于FIR滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a= 1,此时表示FIR滤波器,否则就是IIR滤波器。该函数是利用给出的向量 b和a,对x中的数据进行滤波,结果放入向量 y。(3)函数 fftfilt函数 fftfilt 的调用格式为 y=fftfilt(b,x)该格式是利用基于FFT的重叠相加法对数据进行滤波,这种频域滤波技术只对 FIR滤波器有效。该函数是通过向量 b描述的滤波器对x数据进行滤波。关于用 butter 函数求系统函数分子与分母系数的几种形式。b,a=bu

13、tter(N,wc): 当wc为具有两个元素的矢量 wc=w1,w2时,它设计2N阶带通滤波器,3dB通带为,w的单位为。b,a=butter(N,wc,stop): 若 wc=w1,w2,则它设计 2N阶带阻滤波器,3dB通带为,w的单位为。如果在这个函数输入变元的最后,加一个变元“ S”,表示设计的是模拟滤波器 这里不作讨论。为了设计任意的选项巴特沃斯滤波器, 必须知道阶数N和3dB边缘频率矢量wco这可以直接利用信号处理工具箱中的 buttord 函数来计算。如果已知滤波器指 标 , , 和 ,则调用格式为N,wc=buttord(wp,ws,Rp,As)对于不同类型的滤波器,参数 wp

14、和ws有一些限制:对于低通滤波器,wpws对于带通滤波器,wp和ws分别为具有两个元素的矢 量,wp=wp1,wp2和 ws=ws1,ws2,并且 ws1wp1wp2ws2 对于带阻滤波器 wp1ws1ws2 sound(y);可以听到声音明显变得高亢了。从上面的波形与幅值(即幅频)图,也可看出, 滤波后的幅值变成了滤波前的 20 倍。 figure,subplot(211);plot(angle(X); 滤波前信号相位 subplot(212);plot(angle(Y); 滤波后信号相位 得图:可以看到相位谱没什么变化。(四)、界面设计:直接用M文件编写GUI程序很繁琐,而使用GUIDE设

15、计工具可以大大提高工作效 率。GUIDE相当于一个控制面板,从中可以调用各种设计工具以辅助完成界面设 计任务,例如控件的创建和布局、控件属性的编辑和菜单设计等。使用GUIDE设计GUI程序的一般步骤如下:1.将所需控件从控件面板拖拽到 GUIDE的设计区域;2.利用工具条中的工具(或相应的菜单和现场菜单),快速完成界 面布局;3.设置控件的属性。尤其是 tag 属性,它是控件在程序内部的唯一 标识;4.如果需要,打开菜单编辑器为界面添加菜单或现场菜单;5.保存设计。GUIDE默认把GUI程序保存为两个同名文件:一个是.fig文件,用来保存窗体布局和所有控件的界面信息;一个是 .m文件,该文 件

16、的初始内容是GUIDE自动产生的程序框架,其中包括了各个控件回调函数的定 义。该M文件与一般的M文件没有本质区别,但是鉴于它的特殊性, MATALA把 这类文件统称为GUI-M文件。保存完后GUI-M文件自动在编辑调试器中打开以供 编辑。6.为每个回调函数添加代码以实现 GUI程序的具体功能。这一步与一般函数文件的编辑调试过程相同。设计过程及内容:在MATLABS面上,通过键入GUIDE单出一个菜单栏进入gui制作界面(或者在 File到new来进入gui),从而开始应用界面的制作。该界面主要实现了以下几个功能:1打开wav格式的音频文件,并将该音频信号的值读取并赋予某一向量;2播放音频文件,

17、可以选择性的显示该音频信号的波形、频谱、幅值以及相位;3对音频信号进行 IIR 与 FIR 的 5阶固定滤波处理, 可以选择性的显示滤波前后 信号的波形、频谱、幅值以及相位,以及播放滤波后的声音。界面如图所示:通过该界面,可以方便用户进行语音信号的处理。界面主程序见附件。(五)、校验:1、 本设计圆满的完成了对语音信号的读取与打开,与课题的要求十分相符;2、 本设计也较好的完成了对语音信号的频谱分析,通过 fft 变换,得出了语音 信号的频谱图;3、 在滤波这一块,课题主要是从巴特沃斯滤波器入手来设计滤波器,也从一方 面基本实现了滤波;4、 初略的完成了界面的设计,但也存在相当的不足,只是很勉强的

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2