基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx

上传人:b****3 文档编号:6496212 上传时间:2023-05-06 格式:DOCX 页数:13 大小:177.49KB
下载 相关 举报
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第1页
第1页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第2页
第2页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第3页
第3页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第4页
第4页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第5页
第5页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第6页
第6页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第7页
第7页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第8页
第8页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第9页
第9页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第10页
第10页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第11页
第11页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第12页
第12页 / 共13页
基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx

《基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx(13页珍藏版)》请在冰点文库上搜索。

基于TMS320VC5402的FIR数字滤波器设计及实现Word文档下载推荐.docx

设计题目

基于TMS320V5402的FIR数字滤波器的设计与实现

FIR数字滤波器:

CCS的开发环境Matlab的设计;

DSP实现;

定点数的定标;

滤波效果测试;

A/D转换;

⑴绘制系统框图;

⑵包括电源设计﹑复位电路设计﹑时钟电流数设计﹑存储器设计﹑A/D转换设计;

⑶绘出所设计的FIR低通滤波器的技术指标,用Matlab求解滤波器的参数并仿真;

⑷绘出程序流程图,编写程序,在CCS中完成仿真;

⑸参考文献论文格式规范。

设计工

5700字左右图纸3张

14﹑15周熟悉题目查阅资料,16周提出设计并在实验室做实验和仿真,17周总结论文。

[1]张雄伟,陈亮,徐光辉.DSP芯片的原理与开发应用(第3版)[M].北京:

电子工业出版社,2003.

[2]乔瑞萍,崔涛,张芳娟.TMS320C54x原理及应用[M].西安:

西安电子科技大学出版社,2005.

[3]刘益成.TMS320C54xDSP应用程序设计与开发[M].北京:

北京航空航天大学出版社,2002.

[4]张勇,曾炽祥,周好斌.TMS320C5000系列DSP汇编语言程序设计[M].西安:

西安电子科技大学出版社,2004.

[5]卢山,田野,郭黎利.利用DSP技术实现FIR滤波器[J].应用科技,2002,29(11):

19-21.

指导教师签字

2010年6月23日

盛志学号:

K030741114专业(班级):

课程设计题目:

基于TMS320VC5402的FIR数字滤波器设计及实现

指导教师评语:

成绩:

年月日

信息工程系课程设计成绩评定表

摘 要:

数字滤波器的本质是按事先设计好的程序,将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,从而改变信号的形式和内容,以达到对信号加工或滤波的目的。

简述了FIR数字滤波器的特点,以及其在DSP上实现的原理.基于TMS320C5402芯片的数字信号处理功能,通过使用已设计的FIR滤波器系数,运用MAC指令、循环缓冲寄存器、块循环寄存器对一个混合信号进行带通滤波处理.实验结果表明,所仿真的FIR滤波器能实现滤波功能.

关键词:

DSP;

FIR;

数字滤波器

Abstract:

Figuresfilterisinaccordancewiththedesignprocess,agroupofthenumberofentriesinthesequenceofarithmeticandconvertedtoanothergroup,outputfigures,thussignaltheformatandcontenttoreachtosignalortheobjectofthefiltering。

ThispaperintroducesthefeaturesofdigitalFIRfilteranditsimplementationonDSPbasedontheDSPfunctionsofTMS320C5402chip.ThepaperemploysMACcommand,circularbufferregister,andblockcircularregistertofilterthecompositesignalbymeansofthecoefficientsofFIRfiltersdesignedbyauthors.TheresultofexperimentsshowsthattheFIRfiltercanrealizethefilteringtask.

Keywords:

DSP;

Digitalfilter

目录

1FIR滤波器的基本结构及特点1

2FIR滤波器的DSP实现原理2

3FIR滤波器设计实例3

3.1模拟输入数据的生成3

3.2DSP初始化程序3

3.3滤波系数以及输入数据的调入4

3.4滤波子程序5

3.5实验结果5

4总结6

参考文献7

1 FIR滤波器的基本结构及特点

有限冲激响应(FIR)滤波器的基本结构是一个分节的延时线,把每一节的输出加权累加,得到滤波器

的输出.数学上表示为

y(n)=Σ

N-1

n=0

h(n)x(n-m),  (0≤n≤N-1)

(1)

(1)式进行Z变换,整理后可得出FIR滤波器的传递函数为

H(z)=Σ

h(n)z-n,  (0≤n≤N-1)

(2)

(2)式可知FIR滤波器的一般结构如图1所示.

图1 FIR数字滤波器直接实现形式

2 FIR滤波器的DSP实现原理

(1)式可知,FIR滤波器的冲激响应为h(0),h

(1),⋯,h(N-1).x(n)表示滤波器在n时刻的输入,则n时刻的输出为

y(n)=h(0)x(n)+h

(1)x(n-1)+⋯+h(N-1)x[n-(N-1)],

这是一个乘、加的过程,可以使用DSP中的MAC指令实现该运算.图2说明了使用循环寻址实现FIR滤波器的方法.为了能正确使用循环寻址,必须先初始化BK,块长为N.同时,数据缓冲区和冲激响应(FIR

滤波器的系数)的开始地址必须是大于N的2的__________最小幂的倍数.例如,当N=11时,大于N的最小2的幂

为16,则数据缓冲区的第一位地址应该是16的倍数,因此数据缓冲区起始地址的最低4位必须是0

.

图2 FIR滤波器存储器里的数据存储方式

在图2中,滤波系数指针初始化时指向h(N-1),经过一次FIR滤波计算后,在循环寻址的作用下,仍然指向h(N-1).而数据缓冲区指针指向的是需要更新的数据,如x(n).在写入新数据并完成FIR运算后,该指针指向x(n-(N-1)),所以,使用循环寻址可以方便地完成滤波窗口数据的自动更新.

3 FIR滤波器设计实例

给定FIR数字带通滤波器的技术指标为:

2个通带截止频率分别为4kHz和6kHz,2个阻带截止频率

分别为3kHz和7kHz,采样频率均为25kHz.输入为一个混合信号

f=[cos(2000πt)+cos(10000πt)+cos(20000πt)]/6,

利用Matlab设计FIR带通滤波器的系数,将得到的滤波器系数乘以32768(即215)后舍尾取整可得DSP

中滤波器系数列表.用.word汇编命令将各滤波器系数直接输入到DSP程序中;

模拟输入数据由C语言程

序实现,然后用.copy命令将C语言程序生成的数据文件firinput拷贝到DSP程序中.DSP程序实现读入

数据、滤波、显示波形等方面的任务.完成FIR滤波器的程序框图如图3所示,可知FIR滤波器的DSP实

现主要由以下4方面的内容组成.

3.1 模拟输入数据的生成 用C语言程序生成输入数据,通过.copy汇编命令将生成的数据文件拷贝到

汇编程序中,作为FIR滤波器的输入数据.C语言程序运行后所生成的数据文件名为firinput,生成firinput

数据文件的C语言程序如下所示:

#include"

stdio.h"

math.h"

main()

  {

    inti;

    doublef[256];

    FILEfp;

    if((fp=fopen("

e:

\\firinput"

"

wt"

))==NULL)

      {

        printf("

cantopenfile!

\n"

);

          }

    for(i=0;

i<

=255;

i++)

    {

      f[i]=(cos(233.141592653i31000/25000)+cos(233.141592653i35000/25000)+cos(233.141592653i310000/25000))/6;

      fprintf(fp,"

  .word   %ld\n"

(long)(f[i]332768));

      }

    fclose(fp);

3.2 DSP初始化程序 DSP初始化程序包括了对堆栈指针(SP)、软件等待状态寄存器(SWWSR)、中断寄存器(IFR)、中断屏蔽寄存器(IMR)以及处理器工作状态寄存器(PMST)的初始化;

另外还对各变量赋值,具体的程序如下:

  .def_c_int00

  .mmregs

  swcr      .set     2bh

  t_ar2      .set     066h

  t_ar3      .set     067h

  out_wave_buf .set    0d00h

  data_in   .set     0f00h

  N     .set   51

  fir_coef_buf  .set    100h

  fir_data   .set     200h

   .text

  rs     b_c_int00

  _c_int00:

    stm#2020h,pmst

    ssbxintm

    ssbxsxm

    ssbxfrct

    stm #10h,26h

    stm #10h,36h

    stm #0ffh,sp

    ld#0,dp

    stm #0ffffh,ifr

    stm #20h,imr

    stm #02492h,swwsr

    stm #0,swcr

保存滤波结果输出单元

图3循环寻址的方法实现FIR数字滤波程序框

可看出,FIR滤波器的系数列表将存在100h开始的单元中,输入数据将存在200h开始的单元中,而输出数据将存在0d00h开始的单元中.

3.3 滤波系数以及输入数据的调入 

由于滤波器系数一开始是存在程序存储器中,输入数据则是存在程序外的文件中,程序对这2组数据进行处理时,需要把两者都调到数据存储器中,具体实现程序如下:

  stm #fir_data,ar6

  rpt #255

  mvpd #input,ar6+

  stm #fir_coef_buf,ar6

  rpt #N-1

  mvpdfir_coef,ar6+

  stm #fir_coef_buf,t_ar2

  stm #fir_data,t_ar3

这段程序实现的是把输入数据调到以200h开始的单元,而把滤波系数调到从100h开始的单元.

3.4 滤波子程序 一次滤波的过程实质上就是对2组数进行有规律的乘加计算,具体程序如下:

  mvdm  #t_ar2,ar2;

将起始滤波系数地址100h赋给ar2

  mvdm  #t_ar3,ar5;

将起始输入数据地址200h赋给ar5

  stm  #data_in,ar3;

ar3=0f00h

  stm  #255,brc;

定义块循环次数

  rptbdloop-1;

定义块循环结束地址

  stm  #N,bk;

定义循环缓冲器大小

  ld  ar5+,a;

将新数据读到累加器a中

  stl  a,ar3+%;

将新数据读入栈顶

  rptz  a,#(N-1);

定义循环次数,之前先将a累加器清0

  mac  ar2+0%,ar3+0%,a;

a=ar2ar3+a,每完成一次计算ar2、ar3

指针所对应地址+1

  sth a,3ar6+;

将计算结果保存输出loop

这个程序段将重复执行256次,从而实现对于数据的读入、处理、输出等功能.

3.5 实验结果 由链接器配置文件以及实验程序可知,滤波前的信号在从数据存储器的200h开始的256个字节中,输入数据为频率为1kHz,5kHz以及10kHz正弦信号的合成信号,采样频率为25kHz,采样点数为256,对其前128个数据进行观察.由于FIR数字带通滤波器通带截止频率分别为4kHz和6kHz,阻带截止频率分别为3kHz和7kHz,则混合信号通过带通滤波器后只会保留下5kHz的正弦信号.原输入信号时域波形及该信号的频谱分别如图4、图5所示.由链接器命令文件可知,滤波后的信号存放在数据存储器的从0d00h开始的256个字节中.

图4 输入信号时域波形        图5 输入信号的频谱图

滤波后信号的时域图和频谱图分别如图6、图7所示.对比上面CCS下所显示的滤波前和滤波后信号的时域和频谱图可以看出:

由频率分别为1kHz,5kHz和10kHz的3个正弦信号组成的混合信号,经过FIR带通滤波后,相对应频率的信号被保留,其余2个信号得到压制,基本上达到了预期的滤波效果.改变程序中的滤波器系数,即可实现不同类型的滤波器.

图6 带通滤波后信号的时域波形         图7 带通滤波后信号的频谱图

4 总结

本文介绍了FIR数字滤波器在DSP上采用循环寻址的方式的实现,并且在实验DES5402PP2U进行仿真,实验结果表明,所设计的结果基本达到要求.本文论述了TMS320VC5402芯片实现FIR滤波器的技术。

FIRS指令充分利用了滤波器系数的对称性。

陈发次数为用MAC指令的一半,大大减少了运算量,提高了滤波效率。

并且需要的滤波器系数存储大小也只有MAC令时的一半,节约了存储空间。

同时,还获得了一个线性相位的滤波器。

在实际应用时,只需要改变滤波器的抽头系数,就能灵活设置FIR数字滤波器的中心频率、带宽等滤波参数。

实践证明,在中频数字化接收机中,TMS320VC5402配合数字下变频器用来完成基带信号的解调滤波运算,如AM解调时的直流电平恢复滤波,FM解调时的频偏滤波等,均达到了理想的数字滤波处理效果。

参考文献:

[6]文玮玮,董金明.数字滤波器在定点DSP上的实现[J].遥测遥控,2001,23

(1):

36-41.

[7]孙克梅,刘洋.数字滤波器在DSP上的实现[J].沈阳航空工业学院学报,2005,22(3):

53-54.

[8]周金治.基于Matlab与DSP的语音信号FIR滤波[J].兵工自动化,2005,24(6):

66-67.

[9]张伟利,朱煜.FIR滤波器在TMS320C5402中的实现[J].微处理机,2005

(2):

4-6.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2