DSP课设(精)

  • 格式:doc
  • 大小:183.00 KB
  • 文档页数:12

目录摘要 (I)1数字滤波器简介 (1)1.1数字滤波器的分类 (1)1.2数字滤波器的设计方法概述 (1)2设计原理 (3)2.1数字滤波器工作原理 (3)2.2IIR滤波器设计 (3)3实验源程序及其运行结果 (6)3.1实验MATLAB程序 (6)3.2运行结果 (7)3.3分析总结 (8)4心得体会 (9)参考文献 (10)摘要随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。

DSP 技术就是基于VLSI技术和计算机技术发展起来的一门重要技术,DSP 技术已在通信、控制信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用.在数字信号处理中数字滤波占有极其重要的地位。

数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。

数字滤波与模拟滤波相比数字滤波具有很多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或非实时信号。

尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展及计算机的更新普及,数字滤波器有着很好的发展前景,在各个领域中越用越广泛。

关键字:带通滤波器,数字滤波器,数字信号处理1.数字滤波器简介1.1数字滤波器的分类数字滤波器按照不同的分类方法,有许多分类,但总体上可以分为两大类,一类称为经典滤波器,即一般滤波器,特点是输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到想要的信号。

例如,当输入信号中含有干扰信号时,如果信号和干扰的频带互不重叠,即可滤除干扰得到想要的信号。

但对于一般滤波器,如果信号和干扰的频带互相重叠,则 不能完成对干扰的有效滤除,这时需要另一种所谓的现代滤波器,这些滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳的提取信号。

从功能上分类,一般数字滤波器可以分为低通、高通、带通、带阻和全通滤波器,此种分类和模拟滤波器是一样的。

另外,数字滤波器从实现的网络结构和单位冲激响应分类,可以分为无限长单位冲击响应滤波器(IIR)和有限长单位冲激响应滤波器(FIR),它们的系统函数分别表示如下:H(z)=∑∑=-=--=N kk Mk kk z a zb z X z Y 1k 01)()(,H(z)=∑-=-1)(N k k z k h而本次课程设计就是要求设计一个带通IIR 数字滤波器。

1.2数字滤波器的设计方法概述实际中的数字滤波器设计都是用有限精度算法实现的线性非移变系统,一般的设计内容和步骤包括:(1)根据实际需要确定数字滤波器的技术指标。

例如滤波器的频率响应的幅度响应和截止频率等等。

(2)用一个因果稳定的离散线性非移变系统的系统函数去逼近这些性能指标。

集体来说,就是用这些指标来计算系统函数H(z)。

(3)利用有限精度算法来实现这个系统函数。

这里包括选择运算结构、进行误差分析和选择合适的字长等。

(4)实际的数字滤波器实现技术,包括采用通用的计算机软件和专用的数字滤波器硬件来实现,或者采用通用或专用的数字信号处理器来实现。

而IIR 滤波器设计的方法有两类,经常采用的第一类设计方法是借用于模拟滤波器设计方法来进行的。

其设计的步骤是:先设计模拟原型滤波器,得到其传输函数)(a s H ,然后将)(a s H 按某种方法转换成数字滤波器的系统函数H(z),这一类相对来说容易一些。

另一类设计方法是直接在频域或者时域中进行设计,这个需要借助于计算机做一些辅助设计。

2.设计原理2.1数字滤波器工作原理在数字滤波中,我们主要讨论离散时间序列。

如图2.1所示。

设输入序列为x(n),离散或数字滤波器对单位抽样序列()n δ的响应为h(n)。

因()n δ在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。

图2.1 数字滤波器原理数字滤波器的序列()n y 将是这两个序列的离散卷积,即()()()k n x k h n y k -=∑∞∞=。

同样,两个序列卷积的z 变换等于个自z 变换的乘积,即()()()z X z H Y =z ,用T j e z ω=代入上式,其中T 为抽样周期,则得到()()()T j T j T j e X e H e Y ωωω=,式中()T j e X ω和 ()T j e Y ω 分别为数字滤波器输入序列和输出序列的频谱,而()Tj e H ω为单位抽样序列响应()n h 的频谱。

由此可见,输入序列的频谱()Tj e X ω经过滤波后,变为()()Tj Tj e X e H ωω ,按照()Tj e X ω的特点和我们处理信号的目的,选取适当的()Tj e H ω使的滤波后的()()Tj Tj e X e H ωω符合我们的要求。

本次设计的是带通数字滤波器,则其频谱特性如下图2.2所示:⎪⎩⎪⎨⎧≥>>≥≥≥=0||, 0)()(2121ωωωωπωωωωωj j e H e H图2.2 带通数字滤波器的频谱2.2IIR 滤波器设计冲激响应不变法的设计原理是利用数字滤波器的单位抽样响应序列H(z)来逼近模拟)滤波器的冲激响应g(t)。

按照冲激响应不变法的原理,通过模拟滤波器的系统传递函数G(s),可以直接求得数字滤波器的系统函数H(z),其转换步骤如下:IIR数字滤波器经典设计法的一般步骤是:(1)根据给定的性能指标和方法不同,首先对设计性能指标中的频率指标进行转换,转换后的频率指标作为模拟滤波器原型设计性能指标。

(2)估计模拟低通滤波器最小阶数和边界频率,利用MATLAB 工具函数buttord 、cheb1ord 等。

(3)设计模拟低通滤波器原型,利用MATLAB 工具函数buttap 、cheb1ap 等。

(4)由模拟低通原型经频率变换获得模拟滤波器(低通、高通、带通、带阻),利用MATLAB 工具函数lp2lp 、lp2hp 、lp2bp 、lp2bs 。

(5)将模拟滤波器离散化获得IIR 数字滤波器,利用MATLAB 工具函数bilinear 。

设计IIR 滤波器时,给出的性能指标通常分为数字指标和模拟指标两种。

数字性能指标给出通带截止频率p ω,阻带截止频率s ω,通带衰减p R ,阻带衰减s R 等。

数字频率p ω和s ω的取值范围为0~π,单位:弧度,而MATLAB 工具函数常采用标准化频率,p ω和s ω的取值范围为0~1。

MATLAB 使用[n,Wn]=buttword(Wp,Ws,Rp,Rs); [n,Wn]=buttword(Wp,Ws,Rp,Rs,’s ’),来计算滤波器所需的最小阶数。

参数如下:(频率单位为rad/s)Wp :通带截至频率, Ws :阻带截至频率, rp :通带允许的最大衰减, rs :阻带应达到的最小衰减, N :滤波器所需最小阶数,Wn :滤波器的截至频率(3DB 带宽截至频率), 对模拟滤波器阶数计算必须指定s ,数字滤波器无需指定。

在确定了模拟滤波器的阶数后,就进行模拟低通滤波器的原型设计。

函数BUTTER 用于Butterworth 滤波器设计,调用格式: [b,a]=butter(n,n ω,’s’) [b,a]=butter(n, n ω,’ftype’,’s’)其中,n 为滤波器阶数;n ω为滤波器截止频率,‘s’为模拟滤波器,确省时为数字滤波器。

‘ftype ’滤波器类型:‘high ’为高通滤波器,截止频率n ω; ‘stop ’为带阻滤波器,n ω=[]21ωω(21ωω<);‘ftype ’缺省时为低通或带通滤波器。

3.实验源程序及其运行结果3.1实验MATLAB程序本次课程设计主要是要求设计一个中心频率为500Hz,带宽为400Hz的IIR数字带通滤波器,那么根据之前的设计原理及其设计步骤主要有两种方法如下:一种是巴特沃斯带通滤波器,一种是切比雪夫滤波器,可得以下MATLAB的程序语句,其具体依次如下:巴特沃斯滤波器:fs=2000;wp=[300 700]*2/fs;ws=[250 750]*2/fs;rp=3;rs=40;Nn=256;[N,Wn]=buttord(wp,ws,rp,rs);[b,a]=butter(N,Wn,'bandpass');[H,w]=freqz(b,a);subplot(2,1,1)plot(w*fs/(2*pi),abs(H));grid on;xlabel('频率/HZ');ylabel('幅度/DB');title('IIR带通滤波器');subplot(2,1,2)plot(w*fs/(2*pi),angle(H));grid on;xlabel('频率/HZ');ylabel('相位/度');grid on;切比雪夫I型滤波器:fs=2000;N=256;wp=[300 700]*2/fs;ws=[250 750]*2/fs;rp=3;rs=40;[N,Wn]=cheb1ord(wp,ws,rp,rs); [b,a]=cheby1(N,rp,Wn); [H,w]=freqz (b,a); subplot(2,1,1)plot(w*fs/(2*pi),abs(H));grid on; xlabel('频率/HZ'); ylabel('幅度/dB');title('带通切比雪夫滤波器');grid on; subplot(2,1,2);plot(w*fs/(2*pi),angle(H));grid on; xlabel('频率/HZ'); ylabel('相位'); grid on;3.2运行结果通过在MATLAB 软件中运行上面的语句,可得如下的幅频和相频图:010020030040050060070080090010000.511.5频率/HZ幅度/D BIIR 巴特沃斯带通滤波器01002003004005006007008009001000-4-2024频率/HZ相位/度图3.1巴特沃斯带通滤波器幅频和相频响应010020030040050060070080090010000.511.5频率/HZ幅度/d BIIR 切比雪夫带通滤波器01002003004005006007008009001000-4-2024频率/HZ相位图3.2切比雪夫带通滤波器幅频和相频响应3.3分析总结通过运行MATLAB ,得出图3.1的图形,在某种程度上已经说明完成了本次课程设计的基本要求,设计要求中提到中心频率为500HZ ,带宽为400HZ 。