人人范文网 范文大全

太原理工大学DSP课设报告

发布时间:2020-03-02 00:41:20 来源:范文大全 收藏本文 下载本文 手机版

一、设计摘要

摘要:

DSP数字信号处理(Digital Signal Proceing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法用DSP 芯片实现IIR 数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。IIR数字滤波器有其独特的优点,IIR数字滤波器单位响应为无限脉冲序列, IIR数字滤波器采用递归型结构,即结构上带有反馈环路。

本课题主要应用MATLAB软件设计IIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境——CCS调试汇编程序。利用MATLAB仿真得到的滤波器系数,编程实现IIR数字滤波器,得出滤波结果波形,并对结果进行分析与总结。

关键字:DSP

IIR滤波器

编程

二、设计目的

(1)通过设计对DSP芯片有进一步的了解。 (2)掌握IIR滤波器的设计方法。 (3)培养一定的汇编及c语言能力。

三、设计原理

3.1 IIR数字滤波器的理论分析

从IIR数字滤波器的实现来看,有直接型、级联型、并联型和格型等基本网络结构。不同的结构形式会有不同的运算误差,其稳定性、运算速度、所占用的存储空间等也有所不同。其中直接Ⅱ型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元,是最常用的IIR数字滤波器结构之一。IIR数字滤波器的设计方法有两类[4],一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,然后用硬件或软件实现;另一类是直接在频域或时域中进行设计,设计时需要作辅助工具。对系统传递函数为

1

[3]

H(z)bzrr0Nk0Mr

1akzk对应的差分方程为:

y(n)brx(nr)aky(nk)

r0k1MN的IIR数字波滤器来说,设计的任务就是寻求一种因果关系和物理上可实现的系统传递函数使H(z)满足上述的关系,为此可这样使其频率响应能够满足所希望得到的频域指标。

3.2 TMS320C5502的体系结构

TMS320VC5402处理器在本系列中处于先进水平。它具有运算速度快,内部存储空间大,外部接口性能好等优点。所以我选择了技术上比较先进,价格又较便宜的C5402作为硬件开发对象。下面结合C5402的实际情况,介绍一下该芯片的体系结构。C5402共有144个引脚,其中有20根地址线AO-A19,16根数据线DO-D15,4个外部可屏蔽引脚INTO#-INT3#和一个不可屏蔽中断引脚BIO#,剩下的引脚可以分成以下几类:存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的IEEE1149.1标准JTAG口。

3.3 IIR数字滤波器的设计流程

在设计滤波器时首先要有清晰的思路,因此流程图的设计至关重要。本设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,对其流程进行了初步规划,如图1所示:

2

开始系统初始化分配数据空间设置数据指针从指定端口读数据x(n)并从数据存储器读读取系数完成数据的乘加运算修改数据指针为下一次乘加运算做准备保存结果从指定端口输出结果图1 IIR数字滤波器设计流程

根据设计流程,通过DSP仿真软件编译出适合参数要求的汇编程序。运用汇编语言进行程序编写使其具有更好的实时性,此外运用汇编语言编写更有助于以后的设计拓展。

利用TMS320C5402实现IIR的程序中应注意以下几点:

(1)数据存放要求。因为采用MAC指令和循环寻址,所以输入数据和滤波器系数的存放要按照一定的要求。数据块和系数块都要放在双寻址数据存储区。 (2)循环寻址的使用。为了使用循环寻址,除了对数据的存放有要求外,先还要设置BK为块长N。由于使用了循环寻址,数据和系数的指针在操作后以循环的方式增加1。

(3)数据的初始化。输入数据块要初始化为全0。这样在运算中不会对输入产生影响。

四、IIR数字滤波器的软件和硬件设计

3 4.1 IIR数字滤波器的数据存储器设计

TMS320C54X定点DSP提供了单周期乘/累加指令MAC和循环寻址方式,使IIR数字滤波器每个样值的计算可以在一个周期内完成。IIR数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样在计算中才能够准确取数据,实现乘加运算。数据存储器X:AR2X0X1X2AR1COEF:数据存储器B2B1B0A2A1

图2 存储过程

4.2 IIR滤波器的MATLAB辅助设计

对于脉冲响应不变法,它是将s域内的H(s)转换成z域内的H(z),但是在映射时,S域内不能一一对应到Z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。基于此,本次设计在MATLAB的仿真中优先考虑应用双线性变换法。

IIR低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。其仿真结果结果如图3所示:

4

图3 利用matlab仿真图

根据以上仿真结果及相应的系数和N值,在相关技术指标不变的情况下,我选用了ChebyshevI型双线性变换法。

4.3基于DSP的IIR数字滤波器的硬件设计 硬件设计总体方案:

TI公司的2000系列和5000系列的DSP都通用型的芯片,考虑到2000系列的DSP多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP: TMS320VC5402。该DSP具有较快的运算速度:运算速度最快可达532MIPS;采用了低功耗设计方式:内核电压为1.8V,I/O电压为3.3 V。数字滤波系统的具体方案框图如图6所示:

ADCTMS320VC5402FLASHSRAMJTAG时钟电源DAC图4数字滤波器系统方案框图

通常的设计中会采用SV供电并行的ADC(模数转换)和DAC(数模转换)芯

5 片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将SV电平转换为3.3V的逻辑电平。考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV 1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是TLV 5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。JTGA口供DSP芯片下载程序调试。

PMST=FFA0H, ST1=2300H,; SWWSR=0, OVM=1, FRCT=1, SXM=1STM #X, AR1STM #Y,AR2 STM #d,AR3 ; RPT A,#5 ;初始化d(n),d(n-1),d(n-2)=0 STL A,*AR3+ STM #2,AR0 ;初始化Arn是地址偏移量为常数 INLOOP:STM #d+5,AR3 ; STM #table,AR4 ;IIR的系数A2,A1,B2,B1,B0 PORTR 100H,*AR1 ;从端口读入数据

LD *AR1,7,ASTM #N-1,BRC ;计算IIR的节数N RPT ELOOP LOOP:MAC *AR4+,*AR3-,A ;input+d(n-2)*A2 MAC*AR4,*AR3,A-;input+d(n-2)*A2+d(n-1)*A1 MAC*AR4+,*AR3-,A STH A,*AR3+0;d(n)=input+d(n-2)*A2+d(n-1)*A1 MPY *AR4+,*AR3-,A ;d(n-2)*B2 MAC*AR4+,*AR3,A;d(n-2)*B2+d(n-1)*B1 DELAY*AR3-;d(n-2)=d(n-1)

6 MAC*AR4+,*AR3,A;d(n-2)*B2+d(n-1)*B1+d(n)*B0 DELAY*AR3-;d(n-1)=d(n) ELOOP:STHA,*AR2;output=d(n-2)*B2+d(n-1)*B1+d(n)*B0 PORTW *AR2,200h ;将结果写入文件中BINLOOP

END

五、仿真分析及结果

5.1 CCS仿真细节

CCS是一个开放的环境,可以通过设置不同的驱动程序完成对不同环境的支持。CCS setup 配置程序就是用来定义DSP芯片和目标板类型的。在第一次使用CCS之前必须首先运行CCS setup 配置程序。在以后的使用中,若想改变CCS应用平台的类型,可以再次运行该配置程序来改变设置。CCS软件集成了TI公司的Simulator和Emulatord 的驱动程序,用户可以直接用TI的仿真器进行开发测试。

5.2 IIR数字滤波的软件调试

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

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

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

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

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

5.3 芯片选择

此设计中采用的是C5502 Device Simulator芯片,IIR输入信号入口地址data_in,输出地址为out。

7

图4 芯片选择

5.4创建项目

图5 创建项目

5.5加载程序

图6 加载程序

8 5.6程序

(1)IIR.asm .global _iir,_init,_outdata _iir

bset frct

sub #1,t0

mov t0,mmap(csr) add t0,ar0 mov xar2,xdp mov ar2,cdp mov #0,ac0 rpt csr macmz *ar0-,*cdp+,ac0 add t0,ar1 mov xar3,xdp mov ar3,cdp rpt csr macmz *ar1-,*cdp+,ac0 mar *ar1+ mov hi(ac0),*ar1 mov hi(ac0),t0 bclr frct ret _init

sub #1,t0 mov t0,mmap(csr) mov #0,ac0 rpt csr mov ac0,*ar0+ rpt csr mov ac0,*ar1+ ret _outdata

mov t1,ac0 sub #2,ac0 mov ac0,mmap(csr) add ac0,ar0 rpt csr delay *ar0- mar *ar0+ mov t0,*ar0 ret

9

图7 汇编源程序

(2)IIR55.c #include \"math.h\" #define signal_1_f 500 #define signal_2_f 10000 #define signal_sample_f 25000 #define pi 3.1415926 #define IIRNUMBER_L 2 #define bufer_L 256 int N_L=IIRNUMBER_L; int data_in[bufer_L]; int out[bufer_L] ; int x[IIRNUMBER_L+1]; int y[IIRNUMBER_L+1]; int k=0; int bufer=bufer_L; int fBn[IIRNUMBER_L]={0,0x634a}; int fAn[IIRNUMBER_L]={0xe5c,0xe5c}; extern int iir(int *x,int *y,int *fAn,int *fBn,int N_L); extern int init(int *,int *,int); extern int outdata(int *,int,int); void inputwave(); void main() { int iirout;

10 inputwave(); init(x,y,N_L); while(1) { x[0]=data_in[k]; iirout=iir(x,y,fAn,fBn,N_L); outdata(out,iirout,bufer); k++; if(k>=bufer_L) { k=0; } } } void inputwave() { float wt1; float wt2; int i; for(i=0;i

图8 c程序

(3)Ink.cmd -stack 0x0500

11 -sytack 0x0500 -heap 0x1000 -c -u _Reset -l rts55.lib MEMORY { PAGE 0:

RAM(RWIX): origin=0x000100,

length=0x01ff00

ROM(RIX): origin=0x020100,

length=0x01ff00

VECS(RIX): origin=0xffff00,

length=0x000200 PAGE 2:

IOPORT(RWI):origin=0x000000, length=0x020000 } SECTIONS {

.text >ROM PAGE 0

.data >ROM PAGE 0

.b >RAM PAGE 0

.const >RAM PAGE 0

.sysmem >RAM PAGE 0

.stack >RAM PAGE 0

.cio

>RAM PAGE 0

.sytack >RAM PAGE 0

.switch >RAM PAGE 0

.cinit >RAM PAGE 0

.pinit >RAM PAGE 0

.vectors >VECS PAGE 0

.ioport >IOPORT PAGE 2

}

图9 命令程序

12 5.7运行结果

图10 运行结果

5.8更改图形参数

图11 更改参数过程

13 5.9波形图

图12波形图

图13 滤波前时域波形

14

图14滤波前频域波形

图15 滤波后时域波形

15

图16 滤波后频域波形

六、心得体会

参考文献

【1】汪春梅,孙洪波TMS320C55x DSP原理及应用.电子工业出版社.2011.6 【2】 戴明桢.TMS320C54xDSP结构、原理及应用[M].北京航空航天大学出版社,2001,8.【3】 胡圣尧.DSP原理及应用[M].东南大学出版社,2008.7.【4】清源科技.TMS320C54xDSP应用程序设计教程[M].机械工业出版社,2004,1.【5】邹彦.DSP原理及应用[M].北京:电子工业出版社,2005,1.

16

述职报告 太原理工大学

太原理工大学消防安全调研报告

太原理工大学金工实习报告

太原理工大学环境监测实习报告

太原理工大学学生会工作计划的报告

太原理工大学金工实习报告总结

dsp报告

太原理工大学课程教学大纲

太原理工大学社会实践方案

太原理工大学毕业论文要求

太原理工大学DSP课设报告
《太原理工大学DSP课设报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档