IIR数字滤波器在TI DSP上的实现

合集下载

利用DSP技术实现ⅡR数字滤波器

利用DSP技术实现ⅡR数字滤波器

Z HAN G — i , Ya b n TAN — o , Zi y u DON G i h a L— u
(o eeo h ss c n e Ifr t nE gneigJ h uUnvrt,i o 1 0 0 C ia C Hg f yi i c & noma o nier ,i o ie i J h u46 0 , hn) P cS e i n s sy s
个 高 阶 I 滤 波器 可 以 分解 成 若 干 二 阶基 本 节 相 级 联 。 由 I R 于调 整 每 个二 阶 基 本 节 的 系 数 , 只涉 及 这个 二 阶 基 本 节 的 一 对 极 点 和零 点 . 影 响 其 他 零 、 点 , 不 极 因此 便 于 调 整 系统 的性 能 。此 外 , 由 于 字 长 有 限 .每 个 二 阶基 本 节 运 算 后 都 会 带 来 一 定 的误 差 , 合
Ab ta t Th ii l l r sk n f i n l r c s n n t d l sd Co ai g t t ua tf tr i h sh g r cs n a d s bl ain, s r c : e d g t t i d o g a o s g u i wi ey u e . mp r s m ln l , t a i h p e i o n t i z t af e i i s p ei n o i ie i a i o

理 安排 各 二 阶基 本 节 的前 后 次序 , 使 系 统 的精 度 得 到 优化 [] 将 2。 由 前 面可 知 , 设 计 的 滤 波 器 是 一 个 7阶 滤 波 器 , 的 传 递 所 它
函数 为 ’
( ) Z 。 6 ‘ 91 Z z 一2 +2 +3 4 一 6 5Z一 5

用DSP实现IIR滤波器

用DSP实现IIR滤波器


MPY @B2,A LTD @x1
;计算前向通道,x2*B2→A ;x1送T寄存器,x1移至x2单元
向 MAC @B1,A ;x2*B2+x1*B1→A
运 LTD @x0
;x0送T寄存器,x0移至x1单元

MAC @B0,A STH A,@x0
;x2*B2+x1*B1+x0*B0→A ;暂存y(n)=x2*B2+x1*B1+x0*B0→x0单元
X x(n-2)
Y y(n-2)
B B2
A A2
x(n-1) AR4 y(n-1)
AR2 x(n)
y(n) AR5
B1 AR3 A1
B0
(未用)
15
例5-32 编写直接形式二阶IIR滤波器的源程序。
.title “IIR3.asm” ;给汇编程序取名
.mmregs
;说明存储器映象寄存器
.def start ;定义标号start的起始位置
.text
start: SSBX FRCT ;指明进行小数乘法
STM #x,AR1 ;传送初始数据x(n-2),x(n-1)
RPT #1
;重复二次下条指令
MVPD #table,*AR1+ ;x(n-2)=0,x(n-1)=0
STM #Y,AR1 ;传送初始数据y(n-2),y(n-1)
RPT #1
是有限长序列。而IIR滤波器的脉冲传递在Z平面上有
极点存在,ai≠0,其单位冲激响应是无限长序列。 2
特点
IIR滤波器与FIR滤波器的一个重要区别是,IIR滤 波器可以用较少的阶数获得很高的选择特性,所用的 存储单元少,运算次数少,具有经济、高效的特点。 但是,在有限精度的运算中,可能出现不稳定现象。 而且,选择性越好,相位的非线性越严重,不像FIR 滤波器可以得到严格的线性相位。

ⅡR数字滤波器在定点DSP上的实现

ⅡR数字滤波器在定点DSP上的实现
用输入寄存器:X1 X0 Yl和 Y , 或者由 、 、 0 这 四个寄存器连接 成两个 4 8位输入寄存器:X 和 Y:六个数据 寄存器 :A 、 A1 A 2 、 0和 B 。 2
B 、 B ,可连接成为两个通用 5 l 0 6位累加器 A 和 B:在进 行乘法 、加减法 和乘 累加运算 的同
2 B q a 和 B a 2 在 D P上 的 iud iu d q S 实现
为了实现 数字滤波 器 的模块化 。便于 在 以 后 的 项 目 中 重 复 利 用 。 这 里 将 Bq a 和 i d u B qa2都 写成 了函数的形式 ,具有 明确 的与外 i d u 界的接 口,只要滤波器的系数和滤波 中的过去值
用中,数字滤波器是十分重要 的部分。本文主要 介绍了数字滤波器在 Moooa的 5 3 0系列的 t l r 60
定点 D P上的实现 ,这里采用 了单精度和双精 S 度两种方法 ,并比较 了这两种方法在实现精度上 的差别。并且介绍 了数字滤波器设计的模块化 以 及可重复利用的工程化设计 思路 ,使数字滤波器
随着数字 化时代 的到来 ,数字 信号 处理 已 经发展成为- f极其重要的学科和技术领域 。数 - - j
字信号处理技 术在通信 、语音 、图像 、 自动控 制、雷达、军事、航空航天、医疗和家用电器等 众多领域得到 了广泛的应用 。在数字信号处理应
说 ,一般要 求在 四阶 以 内,并且 要求阶 数可控 制 。根据这些要求 。只要设计一个具有 良好特性 的双二阶滤波器,然后通过控制级联 的个数,就 可以实现任意阶数的滤波器。为下文叙述方便 ,
Sga Poesr i l rcso) n 上的实现方法,给 出了双二阶滤波器的单精度和双精度两种设计.并比较 了它们的精

IIR数字滤波器的DSP实现

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.2IIR滤波器的设计方法及原理 (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课程设计--IIR数字滤波器的设计

DSP课程设计--IIR数字滤波器的设计

目录摘要 (I)前言 (1)1 方案设计与论证 (2)1.1 设计方案概论 (2)1.2 设计方案详论 (2)1.3 设计工具CCS及SEED-DTK2812 实验系统简介 (3)2 系统设计 (4)2.1 IIR数字滤波器的设计方法及原理 (4)2.2 程序设计流程图 (6)2.3 系统设计步骤 (6)4 总结 (10)参考文献 (11)致谢 (12)附录 (13)前言本文介绍了滤波器的滤波原理以及模拟滤波器、数字滤波器的设计方法。

重点介绍了IIR数字滤波器的设计方法。

即脉冲响应不变法和双线性变换法。

在此基础上,用DSP 虚拟实现任意阶IIR滤波器。

此设计扩展性好,便于调节滤波器的性能,可以根据不同的要求在DSP上加以实现。

数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。

数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。

数字信号处理在理论上的发展推动了数字信号处理应用的发展。

反过来,数字信号处理的应用又促进了数字信号处理理论的提高。

而数字信号处理的实现则是理论和应用之间的桥梁。

数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。

例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。

近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。

可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。

IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。

IIR滤波器的DSP实现

IIR滤波器的DSP实现

IIR滤波器的DSP实现一、IIR滤波器的基本结构IIR滤波器差分方程的一般表达式为:y(n)=∑b i x(n−i)Ni=0−∑a i y(n−i) Mi=1式中x(n)为输入序列;y(n)为输出序列; a i和b i为滤波器系数。

若所有系数a i等于0,则为FIR 滤波器。

IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关.将上式展开得出y(n)表达式为:y(n)=b0x(n)+b1x(n−1)+⋯+b N x(n−N)−a1y(n−1)−a2y(n−2)−⋯−a M y(n−M)在零初始条件下,对上式进行z变换,得到:Y(z)=b0X(z)+b1z−1X(z)+⋯+b N z−N X(z)−a1z−1Y(z)−a2z−2Y(z)−⋯−a M z−M Y(z)设N=M,则传递函数为:H(z)=Y(z)X(z)=b0+b1z−1+⋯+b N z−N1+a1z−1+⋯+a N z−N上式可写成:H(z)=b0z N+b1z N−1+⋯+b Nz N+a1z−1+⋯+a N=C∏z−z iz−p iNi=1上式具有N个零点z i和N个极点p i.若有极点位于单位圆外将导致系统不稳定。

由于FIR滤波器所有的系数a i均为0,不存在极点,不会造成系数的不稳定.对于IIR滤波器,系统稳定的条件如下:若|p i|〈1,当n→∞时,h(n)→0,系统稳定;若|p i|〉1,当n→∞时,h(n)→∞,系统不稳定。

IIR滤波器具有多种形式,主要有:直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型。

二阶IIR滤波器,又称为二阶基本节,分为直接型、标准型和变换型.对于一个二阶IIR滤波器,其输出可以写成:y(n)=b0x(n)+b1x(n−1)+b2x(n−2)−a1y(n−1)−a2y(n−2)1.直接型(直接I型)根据上式可以得到直接二型IIR滤波器的结构图.如图1所示。

IIR数字滤波器的优化设计和DSP实现

IIR数字滤波器的优化设计和DSP实现

II R 数字滤波器的优化设计和D SP 实现张晓光,徐 钊(中国矿业大学信电学院,江苏省徐州市221008)摘 要:首先叙述了直接Ⅱ型II R (无限冲击响应)数字滤波器能够克服使用定点DSP 实现II R 数字滤波器时引起的输入数据的溢出问题;然后利用MAT LAB 软件生成滤波器的输入数据和系数,进行相应的数据压缩处理,并生成仿真波形;最后给出了用DSP 语言实现直接Ⅱ型结构II R 数字滤波器的完整程序、仿真结果,同时对仿真结果进行了分析、比较。

关键词:II R 数字滤波器;MAT LAB;定点DSP中图分类号:T N911.72收稿日期:2005208209;修回日期:2005210210。

0 引 言数字滤波在DSP (数字信号处理)中占有重要地位。

数字滤波器按实现的网络结构或者从单位脉冲响应,分为II R (无限脉冲响应)和F I R (有限脉冲响应)滤波器。

如果II R 滤波器和F I R 滤波器具有相同的性能,那么通常II R 滤波器可以用较低的阶数获得高的选择性,执行速度更快,所用的存储单元更少,所以既经济又高效。

一般说来,从使用要求上来看,在对象为要求不敏感的场合,如语音通信等,选用II R 滤波器较为合适,这样可以充分发挥其经济、高效的特点。

使用定点DSP 实现II R 滤波器是不容易的,II R 滤波器的反馈回路容易引起计算溢出。

一般采用定标输入数据克服溢出问题,但定标的结果使输出信号幅度降低。

为克服输出信号电平低的问题,一般在硬件上人为地多加一个运算放大器,以自举输出信号电平。

本文介绍一种II R 滤波器的优化设计方法,即借助组合两节II R 滤波器输入计算,克服输入数据溢出问题,从而可删除末级运算放大器。

1 II R 滤波器的设计一个高阶的II R 滤波器可以简化成几个二阶滤波器级联。

高阶II R 滤波器的传递函数可表示为:H (z )=H 1(z )H 2(z )…H n (z )(1)式中:n 为滤波器的阶数。

IIR滤波器在DSP芯片上的实现及主程序

IIR滤波器在DSP芯片上的实现及主程序

数字滤波器设计与实现一直是信号处理领域的重要研究课题。

常用的数字滤波器有FIR滤波器和IIR滤波器,其中,IIR数字滤波器因具有结构简单、占用存储空间少、运算速度快、较高的计算精度和能够用较低的阶数实现较好的选频特性等特点得到了广泛应用。

DSP芯片有适合于数字信号处理的软件资源和硬件资源,是实现数字信号处理的重要途径。

本文主要介绍应用MATLAB设计IIR数字滤波器的方法,并探讨基于TI公司TMS320C54X DSP的IIR数字滤波系统的实现。

二、IIR滤波器的基本结构IIR滤波器由于它的脉冲响应序列是无限长的,故称为无限脉冲响应滤波器。

IIR滤波器系统函数的极点可以位于单位元内的任何地方,因此可以用较低的阶数获得较高的选择性,所用存储单元少,经济效益高。

但这些是以相位的非线性为代价的,选择性越好,相位非线性越严重。

IIR滤波器差分方程:(2.1)IIR滤波器的系统函数:IIR滤波器的网络结构主要有:直接型(也称直接Ⅰ型)、标准型(也称直接Ⅱ型)、级联型和并联型,下面是二阶IIR滤波器的标准型结构。

从图可以看出,左右两组延迟单元可以重叠,由于这种结构所使用的延迟单元最少(只有2个),因此得到了广泛地应用,故称之为标准型IIR滤波器。

z-1z-1b0b1b2-a1-a2x(n)y(n)w(n)++++三、IIR数字滤波器的的设计(一)IIR数字滤波器的设计方法IIR滤波器计方法有直接法和间接法。

由于模拟滤波器的设计方法已经非常成熟,不仅有完整的公式、完善的图标和曲线可供查阅,而且还有一些优良的滤波器类型可供使用。

间接法就是借助于模拟滤波器的设计方法进行的。

基本思路是:根据实际要求的数字滤波器的的性能指标先设计模拟滤波器得到传输函数,然后将按某种方法转换成数字滤波器的系统函数。

实现系统传递函数从S域至Z域映射工程上常用脉冲响应不变和双线性变换两种方法。

脉冲响应不变法一般会产生频谱混叠现象,对于高通和带阻滤波器不适合,本文中采用双线性不变法。

利用DSP实现IIR滤波器的精度扩展

利用DSP实现IIR滤波器的精度扩展

利用DSP实现IIR滤波器的精度扩展TMS320C54X(以下简称'C54X)是TI公司于1996年推出的新一代高性能定点DSP。

该系列芯片具有很高的性能价格比、体积小、功耗低、功能强,已成为通信、计算机、消费类电子产品等领域的重要器件。

数字滤器的设计是数字信号处理领域的一个重要部分。

在用定点DSP器件设计数字滤波器时,一个重要的问题就是由于硬件字长精度有限,运算会出现溢出。

IIR滤波器可以用较少的阶数获得很高的选择特性,所用的存储单元少、运算次数少,具经济、高效的特点。

在相位要求不敏感的场合,如语音通信等,很适合用IIR滤波器;但是在有限精度的运算中,可能出现不稳定现象。

因此,有必要讨论一下如何在定点的DSP芯片'C54X上实现扩展精度的IIR滤波器。

1 'C54X DSP上扩展精度乘法的实现'C54X芯片的CP内含有2个40bit的累加器(ACC A和ACC B)、1个17×17bit 乘法器以及1个40 bit加法器。

这就使得该乘法器可以实现2个无符号数、2个有符号数或无符号数和有符号数的乘法。

累加器ACC A和ACC B存放从ALU或乘法器/加法器单元输出的数据,也能输出到ALU 或乘法器/加法器中。

累加器包括3部分(见图1):①保护位(bits 39~32),用来作为计算的前部留空(headmargin),防止在迭代运算(如自相关)中产生溢出;②高位字(bits 31~16);③低位字(bits 15~0)。

'C54X芯片内部的特点,使得扩展精度计算行之有效。

其中一个就是进位的处理。

算术逻辑单元ALU执行大多数指令操作,如循环与移位操作都会影响进位。

进位操作通过调用ST0,设置或重设状态寄存器来修改。

正常操作中,为了使累加器不至于装入饱和值,溢出模式应该设置为OVM=0。

'C54x内部的2条数据总线(CB和DB)允许一些指令在其周期内操作32bit操作码。

实验四IIR数字滤波器的设计数字信号处理DSP

实验四IIR数字滤波器的设计数字信号处理DSP

实验四IIR数字滤波器的设计数字信号处理DSP
IIR(Infinite Impulse Response)数字滤波器是一种常用的数字信
号处理技术,用于对信号进行滤波。

其特点是具有无限脉冲响应,通过对
输入信号和滤波器的系数进行运算,可以得到输出信号。

设计一个IIR数字滤波器的步骤如下:
1.确定滤波器的类型:根据滤波器的要求,选择滤波器的类型,如低
通滤波器、高通滤波器、带通滤波器等。

2.确定滤波器的阶数:滤波器的阶数决定了滤波器的复杂度和性能。

一般来说,阶数越高,滤波器的性能越好,但计算复杂度也会增加。

3.确定滤波器的频率响应:根据滤波器的类型和要求,确定滤波器的
频率响应。

可以使用一些滤波器设计工具或者数学模型来计算频率响应。

4.设计滤波器的传递函数:根据所选的滤波器类型和频率响应,设计
滤波器的传递函数。

传递函数描述了滤波器的输入输出关系。

5.将传递函数转换为差分方程:将滤波器的传递函数转换为差分方程,形式为y(n)=b0*x(n)+b1*x(n-1)+...-a1*y(n-1)-a2*y(n-2)-...,其中
y(n)为输出信号,x(n)为输入信号。

6.计算滤波器的系数:根据差分方程,计算滤波器的系数,即b0、
b1、..、a1、a2、..
7.实现滤波器:将计算得到的滤波器系数应用到滤波器的实现中,可
以使用C语言、MATLAB等工具进行实现。

8.评估滤波器性能:根据设计要求和信号特点,评估滤波器的性能,
如频率响应、幅频响应等。

通过上述步骤,可以设计出满足要求的IIR数字滤波器,并用于数字信号处理中。

DSP 实验五 IIR滤波器设计的DSP实现

DSP 实验五 IIR滤波器设计的DSP实现

;以上是前向通道计算
STH A,*AR2+ ;将输出存入 AR2 指向的单元(z),且 AR2 加 1
BANZ IIR1,*AR4- ;若 AR4 不等于 0 则跳到 IIR1,循环
end:B end
.end
;程序结束
链接命令文件:ch5p1.cmd
-e aa
-m map.map
MEMORY
{
PAGE 0:
址 AR1 加 1
STM #x1,AR1
RPT #1
MVPD #tablex,*AR1+
; 将 w(n-1)和 w(n-2)的初始值存入 AR1 所指向的
数据存储空间,且地址 AR1 加 1
2
DSP 原理与应用实验指导书
STM #B2,AR1
RPT #4
MVPD #tableBA,*AR1+
; 将滤波系数存入 AR1 所指向的数据存储空间,且地
5
DSP 原理与应用实验指导书
.word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 .word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 .word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 .word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 .word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 .word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 .word 0,11756*32768/100000,0,19021*32768/100000,0 .word 0,0,-19021*32768/100000,0,-11756*32768/100000 将链接命令文件 ch5p1.cmd 改为: -e aa -m map.map MEMORY { PAGE 0: EPROM :org=04000H len=1000H PAGE 1: SPRAM :org=0060H len=0130H DARAM :org=0190H len=1380H } SECTIONS { .text :> EPROM PAGE 0 .data :> EPROM PAGE 0 .bss :> SPRAM PAGE 1 XN : align(128){ }>DARAM PAGE 1 x: align(8){ }>DARAM PAGE 1 COEF: align(8){ }>DARAM PAGE 1 } 问:再怎样修改该程序,完成滤波功能?将修改的程序语句写在下方: 将 .bss z,5 改为.bss z,100 将 XN .usect "XN",5 改为 XN .usect "XN",100 将 RPT #4 改为 RPT #99 将 STM #5,AR4 改为 STM #100,AR4

实验五 IIR滤波器的DSP实现

实验五  IIR滤波器的DSP实现

实验五 IIR滤波器的DSP实现一、实验目的掌握IIR滤波器的设计方法二、实验设备计算机、ZY13DSP12BD实验箱、5416EVM板。

三、实验原理参考教材第七章第三节《IIR滤波器的DSP实现方法》。

四、实验内容将采集到的信号经过DSP处理,将IIR滤波处理后的波形在CCS中显示出来。

五、实验步骤1、用仿真机将计算机与ZY13DSP12BD实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS软件。

2、新建一个项目:点击Project-New,将项目命名为shiyan4b,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。

3、新建一个源文件:点击File-New-Source File可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(shiyan4b),保存类型选择*.ASM(如果源文件是C语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM为保存类型),我们在这里将保存名字命名为shiyan4b.asm。

4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS编译器对该源文件进行编译还需要将源文件添加到项目中去。

添加方法是在工程管理器中右键单击shiyan4b.pjt,在弹出的菜单中选择Add Files,然后将刚才建立的shiyan4b.asm文件添加到该项目中去。

5、编写源程序:在工程管理器中双击shiyan4b.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:**************************************用双操作数指令实现二阶IIR滤波器 **反馈通道:x0=w(n)=x(n)+A1*x1+A2*x2 **前向通道:y(n)=B0*x0+B1*x1+B2*x2 **************************************.title "shiyan4b.asm".mmregs.def startx2 .usect "x",1x1 .usect "x",1x0 .usect "x",1COEF .usect "COEF",5indata .usect "buffer",1outdata .usect "buffer",1.datatable .word 0 ;x(n-1).word 0 ;x(n-2).word 676*32768/10000 ;分子系数B2=0.0676.word 1352*32768/10000;分子系数B1=0.1352.word 676*32768/10000 ;分子系数B0=0.0676.word -4142*32768/10000;分母系数A2=-0.4142.word 707*32768/10000 ;分母系数A1=0.0707.textstart: SSBX FRCTSTM #x2,AR1RPT #1MVPD #table,*AR1+STM #indata,AR5STM #outdata,AR2STM #COEF,AR1RPT #4MVPD #table+2,*AR1+STM #x2,AR3STM #COEF+4,AR4 ;AR4-->A1MVMM AR4,AR1 ;保存地址值在AR1中STM #3,BK ;设置循环缓冲区长度STM #-1,AR0 ;设置变址寻址步长IIR2: M VDD *AR5,*AR3 在这里设置断点与指针LD *AR3+0%,16,A ;计算反馈通道,A=x(n)MAC *AR3,*AR4,A ;A=x(n)+A1*x1MAC *AR3+0%,*AR4-,A ;A=x(n)+A1*x1+A1*x1MAC *AR3+0%,*AR4-,A ;A=x(n)+2*A1*x1+A2*x2STH A,*AR3 ;保存x0MPY *AR3+0%,*AR4-,A ;计算前向通道,A=B0*x0MAC *AR3+0%,*AR4-,A ;A=B0*x0+B1*x1MAC *AR3,*AR4-,A ;B=B0*x0+B1*x1+B2*x2=y(n)STH A,*AR3 ;保存y(n)MVMM AR1,AR4 ;AR4重新指向A1BD IIR2 ;循环MVDD *AR3,*AR2 在这里设置断点与指针nop.end6、编写链接配置文件如下:vectors.objshiyan4b.obj-o shiyan4b.out-m shiyan4b.map-estartMEMORY{PAGE 0:EPROM: org=0090H,len=0F70HVECS: org=0080H,len=0010HPAGE 1:SPRAM: org=1000H,len=1000HDARAM: org=2000H,len=2000H}SECTIONS{.text :> EPROM PAGE 0.data > EPROM PAGE 0.bss :> SPRAM PAGE 1x: align(4){} > DARAM PAGE 1COEF: align(8){} > DARAM PAGE 1buffer :>DARAM PAGE 1.vectors :> VECS PAGE 0}7、编写中断向量表文件参照实验二,可不作修改。

IIR滤波器的MATLAB设计及DSP实现

IIR滤波器的MATLAB设计及DSP实现

1绪论1.1滤波器技术的发展状况数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。

具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。

数字信号处理理论与技术的发展,主要是由于电子计算机与大规模集成电路的大量生产和广泛应用,替代了原来的模拟信号处理中的线性滤波与频谱分析所应用的模拟计算机和分立元件L、C、R线性网络,高度发挥了计算技术与数字技术相结合的特色和优越性。

特别是微处理器和微型计算机技术日新月异的发展,经更有利于电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能等方向发展,促使它们成为富有智能型的电子系统。

现在,包括数字滤波在内的数字信号处理技术正以惊人的速度向纵深和高级的方向发展;据统计这种趋势还要持续一个较长的时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性发展。

1.2数字滤波器的定义和分类数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、语言、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就。

鉴于此,数字滤波器的设计就显得尤为重要。

由于图像在摄取过程中收到摄取器件、周围环境、通道传输误差等影响,会使摄取到的图像中含有噪声。

噪声通常是随机产生的,因而具有分布和大小的不规律性。

影响了图像的视觉效果和有关处理工作。

因此需要对图像中的噪声进行消除。

而噪声消除也就是滤波,目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率低,不具有可视图形,不便于参数修改等缺点,而MATLA的FDATool工具为数字滤波器的研究和应用提供了一个直观、高效、便捷的利器。

IIR数字低通滤波器设计及DSP实现

IIR数字低通滤波器设计及DSP实现

IIR 数字低通滤波器的设计及DSP 实现一、设计要求设计一个通带截止频率为5KHz 的数字低通滤波器,其中采样频率为100KHz ,其它设计参数自拟。

并利用DSP 编程实现对输入为1.5KHz 、10KHz 、20KHz 的合成波形的滤波。

二、设计过程1. 设计目标根据所给的设计要求,确定设计目标如下:在通带截止频率5KHz 处的衰减不大于3dB ,在阻带截止频率10KHz 处的衰减不小于30dB ,A/D 采样频率为100KHz 。

用双线性变换法进行设计,巴特沃斯型低通滤波器。

2. 模拟参数转化为数字参数通带截止频率p ω=p FsΩ=0.1π,阻带截止频率s ω=sFsΩ=0.2π。

通带最大衰减为p α=3dB ,阻带最小衰减为s α=30dB ,同时根据巴特沃斯滤波器的“通带最平幅度”特性可以定出通带最大衰减在p ω处,而阻带最小衰减在s ω处。

3.利用MATLAB 获取滤波器的参数 (1)MATLAB 程序如下: clear;close;Fs=100000; Ap=3;As=30;Wp=2*Fs*tan(pi/20);Ws=2*Fs*tan(pi/10);%预畸变处理 [n,Wn]=buttord(Wp,Ws,Ap,As,'s'); [b,a]=butter(n,Wn,'s');%离散化处理[bn,an]=bilinear(b,a,Fs) %没有加分号,方便获取参数 [H1,W]=freqz(bn,an);plot(W*50/pi,20*log10(abs(H1)/max(H1)));grid; xlabel('频率(KHz )');ylabel('幅度(dB )');(2)得到参数如下: bn =1.0e-003 *0.0678 0.3388 0.6776 0.6776 0.3388 0.0678 an =1.0000 -3.9564 6.3496 -5.15512.1137 -0.3497(3)得到差分方程为:012345()()(1)(2)(3)(4)(5)y n b x n b x n b x n b x n b x n b x n =+-+-+-+-+-12345((1)(2)(3)(4)(5))a y n a y n a y n a y n a y n --+-+-+-+-(4)得到的滤波器的幅频特性图如图1:频率(KHz )幅度(d B )图1(5)对幅频特性图局部放大以查看其是否满足设计的要求频率(KHz )幅度(d B )频率(KHz )幅度(d B )图2 (5KHz 处放大图) 图3 (10KHz 处放大图) 从以上两张图中可以读出所设计的滤波器在10KHz 处恰好满足衰减30dB ,而在5KHz 处的衰减为2.45dB ,小于3dB ,有富裕产生,满足要求。

基于MATLAB的IIR数字滤波器设计与DSP实现

基于MATLAB的IIR数字滤波器设计与DSP实现

基于MATLAB的IIR数字滤波器设计与DSP实现[摘要]对IIR数字滤波器进行研究,站在全面的角度来分析,对函数设计与计算方案的形成进行相应的探讨,找到相关的技术支持手段;通过对IIR数字过滤器中的信号处理技术,将MATLAB常用设计函数手段与DSP进行完善连接,同时,本文也将该技术实施中的参考手段与技术标准呈现了出来,以供参考。

[Abstract]To study the IIR digital filter,stand in the overall point of view to analyze the formation of the function,design and calculation programs were discussed,to find the relevant technical support;the signal processing technology of IIR digital filter in common use of MATLAB,the design method and the DSP function to improve connection,at the same time,this paper will also reference means and technical standards in the implementation of the technology were presented,for reference.[关键词]MATLAB;IIR数字滤波器;DSP[Keyword]MATLAB;IIR digital filter;DSP首先,对近年来的数字技术的发展来看,DSP技术已经作为直接性的科技领军技术产品来带动数字融合手段的发展了,在数字滤波器的带动下,它得以得到全面快速的发展;其次,结构简单的IIR数字过滤器得到了完善发展,其运算速度更快、占用空间更小,实现了DSP的质的突破与进步。

IIR高通滤波器的matlab设计和在dsp上的实现

IIR高通滤波器的matlab设计和在dsp上的实现

IIR高通滤波器的matlab设计和在dsp上的实现IIR高通滤波器的matlab设计和在dsp上的实现摘要在众多滤波器设计方法中,本设计着重讨论了IIR高通滤波器的设计。

对此滤波器的理论知识作了具体分析,通过matlab来对其进行设计并在dsp上直观形象的实现其功能。

在本设计中,我先采集一段语音信号,借助matlab软件,设计出一定性能指标参数的IIR高通滤波器对其进行处理,借此对比此语音信号滤波前后的变化,从而观察此滤波器的软件滤波效果。

并通过matlab来确定此滤波器的传递函数参数,再借助dsp实验系统来进行硬件上的实现。

实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5416评估板上实时运行,结果实现了目标要求。

关键词:IIR高通滤波器 Matlab7.0 DspAbstractIn numerous filters design method, this design emphasized to discuss the design of a filter of IIR.Made the concrete nalysis to the theories knowledge of this filter, pass the Matlab to come as to it's carry on the design and keep the view image to carry out its function on the DSP.In this design, I collect a speech signal first, asking for help the software of Matlab, designing a filter of an IIR of certain function index sign parameter as to it's carry on the processing, borrow this contrast this speech signal wave in front and back of variety, thus observe a result of the software of this e to certain this filter to deliver the function parameter through a Matlab also, then ask for help the DSP experiment system to carry on the realization on the hardware.While carry out, imitates the true development in the CCS5000 first, then evaluate procedure add carry the TMS320VC5416 up the plank the solid luck go, as a resultcarrying out the target request.Keyword:A high filter of IIR Matlab7.0 Dsp一、模拟滤波器和数字滤波器的比较模拟滤波器是频率选择电路,用于放大或衰减单一频率成分的正弦信号或信号频谱的一部分。

IIR数字滤波器在TIDSP上的实现

IIR数字滤波器在TIDSP上的实现

HR数字滤波器在TI DSP上的实现数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。

在众多通用数字信号处理器中,美国TI公司生产的TMS320系列单片DSP 在国际上占有较大市场,这种单片DSP把高速控制器的灵活性和阵列处理器的数值计算能力结合起来。

一、IIR数字滤波器结构原理本文IIR数字滤波器的设计方法:借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,然后用硬件或软件实现。

从IIR数字滤波器的实现来看,有直接型、级联型、并联型等基本网络结构。

其中直接I【型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元。

本文以二阶IIR滤波器的直接实现形式表示。

其系统函数H (z)可以表示为:在编程时,可以将变量和系数都存在DARAM中,采用循环缓冲区方式寻址,共需开辟4个缓冲区,用来存放变量和系数。

二阶IIR滤波器的直接IIR型差分方程为:(3)二、IIR数字滤波器在C54x上的设计与实现1.IIR数字滤波器在TMS320VC5409 DSP上的实现流程1」根据指标确定滤波器的类型,设计出滤波器的参数;1.2根据DSP的特点(字长、精度等)对参数进行取舍、量化,仿真;1.3根据仿真结果对滤波器的结构、参数再次进行调整,直到满足要求为止;1.4在DSP上用语言实现滤波器功能。

2.IIR数字滤波器在TMS320VC5409 DSP上的实现算法从理论上说,可以用高阶IIR数字滤波器实现良好的滤波效果[2]。

但由于DSP本身有限字长和精度的因素,加上IIR滤波器在结构上存在反馈回路,是递归型的,再者高阶滤波器参数的动态范围很大。

这样一来造成两个后果:结果溢出和误差增大。

解决此问题的有效方法是把高阶IIR数字滤波器简化成儿个2阶。

IIR数字滤波器的DSP实现

IIR数字滤波器的DSP实现

湖南科技大学信息与电气工程学院《课程设计报告》题目:IIR数字滤波器的DSP实现专业: _________ 电子信息工程________班级: ____________ 电子二班_________姓名: ______________ 高二奎_________学号:1104030205 _______指导教师: ___________ 尹艳群_________2015年1 月8 日信息与电气工程学院课程设计任务书2014—2015学年第一学期专业:电子信息工程班级: 电子二班学号:1104030205姓名:高二奎课程设计名称:DSP 原理及应用设计题目:IIR 数字滤波器的DSP实现完成期限:自2015 年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)四、TMS320C540的介绍 (9)五、基于DSP的IIR程序设计及软件调试 (11)5.1IIR 程序设计115.2 软件调试结果13六、总结和心得15七、参考文献、摘要随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。

IIR滤波器的DSP实现

IIR滤波器的DSP实现
七、实验结果及分析
1.输入波形: ①时域波形:
②频域波形:
2.输出波形: ①时域波形:
②频域波形:
八、心得体会
在课堂上我们做过 FIR 滤波器的设计,于是在课程大作业时,我想到了改变滤波器即将 FIR 改为 IIR 滤波器来完成我的大作业。正好这段时间在复习数字信号处理这门课,在加上做这个大作业,可 谓将理论与实际相结合,更完全的理解了滤波器的原理与应用,收获很大。
设计 IIR 滤波器的基础是设计模拟滤波器的原型,这些原型滤波器主要有: ①巴特沃兹(Butterworth)滤波器,其幅度响应在通带内具有最平特性; ②切比雪夫(Chebyshev)滤波器,在通带内具有等波纹特性,且阶数小于巴特沃兹滤波器. ③椭圆(Elliptic)滤波器,在通带内具有等波纹特性,且阶数最小. 将模拟滤波器转换为数字滤波器常用的方法是双线性变换,其作用是完成从 s 平面到 z 平面的一 个映射.其关系为: 双线性变换的基本性质如下: ①s 平面上的轴映射到 z 平面的单位圆上; ②s 平面的左半平面映射到 z 平面的单位圆内; ③s 平面的右半平面映射到 z 平面的单位圆外. 考虑到 s 平面上的虚轴映射为 z 平面的单位圆,令,它代表一个可变的模拟频率.其 z 平面上相应的 数字频率为,即,将以上两式代入 2.1 式得: 对上式求解得: 模拟频率和相应的数字频率之间的映射关系如图 4 所示:
由于这种结构所使用的延迟单元最少(只有 2 个),得到了广泛地应用,因此称之为标准型 IIR 滤波器.
图 3 标准型二阶 IIR 滤波器
二、IIR 滤波器的设计
IIR 滤波器的设计可以利用模拟滤波器原型,借鉴成熟的模拟滤波器的设计结果进行双线性变换, 将模拟滤波器变换成满足预定指标的数字滤波器,即根据模拟设计理论设计出满足要求的传递函数 H(s),然后将 H(s)变换成数字滤波器的传递函数 H(z).
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IIR数字滤波器在TI DSP上的实现
数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。

在众多通用数字信号处理器中,美国TI公司生产的TMS320系列单片DSP 在国际上占有较大市场,这种单片DSP把高速控制器的灵活性和阵列处理器的数值计算能力结合起来。

一、IIR数字滤波器结构原理
本文IIR数字滤波器的设计方法:借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,然后用硬件或软件实现。

从IIR数字滤波器的实现来看,有直接型、级联型、并联型等基本网络结构。

其中直接Ⅱ型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元。

本文以二阶IIR滤波器的直接实现形式表示。

其系统函数H(z)可以表示为:
在编程时,可以将变量和系数都存在DARAM中,采用循环缓冲区方式寻址,共需开辟4个缓冲区,用来存放变量和系数。

二阶IIR滤波器的直接IIR 型差分方程为:
(3)
二、IIR数字滤波器在C54x上的设计与实现
1.IIR数字滤波器在TMS320VC5409 DSP上的实现流程
1.1根据指标确定滤波器的类型,设计出滤波器的参数;
1.2根据DSP的特点(字长、精度等)对参数进行取舍、量化,仿真;
1.3根据仿真结果对滤波器的结构、参数再次进行调整,直到满足要求为止;
1.4在DSP上用语言实现滤波器功能。

2.IIR数字滤波器在TMS320VC5409 DSP上的实现算法
从理论上说,可以用高阶IIR数字滤波器实现良好的滤波效果[2]。

但由于DSP本身有限字长和精度的因素,加上IIR滤波器在结构上存在反馈回路,是递归型的,再者高阶滤波器参数的动态范围很大。

这样一来造成两个后果:结果溢出和误差增大。

解决此问题的有效方法是把高阶IIR数字滤波器简化成几个2阶
滤波器来设计,即采用级联结构。

通过CCS的数据输入输出功能和RTDX功能,可以随时观察DSP结果和理论仿真结果之间的差异,及时发现数据的溢出和计算误差[3]。

滤波没有产生溢出现象且滤波效果满足设计要求。

采用间接寻址指向数据存储单元,主要指令为加法、乘法和循环实现,这些都可以通过MAC等指令直接实现[4]。

三、IIR滤波器性能仿真和实际测试
1.在CCS环境下实现IIR数字滤波器
在CCS环境中用汇编语言编写一个实现IIR数字滤波器的程序及链接器命令文件,最终通过CCS的图形显示工具观察输入信号和输出信号波形以及频谱的变换。

采用双线性变化法设计,主要技术指标如下:Fp=100Hz,Fst=300Hz,Rp=3dB,Rs=20dB,取样频率为1000Hz。

滤波器采用巴特沃思模拟低通滤波器设计,经计算可得:
2.结果分析
由MATLAB编程生成的IIR数字滤波器的输入数据。

频率分别为50赫兹和350赫兹的两个频率信号,经过此IIR滤波器后,频率为350赫兹的信号得到一定程度的压制,频率为50赫兹的信号被保留,基本上达到预期的滤波效果。

但因为滤波器的性能不是非常理想,因此引入一定的噪声(比如150Hz频段)。

输入、输出信号的1频谱图见图1。

本文介绍了一种基于C5409硬件平台的IIR数字滤波器实现方案。

IIR数字滤波器是针对采样率固定的系统设计的,更改系统或系统采样率改变时应重新设计。

用到的数据存储单元,程序开始时应对这些单元进行初始化。

如果要进行连续滤波,应保存上一次滤波的结果。

针对TI公司的TMS320VC5409 DSP,阐述了IIR数字滤波器的理论设计及在DSP上的实现过程。

根据其实现思路,可以很方便设计出符合要求的滤波器。

该方法具有较强的实用性。

参考文献
[1]彭启琮,管庆,李玉柏.DSP技术的发展与应用.北京:高等教育出版社,2012
[2]张伟雄,徐光辉,陈亮.DSP芯片的原理与开发应用.北京:电子工业出版社,2013
[3]彭启琮.TMS320VC54x实用教程.成都:电子科技大学出版社,2010
[4]刘顺兰,吴杰.数字信号处理.西安:西安电子科技大学出版社,2013。

相关文档
最新文档