太原理工大学DSP课设报告.docx
- 文档编号:19167361
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:19
- 大小:708.43KB
太原理工大学DSP课设报告.docx
《太原理工大学DSP课设报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学DSP课设报告.docx(19页珍藏版)》请在冰豆网上搜索。
太原理工大学DSP课设报告
一、设计摘要
摘要:
DSP数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
DSP芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法用DSP芯片实现IIR数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。
IIR数字滤波器有其独特的优点,IIR数字滤波器单位响应为无限脉冲序列,IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
本课题主要应用MATLAB软件设计IIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境——CCS调试汇编程序。
利用MATLAB仿真得到的滤波器系数,编程实现IIR数字滤波器,得出滤波结果波形,并对结果进行分析与总结。
关键字:
DSPIIR滤波器编程
二、设计目的
(1)通过设计对DSP芯片有进一步的了解。
(2)掌握IIR滤波器的设计方法。
(3)培养一定的汇编及c语言能力。
三、设计原理
3.1IIR数字滤波器的理论分析
从IIR数字滤波器的实现来看,有直接型、级联型、并联型和格型等基本网络结构。
不同的结构形式会有不同的运算误差,其稳定性、运算速度、所占用的存储空间等也有所不同[3]。
其中直接Ⅱ型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元,是最常用的IIR数字滤波器结构之一。
IIR数字滤波器的设计方法有两类[4],一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,然后用硬件或软件实现;另一类是直接在频域或时域中进行设计,设计时需要作辅助工具。
对系统传递函数为
对应的差分方程为:
的IIR数字波滤器来说,设计的任务就是寻求一种因果关系和物理上可实现的系统传递函数使H(z)满足上述的关系,为此可这样使其频率响应能够满足所希望得到的频域指标。
3.2TMS320C5502的体系结构
TMS320VC5402处理器在本系列中处于先进水平。
它具有运算速度快,内部存储空间大,外部接口性能好等优点。
所以我选择了技术上比较先进,价格又较便宜的C5402作为硬件开发对象。
下面结合C5402的实际情况,介绍一下该芯片的体系结构。
C5402共有144个引脚,其中有20根地址线AO-A19,16根数据线DO-D15,4个外部可屏蔽引脚INTO#-INT3#和一个不可屏蔽中断引脚BIO#,剩下的引脚可以分成以下几类:
存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的IEEE1149.1标准JTAG口。
3.3IIR数字滤波器的设计流程
在设计滤波器时首先要有清晰的思路,因此流程图的设计至关重要。
本设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,对其流程进行了初步规划,如图1所示:
图1IIR数字滤波器设计流程
根据设计流程,通过DSP仿真软件编译出适合参数要求的汇编程序。
运用汇编语言进行程序编写使其具有更好的实时性,此外运用汇编语言编写更有助于以后的设计拓展。
利用TMS320C5402实现IIR的程序中应注意以下几点:
(1)数据存放要求。
因为采用MAC指令和循环寻址,所以输入数据和滤波器系数的存放要按照一定的要求。
数据块和系数块都要放在双寻址数据存储区。
(2)循环寻址的使用。
为了使用循环寻址,除了对数据的存放有要求外,先还要设置BK为块长N。
由于使用了循环寻址,数据和系数的指针在操作后以循环的方式增加1。
(3)数据的初始化。
输入数据块要初始化为全0。
这样在运算中不会对输入产生影响。
四、IIR数字滤波器的软件和硬件设计
4.1IIR数字滤波器的数据存储器设计
TMS320C54X定点DSP提供了单周期乘/累加指令MAC和循环寻址方式,使IIR数字滤波器每个样值的计算可以在一个周期内完成。
IIR数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。
在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样在计算中才能够准确取数据,实现乘加运算。
图2存储过程
4.2IIR滤波器的MATLAB辅助设计
对于脉冲响应不变法,它是将s域内的H(s)转换成z域内的H(z),但是在映射时,S域内不能一一对应到Z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。
基于此,本次设计在MATLAB的仿真中优先考虑应用双线性变换法。
IIR低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。
其仿真结果结果如图3所示:
图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.3V。
数字滤波系统的具体方案框图如图6所示:
图4数字滤波器系统方案框图
通常的设计中会采用SV供电并行的ADC(模数转换)和DAC(数模转换)芯片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将SV电平转换为3.3V的逻辑电平。
考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。
数模转换芯片采用的是TLV5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。
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)
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.1CCS仿真细节
CCS是一个开放的环境,可以通过设置不同的驱动程序完成对不同环境的支持。
CCSsetup配置程序就是用来定义DSP芯片和目标板类型的。
在第一次使用CCS之前必须首先运行CCSsetup配置程序。
在以后的使用中,若想改变CCS应用平台的类型,可以再次运行该配置程序来改变设置。
CCS软件集成了TI公司的Simulator和Emulatord的驱动程序,用户可以直接用TI的仿真器进行开发测试。
5.2IIR数字滤波的软件调试
在效果图中,上面波形为DSP实验箱产生的滤波前的效果图,下面波形为进行IIR滤波后的效果图。
从两图的比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。
在编写及调试的过程中主要遇到以下问题:
(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。
(2)编写程序需要对数据段、代码段、堆栈段进行设置。
要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。
(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。
5.3芯片选择
此设计中采用的是C5502DeviceSimulator芯片,IIR输入信号入口地址data_in,输出地址为out。
图4芯片选择
5.4创建项目
图5创建项目
5.5加载程序
图6加载程序
5.6程序
(1)IIR.asm
.global_iir,_init,_outdata
_iir
bsetfrct
sub#1,t0
movt0,mmap(csr)
addt0,ar0
movxar2,xdp
movar2,cdp
mov#0,ac0
rptcsr
macmz*ar0-,*cdp+,ac0
addt0,ar1
movxar3,xdp
movar3,cdp
rptcsr
macmz*ar1-,*cdp+,ac0
mar*ar1+
movhi(ac0),*ar1
movhi(ac0),t0
bclrfrct
ret
_init
sub#1,t0
movt0,mmap(csr)
mov#0,ac0
rptcsr
movac0,*ar0+
rptcsr
movac0,*ar1+
ret
_outdata
movt1,ac0
sub#2,ac0
movac0,mmap(csr)
addac0,ar0
rptcsr
delay*ar0-
mar*ar0+
movt0,*ar0
ret
图7汇编源程序
(2)IIR55.c
#include"math.h"
#definesignal_1_f500
#definesignal_2_f10000
#definesignal_sample_f25000
#definepi3.1415926
#defineIIRNUMBER_L2
#definebufer_L256
intN_L=IIRNUMBER_L;
intdata_in[bufer_L];
intout[bufer_L];
intx[IIRNUMBER_L+1];
inty[IIRNUMBER_L+1];
intk=0;
intbufer=bufer_L;
intfBn[IIRNUMBER_L]={0,0x634a};
intfAn[IIRNUMBER_L]={0xe5c,0xe5c};
externintiir(int*x,int*y,int*fAn,int*fBn,intN_L);
externintinit(int*,int*,int);
externintoutdata(int*,int,int);
voidinputwave();
voidmain()
{
intiirout;
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;
}
}
}
voidinputwave()
{
floatwt1;
floatwt2;
inti;
for(i=0;i<=bufer_L;i++)
{
wt1=2*pi*i*signal_1_f;
wt1=wt1/signal_sample_f;
wt2=2*pi*i*signal_2_f;
wt2=wt2/signal_sample_f;
data_in[i]=(cos(wt1)+cos(wt2))/2*32768;
}
}
图8c程序
(3)Ink.cmd
-stack0x0500
-sysstack0x0500
-heap0x1000
-c
-u_Reset
-lrts55.lib
MEMORY
{
PAGE0:
RAM(RWIX):
origin=0x000100,length=0x01ff00
ROM(RIX):
origin=0x020100,length=0x01ff00
VECS(RIX):
origin=0xffff00,length=0x000200
PAGE2:
IOPORT(RWI):
origin=0x000000,length=0x020000
}
SECTIONS
{
.text>ROMPAGE0
.data>ROMPAGE0
.bss>RAMPAGE0
.const>RAMPAGE0
.sysmem>RAMPAGE0
.stack>RAMPAGE0
.cio>RAMPAGE0
.sysstack>RAMPAGE0
.switch>RAMPAGE0
.cinit>RAMPAGE0
.pinit>RAMPAGE0
.vectors>VECSPAGE0
.ioport>IOPORTPAGE2
}
图9命令程序
5.7运行结果
图10运行结果
5.8更改图形参数
图11更改参数过程
5.9波形图
图12波形图
图13滤波前时域波形
图14滤波前频域波形
图15滤波后时域波形
图16滤波后频域波形
六、心得体会
参考文献
【1】汪春梅,孙洪波TMS320C55xDSP原理及应用.电子工业出版社.2011.6
【2】戴明桢.TMS320C54xDSP结构、原理及应用[M].北京航空航天大学出版社,2001,8.
【3】胡圣尧.DSP原理及应用[M].东南大学出版社,2008.7.
【4】清源科技.TMS320C54xDSP应用程序设计教程[M].机械工业出版社,2004,1.
【5】邹彦.DSP原理及应用[M].北京:
电子工业出版社,2005,1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 DSP 报告