文档介绍:成绩
学院
课程设计说明书(论文)
题目用DSP实现FIR滤波器
课程名称 DSP原理及应用
院系
专业
班级
学生姓名
学号
同组学生
设计地点
指导教师
设计起止实践:年月日至年月日
目录
课程设计题目…………………………………………………………………..3
课程设计目的…………………………………………………………………..3
实验仪器………………………………………………………………………….3
设计原理….………………………………………………………………………3
课程设计内容……………………………………………………………………5
设计步骤…………………………………………………………………………..5
设计小结………………………………………………………………………….11
参考文献………………………………………………………………………….11
一、课程设计名称:用DSP实现FIR滤波器(循环缓冲区法)
二、课程设计目的
掌握FIR滤波器的原理和设计方法。
掌握FIR滤波器的DSP实现方法。
三、实验仪器
PC兼容机一台;操作系统为Windows XP。
TMS320C54x实验箱一台,USB接口仿真器XDS510,实验线若干
示波器一台,低频信号发生器一台。
四、设计原理
AD1674与C5402的连接图
AD767引脚图
AD767是12位并行电压型D/A转换器。芯片引脚见图。用于将数字信号转换为模拟信号输出。它包括12位的D/A转换,片上输出放大器,最高3us的转换时间,±12V和±15V模拟电源,+5V数字电源。在与C5402的连接中,AD767的地址为0001H,采用双端输出:-5~+5V。连接见图。
AD767与C5402的连接图
五、设计内容
,按规定的算法进行处理,从而得到所期望的输出序列。FIR滤波器的差分方程为:
N-1
Y(n)=∑bix(n-i)
I=0
使用Matlab软件可以用来设计FIR滤波器。
B=fir1(n,Wn,Window);
其中n为滤波器阶数;Wn为滤波器截止频率;Window用来指定滤波器采用的窗函数类型。
,输入的样值x(n)和滤波系数bi必须合理存放,并正确初始化存储块和块指针。样值x(n)和滤波系数bi的存放可用线性缓冲区法或循环缓冲区法实现。
使用循环缓冲区实现FIR滤波器,样值x(n)和滤波系数bi存放在DARAM中,使用MAC指令完成双操作数的相乘和累加运算。
数据存储器系数表
Y(n)
X(n)
X(n-1)
X(n-2)
X(n-3)
X(n-4)
X(n-5)
X(n-6)
B0
B1
B2
B3
B4
B5
六、设计步骤
仿真器的仿真头连接实验箱JTAG口,USB街头与计算机连接,打开实验箱
电源,启动计算机,eposer Studio 。
由于设计要求滤波器阶数大于等于20,截止频率在2-4Khz范围内,个人选择设计26阶,截止频率为3Khz的滤波器。由公式Wn=2fs/fc得到Wn= 根据设计要求编辑mablab程序计算滤波器的系数值:
b=fir1(25,);
利用matlab产生的系数b的值
考虑到DSP芯片运算的准确性,把matlab产生的数据做如下处理:B=b*32768/10000
:
(1)创建新的工程文件
选择菜单“Project”的“New…”项。。
展开主窗口左侧工程管理窗口中“Project”的“Source File…”项,新建源程序文件,。编辑源程序问价内容:
.mmregs
.def start
.global TINT0_ISR
AD_ADDR .set 0x0000
DA_ADDR .set 0x0001
.data
table: .word -21*32768/10000
.word -25*32768/10000
.word -31*32768/10000
.word -30*32768/10000
.word -7*32768/10000
.word 53*32768/10000
.word 163*32768/10000
.word 324*32768/10000
.word 527*32768/10000
.word 749*32768/10000
.word 959*32