声音的采集和分析

上传人:博****1 文档编号:502870408 上传时间:2022-08-18 格式:DOC 页数:11 大小:115KB
返回 下载 相关 举报
声音的采集和分析_第1页
第1页 / 共11页
声音的采集和分析_第2页
第2页 / 共11页
声音的采集和分析_第3页
第3页 / 共11页
声音的采集和分析_第4页
第4页 / 共11页
声音的采集和分析_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《声音的采集和分析》由会员分享,可在线阅读,更多相关《声音的采集和分析(11页珍藏版)》请在金锄头文库上搜索。

1、1.摘要MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为领域提供了一种全面的C、Fortran)的Matlab设计实包括实时显示信号波形、科学研究、工程设计以及必须进行有效数值计算的众多科学解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如编辑模式,代表了当今国际科学计算软件的先进水平。本次设计利用现语音信号采集处理软件,通过MIC实时录制并分析语音信号计算信号的频谱等,并利用MATLAB信号处理工具箱可以有效快

2、捷地设计数字滤波器进行滤波处理。关键字:matlab语音信号采集和分析波形滤波处理2对声音进行采集分析2.1声音的采集Matlab函数库中的analoginput()函数可以实现对模拟信号的采集,这种模拟信号可以是声音信号,电压、电流信号等。通过定义ai=analoginput(ADAPTOR),可以建立模拟信号采集的对象,其中ADAPTOR=winsound,即建立了声音信号采集的对象。对建立的声音信号采集对象要进行声音采集的属性参数设置。ADDchannel(ai,1)设置采集声音的通道数,1表示单声道,【12】则表示立体声道。Set(ai,samplesrate,value)设置声音信号

3、采集的采样频率,value的取值根据实际情况进行确定,但必须满足采样定理,通常的取值有value=8000、16000、44100等;set(ai,samplespertrigger,value)设置采集声音信号的长度;set(ai,triggertype,value)设置声音信号采集的触发方式,触发方式主要有三种:立即触发、手工触发和软件触发,软件触发有可以分为信号上升沿触发、下降沿触发等,需要根据不同的实际情况选择合适的触发方式。执行stare(ai)函数打开声音信号采集的对象,一旦满足触发条件就立即采集声音信号,函数getdata(ai)可持续进行采集声音信号的是与特征值,delete(

4、ai)函数删除声音信号采集的对象。一次执行上面的函数就能实现对声音的采集声音采集的程序:ai=analoginput(winsound);addchannel(ai,1);ai.samplerate=8000;ai.samplespertrigger=30000;ai.triggertype=immediate;start(ai);data,time=getdata(ai);plot(data);title(shiyu);xlabel(time);ylabel(data);gridon;2.2声音信号的频谱分析将时域信号进行FFT分析,FFT即为快速傅氏变换的快速算法,它是根据离散傅氏变换的特

5、性对离散傅里叶变换进行改进获得的。在matlab的信号处理工具箱中函数FFT和IFFT用于快速福利叶变换和逆变换。函数FFT用于序列的快速福利叶变换,其中点用的格式是y=fft(x),其中x为一向量,y是x的FFT且和x长度相同;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。对声音信号进行频谱分析的程序:F=fft(data);f1=angle(data);N=length(time);w=1:N.*5/N;plot(w,abs(F);2.3对声音信号的滤波处理滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。您可以通过基本的滤波器积木块二阶通用滤波器传递函数,推

6、导出最通用的滤波器类型:低通、带通、高通、帯阻和椭圆型滤波器。本次设计采用巴特沃斯IIR滤波器对声音信号进行滤波。其中:Wp表示通带截止频率;Ws表示阻带截止频率,Rp表示通带纹波系数;Rs表示阻带纹波系数;N表示滤波器最小阶数;Wn表示截止频率。b,a分别表示阶次为N+1的数字滤波器系统传递函数的分子和分母多项式系数向量;Fs为采样频率;n为在区间OFs频率范围内选取的频率点数;f记录频率点数。n取2的幕次方,可以提高运算的速度,因为freqz函数采用基2的FFT算法。ftype=high时,为高通滤波器;ftype=bandpass时,为带通滤波器;ftype=stop时,为带阻滤波器。巴

7、特沃斯模拟低通滤波器设计步骤:1)根据技术指标ap、Qp、aS和Qs,用式(3.20)求出滤波器的阶数N。按照式(3.19),求出归一化极点pk,将pk代入式(3.18),得到归一化传输函数Ha(p)。1Ha(p)中式(3.18)(pPk)k0j(12k1)lgksplgspPkSk:ce22N,k0,1,N1式(3.19)式(3.20)2)将Ha(p)去归一化。将p=s/Qc代入Ha(p),得到实际的滤波器传输函数Ha(s)。如果技术指标没有给出3db截止频率Qc,可以按照式(3.21)或(3.22)求出。p(1001)2N0.1s(101)2N式(3.21)式(3.22)3)根据如上设计的

8、巴特沃斯模拟低通滤波器,3)根据如上设计的巴特沃斯模拟低通滤波器,采用脉冲响应不变法将其变成数字滤波器,步骤如下:0.1根据式(3.23)确定数字低通滤波器的数字指标,即通带截止频率3p、通带衰减ap、阻带截止频率3s、阻带衰减aS。:T式(3.23)0.2将模拟低通滤波器Ha(s)从s平面转换到z平面,得到数字滤波系统函数H(z),式(3.24)转换公式如式(7)所示。ssi1esTz10.3为避免产生频率混叠现象,要求所设计的模拟低通带限于.T之间,由于实际滤波器都有一定宽度过渡带,可选择T满足公式s/T,即认为混叠现象较小,可达到要求。4) 禾U用在MATLAB计IIR数字滤波器可分以下

9、几步来实现(1) 按一定规则将数字滤波器的技术指标转换为模拟低通滤波器的技术指标。(2) 根据转换后的技术指标使用滤波器阶数函数,确定滤波器的最小阶数N和截止频率Wc(3) 利用最小阶数N产生模拟低通滤波原型。(4) 利用截止频率Wc把模拟低通滤波器原型转换成模拟带通原型。(5) 利用脉冲响应不变法把模拟滤波器转换成数字滤波器。5) 程序中涉及到的函数介绍ButtordN,wc=buttord(wp,ws,ap,as)调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:OWwp1,0ws1。1表示数字频率pi。ap,as分别为通带最大衰减和组带最小衰减(dB)。当wswp时

10、,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。N,wc作为butter函数的调用参数。N,Wc=buttord(Wp,Ws,Ap,As,s)用于计算巴特沃斯模拟滤波器的阶数用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Qc。Butter功能:利用butter函数直接设计各种形式的数字滤波器(也可以设计模拟滤波器)B,A=BUTTER(N,Wn),设计一个阶数为n,频率为Wn的低通滤波器;B,A=BUTTER(N,Wn,ftype)可以设计高通,带阻滤波器,其中ftype参数的形式可以指定何种滤波器,ftype为higl时设计一个阶数为n,频率为Wn的高

11、通滤波器;ftype为sto时,得到滤波器阶数为2*n,频率范围为Wn=W1,W2的带阻滤波器;Z,P,K=BUTTER(.),若返回值是三个,则分别是滤波器的零点,极点和增益,其他函数的参数同上面。Plot(X,Y)功能:绘制线性二维图形当X,Y均为实数向量时,并且为维数相同,X=X(i),Y=Y(i),则plot(X,Y)先描述点(X(i),Y(i),然后依次画线;当X,Y均为复数向量时,则不考虑虚数部分;当X,Y均为实数矩阵时,并且为维数相同,plot依次按照对应的列画出线,矩阵有几列就有几条线;当X,Y一个为向量,一个为矩阵时,并且向量的维数等于矩阵的行数或者列数,则把矩阵按照向量的方

12、向分解为几个向量,在与向量配对分别画图,矩阵分解几个向量就有几条线。Gridon2维/3维绘图设置网格线grid功能:来设置当前坐标系的网格线的开/闭。gridon功能:对当前坐标系添加主要网格线。grid(axes_handle,.)输入:axes_handle坐标系句柄功能:对指定的坐标系设置网格线是否显示。ImpinvarD,C=impinvar(B,A,fs);%调用脉冲响应不变法Filter功能:FILTER是一维数字滤波器Y=FILTER(B,A,X),输入X为滤波前序列,Y为滤波结果序列,B/A提供滤波器系数,B为分子,A为分母整个滤波过程是通过下面差分方程实现的:a(1)*y(

13、n)=b(1)*x(n)+b(2)*x(n-1)+.+b(nb+1)*x(n-nb)-a(2)*y(n-1)-.-a(na+1)*y(n-na)Y,Zf=FILTER(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A提供滤波Zf为最终状态矢量器系数,B为分子,A为分母,并输入Zi指定X的初始状态,程序如下:Fp=1200;%阻带截止频率Fs=800;%通带截止频率Ft=8000;%采集频率As=20;Ap=1;Wp=2*pi*Fp/Ft;Ws=2*pi*Fs/Ft;Fp=2*Ft*tan(Wp/2);Fs=2*Ft*tan(Ws/2);n,wn=buttord(Wp,Ws,Ap

14、,As,s);b,a=butter(n,wn,s);num,den=bilinear(b,a,1);h,w=freqz(num,den);bu=filter(b,a,F);figure;plot(time,bu);grid;xlabel(频率);ylabel(频率响应幅度);title(IIR滤波器);3.总程序:ai=analoginput(winsound);addchannel(ai,1);ai.samplerate=8000;ai.samplespertrigger=30000;ai.triggertype=immediate;start(ai);data,time=getdata(a

15、i);figure;plot(data);title(shiyu);xlabel(time);ylabel(data);gridonF=fft(data);f1=angle(data);N=length(time);w=1:N.*5/N;figure;plot(w,abs(F);Fp=1200;%阻带截止频率Fs=1100;%通带截止频率Ft=8000;%采集频率As=20;Ap=1;Wp=2*pi*Fp/Ft;Ws=2*pi*Fs/Ft;Fp=2*Ft*tan(Wp/2);Fs=2*Ft*tan(Ws/2);n,wn=buttord(Wp,Ws,Ap,As,s);b,a=butter(n,wn,s);num,den=bilinear(b,a,1);h,w=freqz(num,den);bu=filter(b,a,F);figure;plot(time,bu);grid;xlabel(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号