课程设计DSP

更新时间:2024-03-24 15:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

太原理工大学现代科技学院 课程设计

DSP硬件电路设计基础 课程设计

设计名称 专业班级 学 号 姓 名 指导教师

太原理工大学现代科技学院 课程设计

……………………………………装………………………………………订…………………………………………线………………………………………专业班级 学号 姓名 成绩

目 录

第1章 绪论.

1.1设计背景 1.2设计要求 1.3设计思路简介

第2章 系统开发平台与环境

2.2 SEED-DEC2812开发实验箱

1.1 CCS开发环境

第3章 FIR滤波器设计过程

3.1 FIR滤波器设计总框图 3.2 FIR滤波器设计的原理 3.3 FIR滤波器的设计方法 第4章 系统软件设计.

4.1 程序流程图 4.2程序源代码

第5章 系统仿真

5.1仿真设置 5.2 仿真图

第6章 总结 参考文献

太原理工大学现代科技学院 课程设计

中 文 摘 要

数字信号处理即我们所说的DSP技术是一门涉及许多学科而又广泛应与于众多领域的新兴学科,具有快速实现各种数字信号算法的优点,发展十分迅速。在通信、数码产品、数字电视、工业控制、精密仪器乃至航空航天领域中都被应用,在移动通信中,DSP主要用于数字基带信号处理等。 数字信号处理利用计算机或专用设备,以数字形式对信号进行采样、变换、滤波、估值、增强、压缩、识别等处理,以得到人们需要的信号形式。 我本次设计的题目是FIR滤波器的程序设计,即利用TMS320C54X系列的DSP系统模拟仿真程序来达到滤波算法的处理作用,我们上课所学的调试环境等正是我这次设计最有利的工具,无论是课本上指令的意义还是环境中调试的步骤都让我得心应手,数字滤波器有两种类型:有限冲激响应滤波器(FIR),它是没有反馈回路的,也是无条件稳定系统,我所用的是给系统一个单位脉冲让滤波器来对其进行滤波称为我们所需要的信号波形。或者可以给系统一方波等让其成为我们需要的波形。这也是本次程序的目的之一。 FIR滤波器原理是基于数字信号处理,即大量的运算和算法是其根本,让其能以最少的运算量来达到我们理想的目标也是本次设计的一个难题,但我可以解决这个问题,因为FIR滤波器具有线性相位的特性,可以把其系数设计为对称的。那么对信号的滤波运算可以大大减少来提高效率和速率,这也是FIR滤波器的一大特点。所以说对于这次的任务有多种设计方案和算法。而我最中选择了系数对称的FIR滤波器算法,也就是节省时间的算法,它不仅量化误差小,而且简单易于实现。

关键词:FIR滤波器,数字信号处理,DSP,有限冲激响应 太原理工大学现代科技学院 课程设计

第1章 绪论

在信号处理中,滤波占有十分重要的地位。数字滤波是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,因为FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。 DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。 对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是FIR系统有自己突出的优点:①系统总是稳定的;②易实现线性相位;③允许设计多通带(阻带)滤波器。其中后两项是IIR系统不易实现的。

1.1设计背景

1.2设计要求

利用C语言在CCS环境中编写一个FIR滤波器程序,并能利用已设计好的滤波器对常用信号进行滤波处理。

1.3设计思路简介

在TMS320C54x系统开发环境CCS(Code Composer Studio)下对FIR滤波器的DSP实现原理进行讨论。利用C语言设计相应的滤波器,通过实验仿真,从输入信号和输出信号的时域和频域曲线可看出在DSP上实现的FIR滤波器能完成预定的滤波任务 第2章 系统开发平台与环境

1.1 CCS开发环境

CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。

太原理工大学现代科技学院 课程设计

CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如下图1.1所示的开发周期的所有阶段。 图1.1

设计概念性规划编程和编译创建工程文件、编写源代码和配置文件 2.2 SEED-DEC2812开发实验箱

SEED-DECxxxx系列嵌入式DSP开发板本着模块化、总线型、开放式、系列化的设计思想,采用统一的系统结构、模块结构和机械结构,以多种典型DSP处理器构成具有标准总线和相同物理尺寸的高性能嵌入式DSP开发板。

SEED-DEC2812 嵌入式DSP开发板原理框图如图1.2所示:

调试语法检查、探测点设置和日志保存等分析实时调试、统计和跟踪

图1.2

太原理工大学现代科技学院 课程设计

第3章 FIR滤波器设计过程

3.1 FIR滤波器设计总框图

FIR滤波器设计总框图如图3.1所示

开始产生输入数据初始化DSP读入新数据并存放到栈顶滤波处理保存滤波结果到输出单元待滤波的样本点数处理完成否是结束

图3.1 3.2 FIR滤波器设计的原理

太原理工大学现代科技学院 课程设计

设a i(i=0,1,2,…,N-1)为滤波器的冲激响应,输入信号为x(n),则FIR滤波器的输入输出关系为

FIR滤波器的结构如图3.2所示:

X(n)z?1X(n-1)z?1X(n-2)X(n-N+1)z?1z?1a0a1aN?2aN?1y(n)

图3.2

3.3 FIR滤波器的设计方法

循环缓冲算法:对于N级的FIR滤波器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本。每次输入新的样本时,一新样本改写滑窗中的最老的数据,而滑窗中的其他数据不需要移动。利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,环缓冲区地址首位相邻。下面,以N=5的FIR滤波器循环缓冲区为例,说明循环缓冲区中数据是如何寻址的。5级循环缓冲区的结构如图3.3所示,顶部为低地址。 数据存储器顶部x(n)x(n-1)x(n-2)x(n-3)底部x(n-4)数据存储器x(n)x(n-1)x(n-2)x(n-3)x(n+1)数据存储器x(n)x(n-1)x(n-2)x(n-2)x(n-1)

图3.3 循环缓冲区的结构 当第一次执行完之后,间接寻址的辅助寄存器指向x(n-4)。然后,从I/O口输入数据x(n+1),将原来存放

太原理工大学现代科技学院 课程设计

x(n-4)的数据存储单元改写为x(n+1)。接着,进行第二次乘法累加运算,,最后指向x(n-3)。然后从I/O口输入数据x(n+2) ,将原来存放 x(n-4)的数据存储器单元改写为x(n+2)。

第4章 系统软件设计

4.1 程序流程图

程序流程图如图4.1所示

太原理工大学现代科技学院 课程设计

初始化系统关中断初始化PIE中断初始化PIE中断矢量表初始化cputimer设置中断服务程序入口地址开中断设置CPU开中断fir滤波处理结束

图4.1 程序流程图

4.2程序源代码

4.2.1 FILTER.c代码: #include \ #include \

太原理工大学现代科技学院 课程设计

#include \ unsigned int DataLong=1024;

unsigned int i,j;

unsigned int k= 0;

unsigned short Ad_data[2048]; short Ad_data_signed[2048];

short filter_result[1024];

unsigned int convcount = 0;

volatile unsigned int adconvover =0;

interrupt void ISRTimer2(void);

interrupt void ad(void); void main(void) { /*初始化系统*/

InitSysCtrl(); /*关中断*/

DINT; IER = 0x0000;

IFR = 0x0000; /*初始化PIE中断*/

InitPieCtrl(); /*初始化PIE中断矢量表*/ InitPieVectTable();

//初始化cputimer

InitCpuTimers(); /*设置中断服务程序入口地址*/ EALLOW;

PieVectTable.TINT2 = &ISRTimer2;

PieVectTable.ADCINT = &ad; EDIS;

太原理工大学现代科技学院 课程设计

/*开中断*/ IER |= M_INT1; //ADC中断 EINT; ERTM;

/*设置CPU*/

DINT; ConfigCpuTimer(&CpuTimer2, 150, 22);

StartCpuTimer2();

/*开中断*/ IER |= M_INT14; EINT; InitAdc(); for(;;){

if (adconvover==1){

/*fir滤波处理*/ for(i=0;i

Ad_data_signed[i]=(short)(Ad_data[i]-0x5300);

fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,ROUND_FIR); adconvover=0;

}

}

} interrupt void ad(void) { IFR=0x0000; PieCtrl.PIEACK.all=0xffff; if(adconvover==0){ Ad_data[convcount] = AdcRegs.RESULT0;

convcount++; }

太原理工大学现代科技学院 课程设计

if (convcount==DataLong){

convcount=0; adconvover=1;//接满标志

}

} interrupt void ISRTimer2(void) { AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;

}

4.2.2 FIR_filter.c代码:

//const short x[]:输入信号的缓冲数组,short类型 //const short h[]:滤波器的系数数组,short类型

//short y[]:输出信号的缓冲数组,short类型

//n:滤波器长度 //m:输入信号的长度,即x[]的长度

//s:生成整型的滤波器系数时使用的移位数目 void fir_filter(const short x[],const short h[],short y[],int n,int m,int s) { int i,j; long y0;

long acc; _nassert(m>=16);

_nassert(n>=16);

for(j=0;j

acc=0; for(i=0;i

if(i+j>=m)

太原理工大学现代科技学院 课程设计

break; else { y0=(long)x[i+j]*(long)h[i]; acc=acc+y0; } } *y++=(short)(acc>>s); } } 第5章 系统仿真

5.1仿真设置

1.fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,ROUND_FIR)和adconvover=0处设置断点

2.在Graph Property Dialog中设置Start Address和Display Type如图5.1、图5.2、图5.3、图5.4

图 5.1 太原理工大学现代科技学院 课程设计

图5.2

图5.3 太原理工大学现代科技学院 课程设计

图5.4

3.设置实验板输入信号的参数,再运行程序得到仿真图。 5.2 仿真图

(1)标准矩形波,频率为300Hz,振幅为800mV。滤波前的波形如图5.5和图5.6,滤波后的波形如图5.7和图5.8。

图5.5

太原理工大学现代科技学院 课程设计

图5.6

图5.7

太原理工大学现代科技学院 课程设计

图5.8 (2)噪声三角波,频率为400Hz,振幅为800mV。滤波前的波形如图5.9和图5.10,滤波后的波形如图5.11和图5.12。

图5.9

图5.10 太原理工大学现代科技学院 课程设计

图5.11

图5.12 太原理工大学现代科技学院 课程设计

第6章 总结

FIR滤波器的设计是数字信号处理技术的基础,也是DSP芯片的重要组成部分。FIR滤波器性能的好坏直接影响着DSP的运行速度和精度,对现代电子技术的发展起决定性作用,FIR滤波器的设计在以后的一段相当长的时间里将持续主导DSP,而DSP随着电子技术的不断发展,应用领域愈来愈广泛。

这次课程设计实现了一个简单的FIR滤波器的设计,在罗老师的精心指导和帮助以及自己上网查找资料,较好的完成了课程设计的任务并达到了理想的目的。在这里我对罗老师表示感谢,感谢她的耐心和热心。

通过这次课程设计使我对DSP芯片有了更深一步的了解,也不断的强化了自己的基础知识。

太原理工大学现代科技学院 课程设计

参考文献

[1]程佩青.数字信号处理教程[M].北京:清华大学出版社,1999年

[2]孙宗瀛,谢鸿林.TMS320C5xDSP原理设计与应用[M].北京:清华大学出版社,2002年

[3]乔瑞萍,崔涛,张芳娟.TMS320C54xDSP原理及应用[M].西安:西安电子科技大学出版社,2005年 [4]张雄伟. DSP芯片的原理与开发应用(第三版)[M].北京:电子工业出版社,2003年 [5]郑红.TMS320C54XDSP应用系统设计[M]. 北京:北京航空航天大学出版社,2002年

本文来源:https://www.bwwdw.com/article/8u78.html

Top