范文网 论文资料 数字信号处理实验iir(大全)

数字信号处理实验iir(大全)

数字信号处理实验iir第一篇:数字信号处理实验iir《数字信号处理》实验三用双线性变换法设计IIR数字滤波器实验三 用双线性变换法设计IIR数字滤波器一、 实验目的1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法2、掌握数字滤波器的计。

数字信号处理实验iir

第一篇:数字信号处理实验iir

《数字信号处理》实验三用双线性变换法设计IIR数字滤波器

实验三 用双线性变换法设计IIR数字滤波器

一、 实验目的

1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法

2、掌握数字滤波器的计算机仿真方法

3、通过观察对实际心电图信号的滤波作用获得数字滤波的感性知识。

二、 实验内容及原理

1、用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为在通带内截止频率低于0.2时最大衰减小于1dB在阻带内0.3频率区间上最小衰减大于15dB。

2、以0.02为采样间隔打印出数字滤波器在频率区间0/2上的幅频响应特性曲线。

3、用所设计的滤波器对实际心电图信号采样序列进行仿真滤波处理并分别打印出滤波前后的心电图信号波形图观察总结滤波作用与效果。 教材例中已求出满足本实验要求的数字滤波系统函数 31kkzHzH 3211212121kzCzBzzAzHkkk 式中 A0.09036 2155.09044.03583.00106.17051.02686.1332211CBCBCB

三、实验结果 心电图信号采样序列 0510152025303540455055-100-50050nxn心电图信号采样序列xn 用双线性变换法设计IIR数字滤波器一级滤波后的心电图信号 0102030405060-100-80-60-40-2002040ny1n一级滤波后的心电图信号 二级滤波后的心电图信号 0102030405060-100-80-60-40-2002040ny2n二级滤波后的心电图信号 三级滤波后的心电图信号 0102030405060-80-60-40-2002040ny3n三级滤波后的心电图信号 用双线性变换法设计IIR数

验字滤波器滤代波器的幅频响应曲线 码 00.050.10.150.20.250.30.350.40.450.5-50-40-30-20-10010w/pi20lgHjw滤波器的幅频响应曲线

四、实x-4-20-4-6-4-2-4-6-6-4-4-6-6-261280-16-38-60-84-90-66-32-4-2-48121210666400000-2-4000-2-200-2-2-2-20 n0:55 subplot111 stemnx. axis0 55 -100 50 xlabeln ylabelxn title心电图信号采样序列xn N56 A0.09036 20.09036 0.09036 B1 -1.2686 0.7051 B11 -1.0106 0.3583 B21 -0.9044 0.2155 y1filterABx n0:55 figure subplot111 stemny1. xlabeln ylabely1n title一级滤波后的心电图信号 y2filterAB1y1 n0:55 figure 用双线性变换法设计IIR数字滤波器subplot111 stemny2. xlabeln ylabely2n title二级滤波后的心电图信号 y3filterAB2y2 n0:55figure subplot111 stemny3. xlabeln ylabely3n title三级滤波后的心电图信号 A0.09036 20.09036 0.09036 B11 -1.2686 0.7051 B21 -1.0106 0.3583 B31 -0.9044 0.2155 H1wfreqzAB1100 H2wfreqzAB2100 H3wfreqzAB3100 H4H1.H2 HH4.H3 magabsH db20log10mageps/maxmag figure subplot111 plotw/pidb axis0 0.5 -50 10 xlabelw/pi ylabel20lgHjw title滤波器的幅频响应曲线

五、实验总结 双线性变换法的特点 对频率的压缩符合下列公式 11112zzTs sTsTz22 用双线性变换法设计IIR数字滤波器这样的变换叫做双线性变换。用双线性变换法来设计数字滤波器由于从s面映射到s1面具有非线性频率压缩的特点因此不可能产生频率混叠现象而且转换成的Hz是因果稳定的这是双线性变换法的最大优点。其缺点是w与之间的非线性关系直接影响数字滤波器频香逼真的模仿模拟滤波器的频响。 数字滤波器的输入和输出均为数字信号通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分。数字滤波器可以通过模拟其网络传输函数进行实现。如图中所示滤波器对其高于截止频率的频段产生很高的衰减所得信号较之原信号剔除了高频的成分。

第二篇:IIR数字滤波器的DSP实现

湖南科技大学 信息与电气工程学院

《课程设计报告》

题 目:IIR数字滤波器的DSP实现 专 业: 电子信息工程 班 级: 电子二班 姓 名: 高二奎 学 号: 1104030205 指导教师: 尹艳群

2015年 1月 8 日

信息与电气工程学院 课程设计任务书

2014—2015学年第一学期

专业: 电子信息工程 班级: 电子二班 学号: 1104030205姓名: 高二奎 课程设计名称: DSP原理及应用 设计题目: IIR数字滤波器的DSP实现

完成期限:自 2015 年 1 月 1 日至 2015 年 1 月 8 日共 1 周 设计依据、要求及主要内容(可另加附页):

1、设计目的:通过课程设计,使学生综合运用DSP技术课程和其他有关先修课程的理论和生产实际知识去分析和解决具体问题的能力得到提高,并使其所学知识得到进一步巩固、深化和发展。通过课程设计初步培养学生对工程设计的独立工作能力,学习设计的一般方法。通过课程设计树立正确的设计思想,提高学生分析问题、解决问题的能力。通过课程设计训练学生的设计基本技能,如计算、绘图、查阅设计资料和手册,熟悉标准与规范等。

2、要求:

1.熟悉DSP处理器及其结构性能,掌握DSP芯片配套开发工具的使用方法。 2.按要求设计出硬件电路。

3.画出硬件连接原理图,并对硬件工作原理进行说明。

4.给出软件流程图及编写程序,每一条指令的后面附上相应的注释。 5.进行软、硬件调试,检查是否达到相关的功能。 6.写出调试方法。

7.设计报告结尾附上心得体会。

3、主要内容:熟悉5410DSP的MCBSP的使用,了解AD50的结构,掌握AD50各寄存器的意义及其设置,掌握AD50与DSP的接口,AD50的通讯格式及AD50的DA实验。

指导教师(签字): 批准日期: 年 月 日

目 录

一、 摘要·························································3

二、 数字滤波器介绍和IIR数字滤波器的理论分析·····················3 2.1数字滤波器介绍··············································3 2.2 IIR滤波器的设计方法及原理···································4

三、 DSP软件的简单介绍···········································6 3.1DSP系统的特点···············································6 3.2DSP系统的设计流程···········································7 3.3DSP系统的开发工具CCS········································7

四、 TMS320C5402的介绍···········································9

五、 基于DSP的IIR程序设计及软件调试·····························11 5.1IIR程序设计················································11

5.2软件调试结果·········································13

六、 总结和心得··················································15

七、参考文献·······················································

一、摘要

随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。

DSP数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。传感器数字信号处理是利用传感器对模拟信号或数字信号进行采集并把其转换成计算机可识别的电信号,并利用计算机对信号进行处理以达到计算机辅助控制或是计算机自动控制的目的。

DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。用DSP 芯片实现IIR 数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。

本课题主要应用MATLAB软件设计IIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境——CCS调试汇编程序,文章结合TM320C5509的结构特点,介绍了一种IIR滤波器在TM320C5509中的实现方法。文中程序已经过硬件验证,仿真结果表明该设计符合要求。

关键词

数字滤波;IIR;DSP;TM320C5509;MATLAB

二、数字滤波器介绍和IIR数字滤波器的理论分析 2.1数字滤波器介绍

数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性:

, 其中、分别是数字滤波器的输出序列和输入序列的频域特性(或是数字滤波器的单位取样响应的频谱,又称为数字滤波器

经过滤波后

,因此,只要按称为频谱特性),的频域响应。输入序列的频谱照输入信号频谱的特点和处理信号的目的, 适当选择,使得滤波后的满足设计的要求,这就是数字滤波器的滤波原理。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型

来实现,其差分方程为:

系统函数为:

设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。 2.2 IIR滤波器的设计方法及原理

IIR滤波器差分方程的一般表达式为:

式中x(n)为输入序列;y(n)为输出序列;于0,则为FIR滤波器. IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关. 将上式展开得出y(n)表达式为:

和为滤波器系数.若所有系数等

在零初始条件下,对上式进行z变换,得到:

设N=M,则传递函数为:

上式可写成:

上式具有N个零点和N个极点.若有极点位于单位圆外将导致系统不稳定.由于FIR滤波器所有的系数均为0,不存在极点,不会造成系数的不稳定.对于IIR滤波器,系统稳定的条件如下: 若||<1,当n→时,h(n)→0,系统稳定; 若||>1,当n→时,h(n)→,系统不稳定. IIR滤波器具有多种形式,主要有:直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型.

三、DSP软件的简单介绍 3.1DSP系统的特点

DSP系统是以数字信号处理为基础的,因此不但具有数字处理的全部优点而且还具有以下特点[24]: 1.接口方便:DSP应用系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多。

2.编程方便:DSP应用系统中的可编程DSP芯片,能灵活方便地进行修改和升级。

3.稳定性好:DSP应用系统以数字处理为基础,受环境温度及噪声的影响较小、可靠性高,无器件老化现象。

4.精度高:16位数字系统可以达到10-5级的精度。 5.可重复性好:模拟系统的性能受元器件参数性能变化的影响比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产。

6.集成方便:DSP应用系统中的数字部件有高度的规范性,便于大规模集成。

当然,数字信号处理也存在一些缺点。例如,对于简单信号处理任务,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新速度快,对于数学知识要求高,开发和测试工具还有待进一步完善。 3.2DSP系统的设计流程

一个DSP系统的设计过程大概要有以下几个步骤。

1.根据系统的任务要求,确定系统处理精度要求、速度要求、实时性要求等性能指标。

2.根据系统的要求进行高级语言的算法模拟,比如使用MATLAB等仿真工具,验证算法的可行性,得出最佳的处理方法。

3.DSP的系统设计,主要分为硬件设计和软件设计。硬件设计是指根据系统要求选择合适的DSP芯片,然后设计相应的外围电路。软件设计主要是指根据系统的要求和选用的DSP芯片编写相应的程序。程序的编写可以使用汇编语言,汇编语言编写的程序效率高,但比较烦杂;也可采用C语言,DSP的C语言基本上是标准C语言,编写比较简单,但效率低。在实际系统开发时往往是两种语言结合编写,在算法运算量大的地方使用汇编语言,在运算量小的地方使用C语言,这样既能缩短软件的开发周期,提高程序的可读性和可移植性,又满足了系统的实时性要求。本文的设计采用汇编语言编写、设计软件程序。 3.3DSP系统的开发工具CCS CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。

CCS有两种工作模式,即

软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。 硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。

CCS的开发系统主要由以下组件构成:

1. 2. 3. 4. 5. TMS320C54x集成代码产生工具; CCS集成开发环境;

DSP/BIOS实时内核插件及其应用程序接口API; 实时数据交换的RTDX插件以及相应的程序接口API; 由TI公司以外的第三方提供的各种应用模块插件。

CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下:

1.具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;

2.含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;

3.高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;

4.工程项目管理工具可对用户程序实行项目管理。在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;

5.基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;

6.断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置;

7.探测点工具,可用于算法的仿真,数据的实时监视等;

8.分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;

9.数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;

10.提供GEL工具。利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;

11.支持多DSP的调试;

12.支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换;

13.提供DSP/BIOS工具,增强对代码的实时分析能力。

四、TMS320C5402的介绍

TMS320C5509采用双乘累加单元(MAC)结构。整个处理器内部分为5个大的功能单元:存储器缓冲单元(M)、指令缓冲单元(I)、程序控制单元(P)、地址生成单元(A)和数据计算单元(D),各个功能单元之间通过总线连接。TMS320C5509中共有12条总线:1条32位程序数据总线(PB),1条24位程序地址总线(PAB),5条16位的数据总线(BB、CB、DB、EB、FB)和5条24位的数据地址总线(BAB、CAB、DAB、EAB、FAB)。

作为嵌入式芯片的一种,DSP芯片是一种非常适合于进行数字信号处理的微处理器芯片,已经广泛应用于实现各种数字信号处理运算。其显著特点可以归纳如下: 1.哈佛结构

哈佛结构是不同于传统的冯·诺曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。 2.流水线

与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力。TMS320系列处理器的流水线深度从2-6级不等。第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。也就是说,处理器可以并行处理2-6条指令,每条指令处于流水线上的不同阶段。

3.专用的硬件乘法器

在一般形式的FIR滤波器中,乘法是DSP的重要组成部分。对每个滤波器抽头,必须做一次乘法和一次加法。乘法速度越快,DSP处理器的性能就越高。在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多个指令周期来完成。相比而言,DSP芯片的特征就是有一个专用的硬件乘法器。 4.特殊的DSP指令

DSP芯片的另一个特征是采用特殊的指令。例如TMS320C10中的LTD指令,可单周期完成加载寄存器、数据移动、同时累加操作。还有DMOV指令,它完成数据移位功能。在数字信号处理中,延迟操作非常重要,这个延迟就是由DMOV指令来实现的[9]。 5.快速的指令周期

哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期缩短到200ns以下。现在,许多DSP处理器的指令周期已经从第一代的200ns降低至现在的20ns以下,甚至在10ns以内。快速的指令周期使得DSP芯片能够实时实现许多DSP应用。 6.面向寄存器和累加器

DSP所使用的不是一般的寄存器文件,而是专用寄存器,较新的DSP产品都有类似于RISC的寄存器文件。许多DSP还有大的累加器,可以在异常情况下对数据溢出进行处理。 7.支持前、后台处理

DSP支持复杂的内循环处理,包括建立起X、Y内存和分址/循环计数器。一些DSP在做内循环处理中把中断屏蔽了,另一些则以类似后台处理的方式支持快速中断。许多DSP使用硬连线的堆栈来保存有限的上下文,而有些则用隐蔽的寄存器来加快上下文转换时间。 8.拥有简便的单片内存和内存接口

DSP设法避免了大型缓冲器或复杂的内存接口,减少了内存访问。一些DSP的内循环是在其单片内存中重复执行指令或循环操作部分代码,它多采用SRAM而不是DRAM,因为前者接口更简便。2000年3月,德州仪器(TI)公司推出了高性能低功耗的TMS320C55x芯片[10]。

其性能可以达到400-800MIPS,但功耗低到0.05 mW/MIPS。TMS320系列包括定点、浮点和多处理器等三种类型的数字信号处理器。它的结构是专门针对实时信号处理而设计的,具有指令灵活、可操作性强、速度快以及支持并行运算和C语言等特点,是性价比较高的一类DSP,在通信设备中得到了广泛的应用。C5000系列DSP是针对个人便携设备而设计的,如音乐播放器、3G蜂窝电话、数码相机、高速音频设备、高精度的信号和多通道应用。通常人们把C54x和C55x系列通称C5000系列,主要用于功耗低、便携式的无线通信终端产品。C5000系列包括旧有的C5x、当前主流的C54x和较新的C55x系列。其中,C54x采用改进的哈佛结构,并集成有丰富的硬件逻辑和外部接口资源,具有较高的性能,及较低的成本和体积。C55x是在C54x的基础上发展起来的,也采用改进型哈佛结构,其器件功耗较C54x更低,性能更高。

TMS320C55x采用多总线结构,由五组内部数据总线(3个用于读,2个用于写)和一组内部程序存储总线构成。32bit的程序总线(PB)传送从程序存储器来的指令代码和立即数。三组16bit数据读总线(BB,CB和DB)连接数据读地址产生逻辑。CB和DB总线传送双操作数。DB总线传送单操作数。BB总线提供第三种读路径并且能够提供双乘操作数的系数。两组16bit数据写总线(EB,FB)连接数据写地址产生逻辑。六组24bit数据总线(PAB,CAB,DAB,BAB,EAB,FAB)传送执行指令所需要的地址。还有一条附加总线为DMA控制器和外设控制器提供服务。

TMS320C55x的CPU结构主要包括四种功能单元:即指令缓冲单元(I单元),程序流程单元(P单元),地址数据流程单元(A单元)和数据计算单元(D单元)。其数据计算单元包括一个40bit的可以提供-32到31移位范围的桶形移位器,一个40bit的算术逻辑电路(ALU),两个乘累加器(MAC)可以在一个周期中执行两个MAC操作,以及四个40bit的累加器。在其地址数据流程单元还包括一个16bit的算术逻辑电路(ALU),为主ALU提供简单的算术运算。

55x的指令集功能强大而且使用灵活,它同时具有易于使用和程序效率高的特点。寻址方式包括绝对寻址、寄存器间接寻址、直接寻址,这些寻址方式降低了算法所需要的指令数量,减小了代码量,也提高了芯片运算速度。特别要提到的是C55x指令集中所提供的三操作数指令,这种指令可以实现3个操作数的同时处理(如写入寄存器或存储器等操作),大大压缩了代码的指令数量。

五、基于DSP的IIR程序设计及软件调试 5.1IIR程序设计 IIR.c程序

#include

#define IIRNUMBER 2 #define SIGNAL1F 1000 #define SIGNAL2F 4500 #define SAMPLEF 10000 #define PI 3.1415926

float InputWave(); float IIR();

float fBn[IIRNUMBER]={ 0.0,0.7757 }; float fAn[IIRNUMBER]={ 0.1122,0.1122 }; float fXn[IIRNUMBER]={ 0.0 }; float fYn[IIRNUMBER]={ 0.0 }; float fInput,fOutput; float fSignal1,fSignal2; float fStepSignal1,fStepSignal2; float f2PI; int i; float fIn[256],fOut[256]; int nIn,nOut;

main() { nIn=0; nOut=0; fInput=fOutput=0; f2PI=2*PI; fSignal1=0.0; fSignal2=PI*0.1; // fStepSignal1=2*PI/30; // fStepSignal2=2*PI*1.4; fStepSignal1=2*PI/50; fStepSignal2=2*PI/2.5; while ( 1 ) {

fInput=InputWave();

fIn[nIn]=fInput;

nIn++; nIn%=256;

fOutput=IIR();

fOut[nOut]=fOutput;

nOut++;

// break point

if ( nOut>=256 )

}

{

nOut=0; } }

float InputWave() {

}

float IIR() {

} float fSum; fSum=0.0; for ( i=0;i

} return(fSum); fSum+=(fXn[i]*fAn[i]); fSum+=(fYn[i]*fBn[i]); for ( i=IIRNUMBER-1;i>0;i-- ) {

} fXn[0]=sin((double)fSignal1)+cos((double)fSignal2)/6.0; fYn[0]=0.0; fSignal1+=fStepSignal1; if ( fSignal1>=f2PI ) fSignal1-=f2PI; fSignal2+=fStepSignal2; if ( fSignal2>=f2PI ) fSignal2-=f2PI; return(fXn[0]); fXn[i]=fXn[i-1]; fYn[i]=fYn[i-1]; IIR.cmd程序

-w -stack 400h -heap 100 -l rts.lib MEMORY {

} PAGE 0: VECT : o=80h,l=80h PRAM : o=100h,l=1f00h

PAGE 1: DRAM : o=2000h,l=1000h SECTIONS {

} .text : {}> PRAM PAGE 0 .data : {}> PRAM PAGE 0 .cinit : {}> PRAM PAGE 0 .switch : {}> PRAM PAGE 0 .const : {}> DRAM PAGE 1 .bss : {}> DRAM PAGE 1 .stack : {}> DRAM PAGE 1 .vectors: {}> VECT PAGE 0

5.2软件调试结果 通过IIR滤波器前的波形

通过IIR滤波器后的波形

在效果图中,上面波形为DSP实验箱产生的滤波前的效果图,下面波形为进行IIR滤波后的效果图。从两图的比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。

在编写及调试的过程中主要遇到以下问题:

(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。

(2)编写程序需要对数据段、代码段、堆栈段进行设置。要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。

(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。

六、总结和心得

通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题:

首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。以上是我做论文的一些心得体会,这些对我以后的学习会有很大的帮助。

由于本人的时间和能力有限,本次的开发系统还存在一些不足之处,整个系统还需要进一步完善。文中也难免有不足之处,恳请老师批评指正。同时,对评审设计的老师表示衷心的感谢!

七、 参考文献

[1]赵红怡. DSP技术与应用实例[M]. 电子工业出版社. 2003.6. [2]胡庆钟,李小刚,吴钰淳. TMS320C55X DSP原理、应用和设计[M]. 机械工业出版社. 2005.10. [3]丁玉美,高西全. 数字信号处理[M]. 西安电子科技大学出版社. 2006.7. [4]刘顺兰,吴杰,高西全. 数字信号处理[M]. 西安电子科技大学出版社. 2003.8.

第三篇:基于LabVIEW的IIR-数字滤波器的设计

智能化测控技术课程设计

第二章

基于Labview虚拟滤波器的设计

2.1

labview简介

LabVIEW

是NI(National

INSTRUMENT,美国国家仪器)公司推出的一种基于G

语言的虚拟仪器(virtual

INSTRUMENT,VI)开发工具。LabVIEW

编程使用图形化语言,它是非计算机专业人员使用的工具,它为设计者提供了一个便捷、轻松的设计环境,因此,LabVIEW

在世界范围内的众多领域如航空、航天、通信、电力、汽车、化学等领域得到广泛应用。

LabVIEW

有两个基本窗口:前面板窗口和流程图窗口。编译环境下显示两个窗口,前面板用于放置控制对象和显示对象,控制对象相当于常规仪器的控制和调节按钮;前面板用于显示程序运行结果,相当于常规仪器的显示屏幕或指针。流程图窗口用于编写和显示程序的图形源代码,它相当于语言编程中一行行的语句,它由各种能完成一定功能的模块通过连线连接而成。当编写的LabVIEW

程序调试无误后,可将程序编译成应用程序。此时,设计的虚拟仪器可以脱离LabVIEW

开发环境,用户只需通过前面板进行控制和观测。

2.2

基于labview的数字滤波器设计

数字滤波器的传统设计过程可归纳为以下三个步骤:

(1)按照实际需要确定滤波器的性能要求。

(2)用一个因果稳定的系统函数(即传递函数)去逼近这个性能要求。此函数可以分为两类:即IIR

传递函数和FIR

传递函数。

(3)用一个有限精度的运算去实现这个传递函数。

FIR

滤波器设计实质是确定能满足要求的转移序列或脉冲响应的常数,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。目前,FIR

滤波器设计没有封闭的设计公式。虽然窗函数法对窗口函数可给出计算公式,但计算通带与阻带衰减仍无计算公式。FIR

滤波器的设计只有计算程序可循,因此对计算工具要求较高,不用计算机编程一般很难实现。

IIR

滤波器的设计源于模拟滤波器设计,它通过对低通滤波器进行模拟频率变换得到。常用的IIR

滤波器有巴特沃斯滤波器、切比雪夫滤波器、切比雪夫Ⅱ滤波器、椭圆滤波器和贝塞尔滤波器。目前,IIR

滤波器的设计可以借助模拟滤波器的成果,有封闭形式的设计公式,对计算工具的要求不高。

IIR

滤波器的设计虽然简单,但脱离不了模拟滤波器的设计模式,主要用于设计低通、高通、带通及带阻滤波器。而FIR

滤波器的设计要灵活得多,尤其是频率采样设计法更易适应各种幅度特性和相位特性的要求。

电力系统滤波器可以从电力信号中将所需频段的信号提取出来并将干扰信号滤除或大大衰减。利用LabVIEW

可以设计出满足电力系统需要的滤波器,利用LabVIEW

设计的IIR

数字滤波器前面板,前面板上有参数设置、波形显示两个区域。在参数设置区域有六个设置项:滤波器选择、滤波器类型、下截止频率、上截止频率、采样频率、阶次、纹波、衰减;选择的滤波器不同时,需要设置的项也不同。波形显示区域用于显示滤波前后的波形,在此区域可直观地看出滤波效果。

利用LabVIEW

实现的数字滤波,采用了图形语言编程,与采用文本语言编程相比,能缩短40%~70%的开发时间;与硬件仪器相比,又具有容易调整滤波器类型、降低成本、滤波效果直观等优点。基于LabVIEW

编写的程序还可以将其作为子程序在其他虚拟仪器系统中调用,大大增强了程序的通用性。

2.3

数字滤波器的选择步骤

LabVIEW

为设计者提供了FIR

和IIR

滤波器VI,使用起来非常方便,只需要输入相应的指标参数即可,不需要进行复杂的函数设计和大量的运算。滤波器VI

位于LabVIEW

流程图面Function>>Analyze>>SignalProcessing>>Filters

上。不同滤波器VI

滤波时均有各自的特点,因此它们用途各异。在利用LabVIEW

实现滤波功能时,选择合适的滤波器是关键,在选择滤波器时,可参照不同滤波器的特点,考虑滤波的实际要求来选择合适的滤波器。各种滤波器的特点及选择滤波器的步骤见下图。

图2-1

数字滤波器选择步骤

第三章

软件设计

3.1前面板的设计

在Labview环境下开发的应用程序称为VI(Virtual

Instrument)。VI是Labview的核心,有一个人机交互的界面——前面板,和相当于源代码功能的菜单框图程序——后面板组成,前面板是程序的界面,在这一界面上有控制量和显示量两类对象。在前面板中,控制量模拟了仪器的输入装置并把数据提供给VI的框图程序,例如开关、旋钮等,而显示量则是模拟了仪器的输入装置并显示由框图程序获得或产生的数据,例如用于显示波形的窗口等。后面板又称为代码窗口或流程图,是VI图形化的源程序,在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出等功能,流程图中包括前面板上没有但编程必须有的对象,如函数、结构和连线等[2]。

前面板如图3-1所示,由以下几个部分组成:参考信号的参数设置、待处理信号的参数设置、滤波结果的实时显示以及原始信号的波形图和滤波结果的波形图,可以设置参考信号的幅值和频率,也可以对3路正弦信号设置频率幅值和相位,程序成功运行后就可以从滤波实时显示区得到滤波结果的频率幅值和初相位,同时在波形显示区中也可以得到相应的波形,使结果更为直观地反映出来。

数字滤波器的前面板如下图所示。前面板用于设置输入数值和观察输出量,用于模拟真实滤波器的前面板。由于虚拟面板直接面向用户,是虚拟滤波器控制软件的核心。在设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等控键来控制虚拟滤波器的工作。实际中的待测信号可以由

数据采集卡实时采集滤波,也可以由数据采集卡采集后保存为LabVIEW所能够识别的文件形式,之后再由LabVIEW进行分析滤波。在这里用基本的信号(正弦波,余弦波,方波,锯齿波)来模拟原始信号。程序采用窗函数法的计算流程,将窗函数与需要滤波的信号进行卷积实现信号的滤波。使用者可对原始信号,

噪声信号和滤波器参数进行设置。原始信号的波形图,滤波的结果都可得到实时显示。这样,在程序成功的运行后就可以从显示区得到结果,使结果更为直观的反映出来。

图3-1

前面板的设计

3.2

流程图的设计

本数字滤波器的后面板即程序代码框图如图3-2所示。框图程序是由节点、端点、图框和连线四种元素构成的。节点类似于文本语言程序的语句、函数或者

子程序。框图中的每一个对象端点与前面板上的对象(控制或显示)一一对应。不同的线型代表不同的数据类型,在彩显上,每种数据类型还以不同的颜色予以强调。后面板如图3-2所示,后面板中的控件与前面板中的控件相对应,并且通过连线、添加程序以及加入各种信号等措施进行编程,实现自相关滤波的功能,同时通过在前面板设置各种不同的参数,成功地运行程序,实现所要求的目标,为了实现这一功能,笔者又添加了激励信号源、滤波器加法器和乘法器等各种运算器,经过运行程序,测试结果显示能够实现从一个包含多种频率成分的信号中提取出所需单一频率信号的功能,相当于实现了滤波,由于这种滤波的思路是从相关函数的定义出发的,因此成为相关滤波器。

在这里,用仿真信号发生器来模拟待测的信号,在实际中这个待测信号通常由数据采集卡采集得到,输入的待测信号为3路正弦信号的叠加,需要从中检测出20Hz的信号,这个测试VI实现了相关滤波过程的动态显示,使用了循环结构。

图3-2

滤波器的后面板

附录

图1

数字滤波器的输入输出信号波形

第四篇:数字信号实验报告(大全)

科目:

数字信号处理

姓名:

殷超宇

班级:

14060142 学号:

1406014226

实验题目:Z Z 变换及离散时间系统分析

指导教师:

张志杰

分数:

实验题目:

Z 变换及离散时间系统分析

实验目的:

1、通过本实验熟悉 Z 变换在离散时间系统分析中的地位和作用。

2、掌握并熟练使用有关离散系统分析的 MATLAB 调用函数及格式,以深入理解离散时间系统的频率特性。

实验内容:

给定系统 ) 8 .0 /( 2 .0 ) (2   z z H ,编程并绘出系统的单位阶跃响应 y(n),频率响应 ) e (jwH ,并给出实验数据与代码。

参考代码:

详见《数字信号处理上机实验指导》(班群里有)

实验代码(代码从 B MATLAB )

软件复制粘贴于此处,教师检查重点): :

clear;

x=ones(100);% x(n)=1,n=1~100;

t=1:100;% t 用于后面的绘图;

b=[0,0,-0.2]; % 形成向量 b;

a=[1,0,0.8]; % 形成向量 a;

y=filter(b,a,x);% 求所给系统的阶跃响应;

plot(t,y,"k-"); grid on;

ylabel(" y(n)")

xlabel("n")

实验数据(图像或表格复制粘贴于此处,教师检查重点):

实验心得与收获(可手写):

a,b 两个向量转化成符合的格式。这是一个震荡衰减的信号,信号越来越弱,通过实验,对 matlab 的使用,有了进一步的了解。

第五篇:《数字图像处理》实验教案

数 字 图 像 处 理

实 验 指 导 书

信息科学与工程学院电子系

二○○六年

数字图像处理是研究数字图像处理的基本理论、方法及其在智能化检测中应用的学科,是电子信息类本科专业的专业课。

本课程侧重于数字图像的基本处理,并对图像分析的基本理论和实际应用进行系统介绍;目的是使学生系统掌握数字图像处理的基本概念、原理和实现方法,学习图像分析的基本理论、典型方法和实用技术,具备解决通信领域的图像相关问题的初步能力,为今后的研究与开发打下扎实的基础。

实验一 常用的图像文件格式与格式转换和图像矩阵的显示方实验二 实验三

法 …………………………………………………………2

傅立叶变换……………………………………………………4 图像增强及编程处理…………………………………………5

实验一 常用的图像文件格式与格式转换和图像矩阵的显示方法

1. 实验目的

熟悉Matlab语言的初步使用;

熟悉常用的图像文件格式与格式转换;

熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色); 熟悉图像矩阵的格式转换 2. 实验内容

练习图像读写命令imread和imwrite并进行图像文件格式间的转换。特别是索引图像与1,4,8,16比特图像的存储与转换。

熟悉下列模块函数 Image file I/O.

imread

- Read image file.

imwrite

Create and display image

imagesc

Make movie from multiframe indexed image.

imshow

- Display image.

subimage

- Display multiple images in single figure.

truesize

- Adjust display size of image.

warp

- Display image as texture-mapped surface. zoom

- Zoom in and out of image or 2-D plot. 3. 实验步骤

a. Load cameraman.tif image from your hard disk (using function imread). b. Show the image in a figure window (using function image or imshow). c. Draw a brightness bar on the right side of the image(using function colorbar). d. Get image data from the current figure(axes) (using function getimage). e. Show the gray level of the image between 64 to 128 (using function imagesc). f. Make a movie from a 4-D image (load mri, make the movie by immovie, then show movie by function movie).

object.

g. Draw the cameraman image on a cylinder (using function warp). Question: how to show the cameraman like this

Requirement: write a report to do the experiment from a to g.

实验二

傅立叶变换

1.实验目的

熟悉傅立叶变换的概念和原理; 理解Fourier变换的意义。

2.实验内容

用Fourier变换算法对图像进行Fourier变换; 评价人眼对图像幅频特性和相频特性的敏感度。

3.实验步骤

<1>产生如图所示图像f1(x,y)(128×128 大小,暗处=0,亮处=255),用MATLAB中的fft2函数对其进行FFT;

<2>同屏显示原图f1和FFT(f1)的幅度谱图;

<3>若令f2(x,y)=(-1)

xy f1(x,y),重复以上过程,比较两幅图像的幅度谱的异同,简述理由;

<4>若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较;

<5>评价人眼对图像幅频特性和相频特性的敏感度。

4. 实验报告

<1>简述实验目的及原理;

<2>给出实验代码,并加以注释; <3>对实验现象加以说明和讨论。

实验三

图像增强及编程处理

1. 实验目的

观察数字图像增强的效果; 熟悉数字图像增强的一般方法;

掌握数字图像增强的一般方法的Matlab编程实现。 2. 实验内容

使用Photoshop观察数字图像增强的效果; 练习和掌握图像增强的Matlab编程。

熟悉下列模块函数 Image enhancement.

histeq

Adust imae intensity values or colormap. Image noising. imnoise

- Add noise to an image. Image filtering

medfilt2

- Perform 2-D median filtering.

ordfilt2

Perform 2-D adaptive noise-removal filtering.

3. 实验步骤

<1> 使用Photoshop观察数字图像增强的效果 a. 对比度增强

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。

3)在图像菜单调整子菜单中选亮度/对比度项,调节对比度滑块,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。 b. 灰度变换

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。 3)在图像菜单调整子菜单中选反相项,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。 5)画出灰度变换曲线。

6)在编辑菜单中选返回项,恢复原始图像。

7)在图像菜单调整子菜单中阈值项,调节阈值色阶滑块,观察图像变化。

8)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。 9)画出灰度变换曲线。

c. 直方图均衡化

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。 3)在图像菜单调整子菜单中选色调均化项,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。

d. 图像平滑

1)在Photoshop中打开一黑白灰度图像文件。

2)在图像菜单中选直方图项,观察原始图像的直方图。

3)在滤镜菜单模糊子菜单中选进一步模糊项,观察图像变化。

4)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。 5)在编辑菜单中选返回项,恢复原始图像。

6)在滤镜菜单模糊子菜单中选高斯模糊项,观察图像变化。

7)在图像菜单中选直方图项,观察处理后图像的直方图,并同(2)中的直方图比较。 8)在Matlab Help菜单中, 选Demos项。

9)打开ToolboxesImage Processing项,选Noise Reduction Filtering,并运行。

10)选图像Blood、噪声类型Salt & Pepper、滤波器类型Median、邻域3x3,比较原始图像、受噪声污染图像、滤波后图像。 11)改变参数,重做(10)。

12)选其他图像,重做(10)-(11)。

13)思考何种滤波器对抑制何种类型噪声更有效,邻域大小对抑制噪声效果及图像模糊程度的影响。

<2> 图像增强的Matlab编程

a. Load cameraman.tif image from your hard disk (using function imread). b. Show the image in a figure window. c. Show the histogram of the image (using function imhist). d. Enhance the contrast of the image using histogram equalization. e. Show the histogram of the image after processing. f. Compare the qualities of two images and makes a discussion about them. g. Add noises, such as gaussian, salt&pepper, speckle noise into the image respectively. Compare with the influence of the different Means and Variance. h. Remove the added noise from the image by function medfilt2, ordfilt2 and wiener2 respectively. Compare the qualities of the original images with the processed images and discuss the effect of the methods.

Requirement:

Write a report to do the experiment . Make sure the report includes the discussion about the experiment. If the report just is a copy from others, the report will have a zero mark.

上一篇
下一篇
返回顶部