您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页语音信号滤波课程设计指导书

语音信号滤波课程设计指导书

来源:步遥情感网
 语音信号处理系统设计

一、设计目的

1、学会MATLAB的使用,掌握MATLAB程序设计方法; 2、掌握在Windows环境下语言信号采集的方法; 3、掌握数字信号处理的基本概念、基本理论和基本方法; 4、掌握MATLAB设计IIR数字滤波器的方法; 5、学会用MATLAB对信号进行分析和处理; 二、设计要求及任务 1、语音信号的采集;

本设计利用计算机Windows下的录音机录入一句语音信号,然后在Matlab软件平台下,利用函数waveread对语音信号进行采样,记住采样频率和采样点数。

2、语音信号的频谱分析;

在Matlab中,可以利用函数FFT对信号进行快速傅里叶变换,得到信号的频谱特性,然后加入一干扰信号,要求画出语音信号干扰前后的时域波形,并对其频谱进行分析。

3、设计数字滤波器,给出性能指标(参考指标);

(1)低通滤波器的性能指标:fp=1000Hz,fs=1200Hz,As=100dB,Ap=1dB (2)高通滤波器的性能指标:fs=4800Hz,fp=5000Hz,As=100dB,Ap=1dB (3)带通滤波器的性能指标:fp1=1200Hz,fp2=3000Hz,fs1=1000Hz, fps2=3200Hz,As=100dB,Ap=1dB;

采用双线性变换法设计上面一种类型的数字滤波器,要求使用切比雪夫II型滤波器。

4、用滤波器对信号进行滤波

画出滤波后信号的时域波形及频谱,并对滤波前后的信号进行对比,分析信号的变化。

5、回放语音信号,分析滤波前后的语音变化。

在熟悉数字信号处理课程理论的基础上,通过MATLAB仿真实现语音信号的采集与处理,进一步加深对数字信号处理理论和技术的掌握。

三、课程设计平台

计算机、MATLAB6.5以上 四、设计原理与计算方法 1、卷积运算

卷积和乘积运算在频域和时域是一一对应的,两个信号在时域的卷积可以转化为求两者在频域的乘积后再反变换,同理在频域的卷积等时域的乘积。而信号的频域求解有快速傅里叶FFT算法。

卷积与傅里叶变换有着密切的关系。利用这一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。

由卷积得到的函数f*g 一般要比f 和g 都光滑。特别当g 为具有紧支集的光滑函数,f 为局部可积时,它们的卷积f * g 也是光滑函数。利用这一性质,对于任意的可积函数f,都可以简单地构造出一列逼近于f 的光滑函数列,这种方法称为函数的光滑化或正则化。

卷积的概念还可以推广到数列、测度以及广义函数上去。 2、采样定理

采样定理,又称香农采样定理,奈奎斯特采样定理,是信息论,特别是通讯与信号处理学科中的一个重要基本结论。E.T.Whittaker(1915年发表的统计理论),克劳德·香农与Harry Nyquist都对它作出了重要贡献。另外,V.A.Kotelnikov也对这个定理做了重要贡献。

采样是将一个信号(即时间或空间上的连续函数)转换成一个数值序列(即时间或空间上的离散函数)。采样定理指出,如果信号是带限的,并且采样频率高于信号带宽的两倍,那么,原来的连续信号可以从采样样本中完全重建出来。 带限信号变换的快慢受到它的最高频率分量的,也就是说它的离散时刻采样表现信号细节的能力是有限的。采样定理是指,如果信号带宽不到采样频率的一半(即奈奎斯特频率),那么此时这些离散的采样点能够完全表示原信号。高于或处于奈奎斯特频率的频率分量会导致混叠现象。大多数应用都要求避免混叠,混叠问题的严重程度与这些混叠频率分量的相对强度有关。 3、双线性变换法设计IIR低通数字滤波器的基本原理和算法

双线性变换法设计数字滤波器,采用了二次映射的方法,就是先将整个s平面压缩到s1平面的一个jT~jT的横形条带范围内,然后再将这个条带映射到

z平面上,就能建立s平面到z平面的一一对应关系。对于低通数字滤波器,映射关系为

21z121zsT1z1T1z (1)

其中T为抽样周期。

用双线性变换法设计低通IIR数字滤波器的基本步骤,首先根据设计要求确定相应的模拟滤波器的传递函数Ha(s),再应用(1)式得数字滤波器的传递函数

H(z)

H(z)Ha(s)s21zT1z (2)

通常可以给定的参数为:低通数字滤波器通带边界频率1p2fp、阻带边界频率1s2fs和对应的通带衰减函数p、阻带衰减函数s。s1平面中的模拟角频率1与数字角频率的关系为线性关系1T,在计算模拟滤波器的阶数N、极点si和传递函数Ha(s)之前,应作预畸变处理 T22fT2 (3) tan1tanT2T2模拟滤波器的阶数N、极点si和传递函数Ha(s)的计算方法与冲激响应不变法相同,可以采用Butterworth逼近或Chebyshev逼近。

Chebyshev 滤波器则比Butterworth 滤波器的截止特性要好,在期望通带下降斜率大的场合,应使用椭圆滤波器或切比雪夫滤波器。在MATLAB下可使用cheby2函数设计出切比雪夫II型IIR滤波器。但阻带处的幅值有振荡。对于数字滤波器而言,可以采用不同阶数逼近相应滤波器,滤波器性能还与滤波器的阶数有关,一般而言,阶数越高,则逼近越精确,但计算代价也随之上升,所以性能与代价总需要寻求一个平衡点。本设计用Chebyshev 滤波器。

4、双线性变换法设计IIR高通、带通、带阻数字滤波器的基本原理和算法

由于双线性变换法获得的数字滤波器频率响应特性中不会出现混叠现象,因此可以适用于高通、带通和带阻滤波器的设计。IIR数字滤波器的设计通常要借

助于模拟低通滤波器的设计,由原型低通滤波器到其他形式(高通、带通、带阻)IIR数字滤波器的频带变换有模拟频带变换法和数字频带变换法。 (1)模拟频带变换法

首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,根据这种要求用某种逼近设计出原型的低通模拟滤波器(LP AF),计算出模拟滤波器的阶数N、极点si和传递函数Ha(s),再按照双线性变换的变换关系,将模拟滤波器的传递函数Ha(s)转换为数字滤波器的传递函数H(z)。

表1-1中列出了将给定的对数字滤波器(DF)的技术要求直接转换为对一个低通模拟滤波器(AF)的技术要求的频率预畸变校正关系和转换公式。

表1-1 双线性变换和频率预校正的计算公式

变换类型 低通变换 高通变换 ss变换关系 1z1z频率预校正 2tan T2备 注 2fT 其中,T为抽样周期,f为模拟频率 中心频率 cos0sin(12) sin1sin2p1z 1zsp2tanT22pT12tans2带通变换 12zcos0z2s 1z2pcos0cos2sin2cos0cossssins 其中,1,2分别为数字带通滤波器通带的上下边界角频率,或数带阻变换 1z2 s212zcos0zΩpΩssin2cos0cos2sinscos0coss 字带阻滤波器阻带的上下边界角频率。

例:数字高通滤波器的设计

首先将给定的数字高通滤波器的技术指标根据公式转换为模拟低通滤波器的技术指标,利用cheb1ord(Wp,Ws,ap,as,'s')函数求出chebyshev模拟低通滤波器的阶数N,再利用cheb1ap(N,ap)函数求出模拟低通滤波器系统函数Ha(s)的零极

点,zp2tf(z,p,k)函数将零极点转换为系统函数系数;然后利用lp2hp由模拟低通滤波器的系统函数得到模拟高通滤波器的系统函数,bilinear函数则用于实现由模拟高通滤波器系统函数Ha(s)计算数字高通滤波器系统函数H(z)的系数。 (2)数字频带变换法

首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,用双线性变换法将原型的低通模拟滤波器(LP AF)映射为低通数字滤波器,再将数字低通滤波器根据相应的变换公式经频带变换到各型数字滤波器。

例:数字高通滤波器的设计

函数[bhp,ahp]=zmapping(blp,alp,Nz,Dz)用来实现从数字低通滤波器得到数字高通滤波器的有理函数。 %数字滤波器技术指标

>>wp=0.2*pi;ws=0.3*pi;Rp=1;As=15; %对应的模拟滤波器技术指标

>>T=1;Fs=1/T;Wp=(2/T)*tan(wp/2); Ws =(2/T)*tan(ws/2); >>[cs,cd]=afd_chb1(Wp,Ws,Rp,As); %Chebyshev模拟滤波器 >> [blp,alp]=bilinear(cs,cd,Fs) %双线性变换 >>wphp=0.6*pi; %数字高通滤波器截止频率 %低通-高通频带变换

>>alpha=-(cos((wplp+wphp)/2))/(cos((wplp+wphp)/2)) >>Nz=-[alpha,1];Dz=[1,alpha];

>> [bhp,ahp]=zmapping(blp,alp,Nz,Dz) %数字高通滤波器的系统函数系数 (3)IIR数字滤波器的设计

可利用MATLAB提供的函数直接设计相应的数字滤波器。

函数buttord和cheb1ord用来根据给定的技术指标求出滤波器的阶数N和边界频率wn,butter和cheby1则根据阶数和边界频率设计相应的数字滤波器。输入的参数不同则所设计的滤波器类型不同。

[N,wn]=buttord(wp,ws,Rp,As); [N,wn]=cheb1ord(wp,ws,Rp,As);

[b,a]=butter(N,wn); [b,a]=cheby1(N,Rp,wp); 5、举例说明

(1)Chebyshev IIR数字带通滤波器满足如下技术指标

低阻带边界频率fs1100Hz,高阻带边界频率fs1600Hz,阻带衰减函数

s18dB,低通带边界频率fp1200Hz,高通带边界频率fp2400Hz,通带波动

2dB,抽样频率f2000Hz,记录所得的模拟滤波器的阶数N,画出模拟滤波

器和数字滤波器的频率响应的幅频和相频特性曲线。 A. 实验代码: fs1=100; fs2=600; fp1=200; fp2=400; fsa=2000; As=18; Rp=2;

T=1./fsa %对应的模拟滤波器技术指 w1=2.*pi.*(fp1./fsa) %Chebyshev模拟滤波器 w2=2.*pi.*(fp2./fsa)

wp1=2*pi*fp1*T;wp2=2*pi*fp2*T ws2=2.*pi.*(fs2./fsa)

cosw0=(sin(w1+w2))./(sin(w2)+sin(w1)) w0=arccos(cosw0);bw=wp2-wp1 Wp=(cosw0-cos(w2))./sin(w2) Ws=(cosw0-cos(ws2))./sin(ws2)

[N,omgn]=cheb1ord(Wp,Ws,Rp,As,'s') %返回模拟低通滤波器阶数N和边界频率

[z,p,k]=cheb1ap(N,Rp) %得系统函数零极点

[blp,alp]=zp2tf(z,p,k); %由零极点得系数 [bhp,ahp]=lp2bp(blp,alp,w0,bw) %模拟低通到模拟带通

[bdf,adf]=bilinear(bhp,ahp,1) %双线性变换将模拟带通滤波器转换成数字带通滤波器 [BPA,wa]=freqs(bhp,alp,fsa); [BPD,wd]=freqz(bdf,adf,fsa); subplot(2,2,1); plot(abs(BPA));

title('模拟带通滤波器幅频特性') subplot(2,2,2); plot(angle(BPA));

title('模拟带通滤波器相频特性') subplot(2,2,3); plot(abs(BPD));

title('数字带通滤波器幅频特性') subplot(2,2,4); plot(angle(BPD));

title('数字带通滤波器相频特性') 实验截图:

(2)Chebyshev IIR数字带阻滤波器满足如下技术指标

低阻带边界频率fs11000Hz,高阻带边界频率fs12000Hz,阻带衰减函数

s20dB,低通带边界频率fp1500Hz,高通带边界频率fp23000Hz,通带波动

3dB,抽样频率f10kHz,记录所得的模拟滤波器的阶数N,画出模拟滤波

器和数字滤波器的频率响应的幅频和相频特性曲线。 B.实验代码: fs1=1000; fs2=2000; fp1=500; fp2=3000; fsa=10000; As=18; Rp=2;

T=1./fsa %对应的模拟滤波器技w1=2.*pi.*(fp1./fsa);%Chebyshev模拟滤波器

w2=2.*pi.*(fp2./fsa)

wp1=2*pi*fp1*T;wp2=2*pi*fp2*T ws2=2.*pi.*(fs2./fsa)

cosw0=(sin(w1+w2))./(sin(w2)+sin(w1)) w0=acos(cosw0);bw=wp2-wp1 Wp=(cosw0-cos(w2))./sin(w2) Ws=(cosw0-cos(ws2))./sin(ws2)

[N,omgn]=cheb1ord(Wp,Ws,Rp,As,'s') %返回模拟低通滤波器阶数N和边界频率?n

[z,p,k]=cheb1ap(N,Rp) %得系统函数零极点 [blp,alp]=zp2tf(z,p,k) %由零极点得系数 [bhp,ahp]=lp2bs(blp,alp,w0,bw) %模拟低通到模拟带通

[bdf,adf]=bilinear(bhp,ahp,1) %双线性变换将模拟带通滤波器转换成数字带通

滤波器

[BPA,wa]=freqs(bhp,alp,fsa) [BPD,wd]=freqz(bdf,adf,fsa) subplot(2,2,1); plot(abs(BPA));

title('模拟带阻滤波器幅频特性') subplot(2,2,2); plot(angle(BPA));

title('模拟带阻滤波器相频特性') subplot(2,2,3); plot(abs(BPD));

title('数字带阻滤波器幅频特性') subplot(2,2,4); plot(angle([BPD]));

title('数字带阻滤波器相频特性') 实验截图:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务