数字信号及MATLAB实现课程设计报告数字滤波器的设计学院:电气学院班级:姓名:学号:指导老师:2014年1月《数字信号处理及MA TLAB实现》课程设计目录目录 (1)第一章绪论 (2)1.1.1 数字滤波器的优越性 (2)1.1.2 数字滤波器的实现方法 (3)1.1.3主要研究内容 (4)第二章摘要 (5)第三章报告正文 (6)第一节 IIR滤波器的设计 (6)3.1.1流程框图 (6)3.1.2 设计步骤 (6)3.1.3 IIR数字滤波器的设计方法 (7)3.1.4 MATLAB程序 (9)3.1.5 运行结果及分析: (10)第二节 matlab FDATool界面数字滤波器设计 (11)3.2.1 Faldstool (11)3.2.2 用Fdatool进行带通滤波器设计 (13)第三节系统对象滤波器设计 (15)3.3.1设定系统的仿真对象 (15)3.3.2系统对象滤波器设计方法 (15)3.3.3 MATLAB程序仿真设计 (15)第四章总结 (21)参考文献 (22)第一章绪论1.1.1 数字滤波器的优越性数字信号处理由于具有精度高、灵活性强等优点,已广泛应用于图像处理、数字通信、雷达等领域。
数字滤波技术在数字信号处理中占有极其重要的地位,数字滤波器根据其单位脉冲响应可分为IIR(无限长冲激响应滤波器)和FIR(有限长冲激响应滤波器)两类。
IIR滤波器可以用较少的阶数获得很高的选择特性,但在有限精度的运算中,可能出现不稳定现象,而且相位特性不好控制。
数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。
数字滤波器又分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)。
FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,采用FIR数字滤波器。
同时,由于在许多场合下,需要对信号进行实时处理,因而对于单片机的性能要求也越来越高。
由于DSP控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用DSP控制器就可以提高数字信号处理运算的能力,可以对数字信号做到实时处理。
DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C5509作为DSP处理芯片,通过对其编程来实现IIR滤波器。
对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。
由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。
但是IIR系统与传统的通过硬件电路实现的模拟滤波器相比有以下优点:1、单位冲击响应有无限多项;2、高效率(因为结构简单、系数小、乘法操作较少)3、与模拟滤波器有对应关系4、可以解析控制,强制系统在指定位置为零点5、有极点,在设计时要考虑稳定性6、具有反馈,可能产生噪声、误差累积1.1.2 数字滤波器的实现方法目前数字滤波器的主要实现方法有:1.在通用的微型计算机上用软件实现。
软件可以是自己编写的,也可以使用现成的软件包,这种方法的缺点是速度太慢,不能用于实时系统,只能用于教学和算法的仿真研究。
比如用MATLAB就几乎可以实现所有数字滤波器的仿真。
而且在MATLAB下的部分仿真程序还可以通过转化为C语言,再通过DSP的C 编译器直接在DSP硬件上运行。
2.用DSP(Digital Signal Processing)处理器实现DSP处理器是专为数字信号处理而设计的,如TI公司的TMS320C54x系列,AD公司的ADSP2IX,ADSP210X系列等。
它的主要数字运算单元是一个乘累加器(Multiply-accumulator,MAC),能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。
这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快、稳定性好、编程方便。
3.用固定功能的专用信号处理器实现专用信号处理器采用专用集成电路ASIC(Application Specific Integrated Circuits)实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使用各种随机逻辑器件组成的信号处理器。
它们体积小、保密性好,具有极高的性能,但灵活性差。
4.用FPGA等可编程器件来开发数字滤波算法。
由于FPGA产品的迅速发展,人们可以利用Atera、Xilinx等产品,使用其相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。
这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理器,还是作为DSP芯片的协处理器,目前都是比较活跃的研究领域。
比较以上方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的设计和仿真。
而后,用DSP处理器或FPGA进行数字滤波的硬件实现。
本课题设计的FIR数字滤波器就是用MATLAB进行设计和仿真,用DSP处理器来实现。
1.1.3主要研究内容本文主要研究了数字滤波器的基本理论和实现方法。
接着研究分析了如何利用MATLAB仿真软件来设计出符合各种要求的数字滤波器,并对所设计的滤波器进行仿真得到系数,本文还应用DSP集成开发环境——CCS调试汇编程序,为后面在DSP上实现提供必要的数据。
本课题选择在TM320C5509 DSP综合实验开发系统平台上进行开发。
最后采用窗函数法在CCS环境下,利用MATLAB仿真得到的滤波器系数,编程实现IIR数字滤波器,得出滤波结果波形,并对结果进行分析与总结。
第二章摘要数字信号处理”是电子信息类专业一门重要的主干课,它利用傅里叶变换和Z变换等数学方法,阐述了离散信号和系统的特性,通过对IIR 和FIR滤波器的设计分析了数字信号处理的实现方法。
本课题主要应用MATLAB软件设计IIR数字滤波器,并对所设计的滤波器进行仿真,仿真结果表明该设计符合要求。
IIR滤波器有以下几个特点:系统函数可以写成封闭函数;采用递归型结构;设计上可以借助成熟的模拟滤波器的成果;需加相位校准网络。
基于以上几点,使我们对IIR滤波器的研究显得不可忽视。
在数字滤波器中,IIR滤波器由于结构简单、运算量下的特点,IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上,因而得到了较广泛的应用。
第三章报告正文第一节IIR滤波器的设计3.1.1流程框图开始↓读入数字滤波器技术指标↓将指标转换成归一化模拟低通滤波器的指标↓设计归一化的模拟低通滤波器阶数N和3db截止频率↓模拟域频率变换,将G(P)变换成模拟带通滤波器H(s)↓用双线性变换法将H(s)转换成数字带通滤波H(z)↓输入信号后显示相关结果↓结束3.1.2 设计步骤(1)根据任务,确定性能指标:在设计带通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:带通滤波器的阻带边界频率关于中心频率ωp0几何对称,因此ws1=wp0- (ws2-wp0)=0.3π通带截止频率wc1=0.4π,wc2=0.6π;阻带截止频率wr1=0.3π,wr2=0.7π;阻带最小衰减αs=3dB和通带最大衰减αp=15dB;(2)用Ω=2/T*tan(w/2)对带通数字滤波器H(z)的数字边界频率预畸变,得到带通模拟滤波器H(s)的边界频率主要是通带截止频率ωp1,ωp2;阻带截止频率ωs1,ωs2的转换。
为了计算简便,对双线性变换法一般T=2s通带截止频率wc1=(2/T)*tan(wp1/2)=tan(0.4π/2)=0.7265wc2=(2/T)*tan(wp2/2)=tan(0.6π/2)=1.3764 阻带截止频率wr1=(2/T)*tan(ws1/2)=tan(0.3π/2)=0.5095wr2=(2/T)*tan(ws2/2)=tan(0.7π/2)=1.9626 阻带最小衰减αs=3dB和通带最大衰减αp=15dB;(3)运用低通到带通频率变换公式λ=(((Ω^2)-(Ω0^2))/(B*Ω))将模拟带通滤波器指标转换为模拟低通滤波器指标。
B=wc2-wc1=0.6499normwr1=(((wr1^2)-(w0^2))/(B*wr1))=2.236normwr2=(((wr2^2)-(w0^2))/(B*wr2))=2.236normwc1=(((wc1^2)-(w0^2))/(B*wc1))=1normwc2=(((wc2^2)-(w0^2))/(B*wc2))=1得出,normwc=1,normwr=2.236模拟低通滤波器指标:normwc=1,normwr=2.236,αp=3dB,αs=15Db (4)设计模拟低通原型滤波器。
用模拟低通滤波器设计方法得到模拟低通滤波器的传输函数Ha(s);借助巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等。
(5)调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器。
(6)利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z).3.1.3 IIR数字滤波器的设计方法目前,IIR数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法。
模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便,IIR数字滤波器的设计步骤是:(1)按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;(2)根据转换后的技术指标设计模拟低通滤波器H(s);(3)在按一定规则将H(s)转换为H(z)。
若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的H(z)。
s - z 映射的方法有:冲激响应不变法、阶跃响应不变法、双线性变换法等。
下面讨论双线性变换法。
双线性变换法是指首先把s 平面压缩变换到某一中介平面s1 的一条横带(宽度为2πT,即从- πT 到πT) ,然后再利用T s e z 1=的关系把s1平面上的这条横带变换到整个z 平面。
这样s 平面与z 平面是一一对应关系, 消除了多值变换性, 也就消除了频谱混叠现象。