基于DSP的IIR数字滤波器的设计_第1页
基于DSP的IIR数字滤波器的设计_第2页
基于DSP的IIR数字滤波器的设计_第3页
基于DSP的IIR数字滤波器的设计_第4页
基于DSP的IIR数字滤波器的设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 高通IIR滤波器的设计及DSP实现1绪论1.1基于DSP的IIR滤波器设计课题背景 随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现,集成电路技术与计算机技术结合在一起,使得数字信号处理系统的功能越来越强。数字信号处理技术逐渐发展成为一门主流技术,数字信号处理技术就是基于 VLSI 技术和计算机技术发展起来的一门重要技术。DSP 技术已在通信、控制、信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用。数字滤波器在各种数字信号处理中发挥着十分重要的作用,用数字滤波器设计一直是信号处理领域的重要研究课题。常用的数字滤波器有IIR滤波器和FIR滤波器,其中IIR滤波器

2、因具有结构简单、占用存储空间少、运算速度快、较高的计算精度和能够用较低的阶数实现、较好的选频特性等优点,得到了广泛应用。1.2 本设计主要研究内容与方法主要是在学习信号分析与处理的基础知识后,应用MATLAB软件、CCS软件结合来设计基于DSP的IIR滤波器设计。应用MATLAB软件设计IIR数字滤波器:应用MATLAB中的工具FDATOOL工具设计滤波器的系数;在MATLAB中编译M文件,产生输入数据。应用DSP芯片的汇编语言与C语言进行编写程序,应用DSP集成软件开发环境CCS调试汇编程序与C程序,并用TMS320C54结合软件开发环境CCS来实现了IIR数字滤波的仿真。2 IIR数字滤波

3、器的设计 2.1 IIR数字滤波器的基本概念无限脉冲响应滤波器是数字滤波器的一种,简称IIR数位滤波器(infinite impulse response filter)。由于无限脉冲响应滤波器中存在反馈回路,因此对于脉冲输入信号的响应是无限延续的。iir滤波器有以下几个特点 1 IIR数字滤波器的系统函数可以写成封闭函数的形式。 2 IIR数字滤波器采用递归型结构,即结构上带有反馈环路。iir滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。3 IIR数

4、字滤波器在计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个iir数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 4 IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 5 IIR单位响应为无限脉冲序列fir单位响应为有限的 6 IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上; FIR幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间

5、差不变。这是很好的性质。 无限脉冲响应滤波器的缺点:(1)脉冲响应为无限长:造成当输入数位讯号为有限长的时候,输出数位讯号会变成无限长。(2)比有限脉冲响应滤波器较不易最佳化。(3)不一定是稳定的:因为Z转换后所有的极点不一定都在单位圆内2.2 IIR滤波器的结构IIR数字滤波器的单位脉冲响应h(n)是无限长的,结构上有输出到输入的反馈(频率采样结构除外),是递归型。滤波器的系统函数为: (2.1)由传递函数可知,用两个向量就可以对一个IIR滤波器进行表征。实现IIR滤波器可以采用直接形式、级联形式和并联形式3种结构。直接型直接型:IIR滤波器的系统函数 (2.3)对应的差分方程为从上式可以看

6、出,是有两部分相加构成的:第一部分是一个对输入信号的节延时结构,每节延时抽头后加权相加,这是一个实现零点的横向结构网络;第二部分是一个对的延时结构,每级延时抽头后加权相加,因此是一个反馈网络。直接型:IIR滤波器的系统函数又可写为 可视为分子多项式与分母多项式的倒数所构成的两个子系统函数的乘积,这相应与子系统级联。第一个子系统实现零点,第二个子系统实现极点,而且已知一个线性时不变系统,如果交换其子系统的次序,系统函数不发生改变。这种结构形式称为直接型。级联型 将IIR滤波器的系统函数的分子分母表达为因子的形式,即 由于系统函数的系数都是实系数,故零、极点只有两种情况:或者是实根,或者是共轭复根

7、。式中A为归一化常数, , ,表示实零点,表示实极点,每一对共轭因子合并起来,就可以构成一个实系数的二阶因子。因此,任意系统均可由一阶和二阶子系统级联构成。级联结构的一个重要的优点是存储单元比较少,用硬件实现时,可以用一个二阶进行分时复用。级联结构的另一个特点是,其每一个基本节都关系到滤波器的一对极点和一对零点。 并联型将IIR滤波器的系统函数展成部分分式之和,即式中,由于系统函数的系数都是实系数,故,如果M<N,则上式不包括项;如果M=N,则项变为。一般IIR系统皆满足MN的条件。当M=N时,上式变为总系统函数为各部分悉数函数之和时,则表示其为各相应子系统的并联。所以上式可理解为一阶和

8、二阶系统的并联组合。显然,并联结构速度快,也可以单独调整极点位置,但不能像级联那样直接调整零极点,因为并联型各二阶网络的零点,并非整个系统函数的零点。因此,当要求准确传输零点时,以采用级联型为宜。另外,并联型各基本节的误差互不影响。3信号产生程序设计应用说明:例:设计内容及要求:要求设计一个基于DSP的IIR高通滤波器,把f11滤掉,保留f12。IIR高通滤波器的系数由Matlab中的fdatool产生,信号也由Matlab产生已知x1(n)=sin(2*pi*f11*n*T);X2(n)=0.5*sin(2*pi*f12*n*T);x(n) = x1(n)+ x2(n)其中:f11=500H

9、z; f12=4000Hz; fs=10000Hz 。 程序:f11=500; %/Hzf12=4000; %/Hzfs=10000; %/采样HzN=1000 %数据个数T=1/fs; %采样周期n=0:N;x11=sin(2*pi*f11*n*T);x12=0.5*sin(2*pi*f12*n*T);x_base=(x11+x12);%待滤波信号波形figure(1)plot(x_base)%待滤波信号频谱figure(2)yff=abs(fft(x_base)df=n*(fs/N)plot(df,yff)xout=x_base/max(x_base);%归一化xto_ccs=round(

10、32767*xout)fid=fopen('input.dat','w');%打开文件fprintf(fid,'1651 1 0 0 0n');%输出文件头fprintf(fid,'%dn',xto_ccs);%输出fclose(fid);频谱图和时域图分别如下图:4.IIR高通滤波器滤波程序设计#include "stdio.h" #include "C:MATLAB6p5externincludetmwtypes.h"#define LEN 200 /待滤波的数据长度#define II

11、RORDER 2 float yn; float yb;float ya;int inputLEN; /输入缓冲,在仿真时将从内存载入float outputLEN; /输出缓冲,直接存放在内存中float bIIRORDER+1= 1.0000,-2.0000,1.0000;float aIIRORDER+1= 1.0000, 1.0622,0.3786;void main() int j,i; for(i=0;i<IIRORDER;i+) outputi = inputi; for(j=IIRORDER;j<LEN;j+) yb=0; ya=0;for(i=0;i<=II

12、RORDER;i+) yb+= bi*(float)inputj-i;for(i=0;i<=(IIRORDER-1);i+) ya+= ai+1*(float)outputj-i-1;yn= yb-ya; outputj = yn; while(1);5 DSP、 CCS和MATLAB的有关介绍5.1 DSP特点数字信号处理器与数字信号处理有着密不可分的关系,我们通常说的“DSP”可以指信号处理(digital signal processing),也可以代表数字信号处理器(digital signal processor),本文中均指数字信号处理器。DSP是一种独特的微处理器是以数字信

13、号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。 DSP已经成为信号处理技术的主流。因为与早期的模拟信号相比,数字信号处理有着巨大的优势。早期的模拟信号处理主要通过运算放大电路进行不同的电阻组配实现算术运算,通过电阻、电容的组配实现滤波处理等,其中有一个很明显的问题是不灵活、不稳定,参数修改困

14、难,需要采用多种阻值、容值的电阻、电容,并通过电子开关选通才能修改处理参数;而且对周围环境变化的敏感性强,温度、电路噪声等都会造成处理结果的改变而数字信号处理可以通过软件修改处理参数,因此具有很大的灵活性。由于数字电路采用厂二值逻辑,只要环境温度、电路噪声的变化不造成电路逻辑的翻转,数字电路都可以不受影响地完成工作,因此具有很好的稳定性。5.2 DSP在本设计中的运用 本设计是基于DSP的FIR滤波器的设计,是在DSP芯片上实现的,在模拟DSP芯片上进行仿真,需要用到DSP芯片的汇编语言,及地址分配,和处理数据精度等方面的知识,总之,DSP是本设计的基础。5.3 CCS特点CCS,即code

15、composer studio,是TI公司在1999年推出的一个开放、具有强大集成开发环境,它最初是由GO DSP公司为TI的C6000系列DSP开发的。在TI收购了GO DSP后,将CCS扩展到了其他系列。现在所有TI犯人DSP都可以使用CCS进行开发,但是其中的DSP/BIOS功能只有C5000和C6000的CCS中才提供。以前的DSP软件开发都是在一个分散的开发环境新进行,程序的编写、代码的生成以及调试等都是通过命令来完成,类似于以前的Dos,十分烦杂。而CCS的出现是DSP开发软件的一个革命性的变化,CCS主要有代码生成工具,CCS集成开发环境、DSP/BIOS和API函数以及RTDX

16、组成。5.5 MATLAB的有关介绍与应用20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,运用于算法开发、数据分析、数据可视化以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simuli

17、nk两大部分。5.5.1 MATLAB在本文中应用在本文中运用到MATLAB的地方主要有三处:(1)在MATLAB中编译M文件,并保存,产生输入数据(在节中有详解)(2)运用MATLAB中的fdatool工具,根据滤波器指标要求,设计滤波器,并保存,以头文件的形式导入ccs编译过程(在节中有详细介绍)(3)在CCS编译成功,生成.out文件后,导入MATLAB中的产生的数据。6仿真结果6.1 在MATLAB中启动FDATOOL及设置FDATOOL点击桌面上的,启动MATLAB,在MATLAB的左下角点击“Start”,选择“ToolsboxesFilter designFilter Desig

18、n &Analyis Tool (FDATOOL)”,启动FDATOOL,如图5-2所示。图5-2 FDATOOL界面6.2 使用MATLAB生成输入数据点击桌面上的,启动MATLAB,生成输入数据的方法有两种。(一)直接在MATLAB界面中直接输入程序,在输完程序后点击回车,将会产生设计所需的输入文件,并保存在程序中所设定的文件中,本设计设定的是“input文件”。(二)编译M文件,在M文件中直接运行和修改,按程序产生所需输入文件,保存在程序中所指定的文件中。第一种方法简单直观,运行方便但修改麻烦,第二种方法容易修改,运行方便。本设计中采用编译M文件,M文件在附录中。6.3通过CCS

19、查看滤波结果查看滤波结果步骤如下:步骤一:打开“ViewGraphTime/Frequency”,弹出图形属性对话框(Graph Property Dialog)。其中包括Display Type(显示类型)、Graph Title(图形名称)、Start Address(开始地址)、Page、Acquisition Buffer Size(采样缓冲器大小)、Display Data Size(显示数据多少)、DSP Data Size(DSP数据类型)等。步骤二:查看滤波前的输入数据的时域波形。打开图形对话框后,各属性设置如图所示,点击“OK”后出现如图所示的输入数据的时域波形图6-13 图

20、形属性对话框图6-14 时域波形图步骤三:查看输入数据的频域波形图,打开图形对话框后,各属性设置如图6-15 所示;点击“OK”后出现出现如图 所示的输入数据的频域波形图所示。图6-15 图形属性对话框图6-16 频域波形图步骤四:重复步骤一到步骤三,在步骤二和步骤三中把“Start Address”由“input”改为“output”,把“Graph Title”由“input”改为“output”,显示的滤波后的时域和频域波形如图6-17和图6-18 所示。图6-17和6-18及为经过滤波后的波形。图6-17 时域波形图图6-18 频域波形图7 结论本设计是基于DSP的FIR滤波器设计,当下滤波器设计技术已相当成熟,在前人的基础上,本设计采用的分块处理的方法。一共将设计的整天分为了三大部分部分:MATLAB产生输入数据、由FDATOOL产生滤波器系数、由CCS进行仿真滤波。基于DSP的FIR滤波器的设计只是一个计算过程,可靠性高,并且不存在阻抗匹配、特性波动、非一致性等问题。由FDATOOL产生滤波器系数且可修改,所以只要适当改变滤波器设计有关参数,就能方便的改变滤波特性,因此数字滤波使用时方便灵活。DSP运算速度快,具有可编程特性和接口灵活的特点,所以只要改变数字滤波程序有关参数,便可快速实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论