数字信号处理matlab滤波器课程设计

上传人:ji****72 文档编号:27375072 上传时间:2018-01-09 格式:DOC 页数:30 大小:2.41MB
返回 下载 相关 举报
数字信号处理matlab滤波器课程设计_第1页
第1页 / 共30页
数字信号处理matlab滤波器课程设计_第2页
第2页 / 共30页
数字信号处理matlab滤波器课程设计_第3页
第3页 / 共30页
数字信号处理matlab滤波器课程设计_第4页
第4页 / 共30页
数字信号处理matlab滤波器课程设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《数字信号处理matlab滤波器课程设计》由会员分享,可在线阅读,更多相关《数字信号处理matlab滤波器课程设计(30页珍藏版)》请在金锄头文库上搜索。

1、 数字信号处理综合设计 一、实验目的1学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法;2掌握在 Windows 环境下语音信号采集的方法;3掌握数字信号处理的基本概念、基本理论和基本方法;4掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法;5学会用 MATLAB 对信号进行分析和处理。二、实验原理参考数字信号处理教材。三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。四、实验内容1语音信号的采集要求利用 windows 下的录音机或其他软件,录制一段自己的话音,时间控制在 1 秒左右。然后在 MATLAB 软件平台下,利用函数 wavr

2、ead 对语音信号进行采样,记住采样频率和采样点数。通过 wavread 函数的使用,要求理解采样频率、采样位数等概念。wavread 函数调用格式:y=wavread(file),读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。y,fs,nbits=wavread(file),采样值放在向量 y 中,fs 表示采样频率( Hz) ,nbits 表示采样位数。y=wavread(file,N),读取前 N 点的采样值放在向量 y 中。y=wavread(file,N1,N2),读取从 N1 点到 N2 点的采样值放在向量 y 中。2语音信号的频谱分析要求首先画出语音信号的时

3、域波形;然后对语音信号进行频谱分析,在 MATLAB 中,可以利用函数 fft 对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。3设计数字滤波器和画出频率响应根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz, As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=4800 Hz,fp=5000 Hz As=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB ,Ap=1dB。要求学生首先用窗函数

4、法设计上面要求的三种滤波器,在 MATLAB 中,可以利用函数 fir1 设计 FIR 滤波器;然后在用双线性变换法设计上面要求的三种滤波器,在 MATLAB 中,可以利用函数 butte、cheby1 和ellip 设计 IIR 滤波器;最后,利用 MATLAB 中的函数 freqz 画出各滤波器的频率响应。4用滤波器对信号进行滤波比较两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在MATLAB 中,FIR 滤波器利用函数 fftfilt 对信号进行滤波,IIR 滤波器利用函数 filter 对信号进行滤波。5比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后

5、的波形及频谱。6回放语音信号在 MATLAB 中,函数 sound 可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。五、实验思考1双线性变换法中 和 之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从那几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系? 2能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?六、实验报告要求 1.简述实验原理及目的。2.按照实验步骤及要求,比较各种情况下的滤波性能。3.总结实验所得主要结论。4.简要回答思考题。语音信号的数字滤波利用双线性变换法实现 IIR 数字滤波器的设计一课程设计的目的通过对

6、常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。二课程设计原理1用窗函数法设计 FIR 滤波器根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度 N(或阶数 M=N-1) ,窗函数类型可根据最小阻带衰减 As 独立选择,因为窗口长度 N 对最小阻带衰减 As 没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为 w,它与窗口长度 N 近似成反比,窗函数类型

7、确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的 N,在 N 和窗函数类型确定后,即可调用 MATLAB 中的窗函数求出窗函数 wd(n) 。根据待求滤波器的理想频率响应求出理想单位脉冲响应 hd(n),如果给出待求滤波器频率应为 Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;从 w=0 到 w=2采样 N 点,采用离散傅里叶反变换(IDFT)即可求出。用窗函数 wd(n)将 hd(n)截断,并进行加权处理,得到如果要求线性

8、相位特性, 则 h(n)还必须满足:1()()2jnddhnHe()()dhnn()1)hnNn根据上式中的正、 负号和长度 N 的奇偶性又将线性相位 FIR 滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。 例如, 要设计线性相位低通特性可选择 h(n)=h(N-1-n)一类,而不能选 h(n)=-h(N-1-n)一类。 验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用 freqz 子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。2.用双线性变换法设计 IIR 数字滤波器脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从

9、S 平面到平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-/T/T 之间,再用 z=esT 转换到 Z 平面上。也就是说,第一步先将整个 S 平面压缩映射到 S1 平面的-/T/T 一条横带里;第二步再通过标准变换关系 z=es1T 将此横带变换到整个 Z 平面上去。这样就使 S 平面与 Z 平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图 1 所示。图 1 双线性变换的映射关系为了将 S 平面的整个虚轴 j 压缩到 S1 平面 j1 轴上的-/T 到 /T 段上,可以通过以下的正切变换实现(1)式

10、中,T 仍是采样间隔。当 1 由-/T 经过 0 变化到 /T 时, 由-经过 0 变化到+,也即映射了整个 j 轴。将式(1)写成将此关系解析延拓到整个 S 平面和 S1 平面,令 j=s,j1=s1,则得再将 S1 平面通过以下标准变换关系映射到 Z 平面z=es1T从而得到 S 平面和 Z 平面的单值映射关系为:(2)(3)式(2)与式(3)是 S 平面与 Z 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换式(1)与式(2)的双线性变换符合映射变换应满足的两点要求。首先,把 z=ej,可得(4)即 S 平面的虚轴映射到 Z 平面的单位圆。其次,将 s=+j 代入

11、式(4) ,得因此由此看出,当 0 时,|z|1。也就是说,S 平面的左半平面映射到Z 平面的单位圆内,S 平面的右半平面映射到 Z 平面的单位圆外,S 平面的虚轴映射到 Z 平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。双线性变换法优缺点双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为 S 平面与 Z 平面是单值的一一对应关系。S 平面整个 j 轴单值地对应于 Z 平面单位圆一周,即频率轴是单值变换关系。这个关系如式(4)所示,重写如下:上式表明,S 平面上 与 Z 平面的 成非线性的正切关系,如图 2 所示。由图 2

12、看出,在零频率附近,模拟角频率 与数字频率 之间的变换关系接近于线性关系;但当 进一步增加时, 增长得越来越慢,最后当 时, 终止在折叠频率= 处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。图 2 双线性变换法的频率变换关系但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(4)及图 2 所示。由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应

13、近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性) ,不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图 3 所示。图 3 双线性变换法幅度和相位特性的非线性映射对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。三:课程设计的步骤1.语音信号的采集:利用 windows 下的录音机(开始程序附件娱乐录音机,文件属性立即转换8000KHz,8 位,单声道) ,录制一

14、段自己的话音“信号” , 时间控制在 1 秒左右,然后将音频文件保存“xh.wav”(2)在 MATLAB 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频率和采样点数。2.语音信号的频谱分析首先画出语音信号的时域波形z1=wavread(d:laoA.wav);plot(z1);图像输出如图 1 图 1 语音信号时域波形对语音信号进行频谱分析,在 MATLAB 中,可z1=wavread(d:laoA.wav); 以利用函数 fft 对信号进行快速付立叶变换,得到信号的频谱特性y1=z1(1:8192);Y1=fft(y1);n=0:8191;plot(n,Y1);图像输

15、出如图 2:图 2 语音信号频谱分析图3. 设计数字滤波器和对信号滤波(1)窗函数设计低通滤波器程序设计如下:clear;close allz1,fs,bits=wavread(d:laoA.wav)y1=z1(1:8192);Y1=fft(y1);fp=1000;fc=1200;As=100;Ap=1;Fs=8000;wc=2*pi*fc/Fs; wp=2*pi*fp/Fs;wdel=wc-wp;beta=0.112*(As-8.7);N=ceil(As-8)/2.285/wdel);wn= kaiser(N+1,beta); ws=(wp+wc)/2/pi;b=fir1(N,ws,wn);figure(1);freqz(b,1);x=fftfilt(b,z1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1);axis(0,1000,0,1.0);title(滤波前信号频谱);subplot(2,2,2);plot(abs(X);axis(0,1000,0,1.0);title(滤波后信号频谱);subplot(2,2,3);plot(z1);title(滤波前信号波形);subplot(2,2,4);plot(x);title(滤波前信号波形);sound(x,fs,bits);图形分析如下:(2)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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