DSP答辩论文.docx
- 文档编号:29903418
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:16
- 大小:246.39KB
DSP答辩论文.docx
《DSP答辩论文.docx》由会员分享,可在线阅读,更多相关《DSP答辩论文.docx(16页珍藏版)》请在冰豆网上搜索。
DSP答辩论文
*****大学****学院
本科生课程设计
课程名称:
dsp原理及应用
题目:
FIR数字滤波器应用
专业班级:
08电信
学生姓名:
*******
学生学号:
*********
日期:
2011.6.17
指导教师:
*******
*******教务部印制
摘要
数字信号处理器,也称DSP芯片,是针对数字信号处理需要而设计的一种具有特殊结构的处理器。
它是现代电子技术的、相结合的产物。
目前的DSP芯片以其强大的数据处理功能在通信和其他信号处理领域得到广泛注意并已成为开发应用的热点技术。
DSP芯片是一种特别适合于进行数字信号处理运算的微处理器。
主要应用是实时快速的实现各种数字信号处理算法,如卷积及各种变换等。
其中利用DSP来实现数字滤波器就是很重要的一种应用,本文深入研究基于美国德州仪器公司(TI)TMS320C54XXDSP芯片的滤波器系统软件实现方法,用窗口设计法实现FIR滤波器。
关键词:
DSP;TMS320C5410;FIR滤波器;自适应滤波器
Abstract
Digitalsignalprocessor,alsoknownasDSPchips,digitalsignalprocessingrequiredforthedesignofaspecialstructureoftheprocessor.Itisamodernelectronictechnology,theproductofthecombination.ThecurrentDSPchipwithitspowerfuldataprocessingcapabilitiesintheareasofcommunicationsandothersignalprocessinghasbecomewidespreadattentionanddevelopmentandapplicationofahottechnology.DSPchipisparticularlysuitablefordigitalsignalprocessingalgorithmsofthemicroprocessor.Mainapplicationistoachieveavarietyofreal-timefastdigitalsignalprocessingalgorithmssuchasconvolutionandavarietyoftransformation.OneadvantageoftheDSPimplementationofdigitalfiltersisaveryimportantapplicationofthisin-depthresearchisbasedonTexasInstruments(TI)TMS320C54XXDSPchipfiltersystemsoftwareimplementation,withthewindowdesignmethodofFIRfilter.
Keywords:
DSP;TMS320C5410;FIRfilter;adaptivefilter
1引言
数字滤波器在数字通信、语音图象处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。
相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。
和IIR滤波器相比,FIR滤波器可以得到严格的线性相位。
而且FIR滤波器可以用非递归方法实现,有限精度的计算不会产生振荡,同时由于量化舍入以及系数的不准确所引起的误差的影响比IIR滤波器要小得多。
再者FIR滤波器可采用FFT算法,在相同阶数下,运算速度可以快得多。
1.1研究背景
数字滤波器是DSP最基本的应用之一。
在系统设计中,滤波器的好坏将直接影响系统的性能。
使用DSP进行数字信号处理可以从噪声中提取信号,即对一个具有噪声和信号的混合源进行采样,然后经过数字滤波器来滤除噪声,从而提取有用信号。
用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受外界影响等优点外,还具有灵活性好的特点,因而可通过可编程DSP芯片来实现数字滤波器的特性。
1.2研究目的
通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
通过使用汇编(或者C)语言编写具有完整功能的FIR系统,使学生加深对所学知识的理解,进一步巩固汇编(或者C)语言讲法规则。
学会编制结构清晰、风格良好、数据结构适当的汇编(或者C)语言程序,从而具备解决综合性实际问题的能力。
1.3研究意义
数字滤波器分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR。
FIR滤波器属于经典滤波器,优点就是不存在系统极点,FIR滤波器是绝对的稳定的系统,FIR滤波器还确保了线性相位,在信号处理中占有极其重要的地位。
数字滤波器一直以来就是数字信号处理器DSP最广为认知的应用,FIR滤波器的单位响应b(n)为有限长序列,若b(n)为实数,且满足偶对称:
b(n)=b(N-1-n)的条件,称为对称FIR滤波器。
系数对称FIR滤波器在数字信号处理中应用十分广泛,常用于相位失真要求较高的场合。
如:
通信系统:
调制解调器综合业务数据网;希尔伯特变换器:
要求输入输出信号正交;高保真音响系统音乐的相位失真必须减到最小,尽可能逼真地重现原来的声音等。
2设计方案简述
2.1系统方案设计流程图
图2.1系统方案设计流程图
2.2设计原理
数字滤波器的设计问题就是寻找一组系数ai和bi,使得其性能在某种意义上逼近所要求的特性。
如果在s平面上去逼近,就得到模拟滤波器,如果在z平面上去逼近,则得到数字滤波器。
数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。
一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,
应满足常系数线性差分方程:
(2.3.1)
x(n)为输入序列,y(n)为输出序列,ai、bi为滤波器系数,N为滤波器的阶数。
2.2.1FIR滤波器的基本结构
在式2.1.1中,若所有的ai均为0,则得FIR滤波器的差分方程:
(2.3.2)
对式(2.3.1)进行z变换,可得FIR滤波器的传递函数:
(2.3.4)
由此可得到FIR滤波器的结构如图1所示。
图2.3.1FIR滤波器的结构如图
FIR滤波器的单位冲击响应h(n)是一个有限长序列。
若h(n)为实数,且满足偶对称或奇对称的条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n),则FIR滤波器具有线性相位特性。
3.FIR滤波器的详细设计
3.1方案选择
在设计数字滤波器时"通常采用MATLAB来进行辅助设计和仿真"用MATLAB设计FIR数字滤波器的方法有很多种!
限于篇幅!
这里只介绍比较常用的窗函数设计方法"最优化设计法及滤波器设计与分析工具FDATOOL设计法.
(1)窗函数设计法
窗函数法的设计核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)根据给定的滤波器技术指标,选择滤波器长度N和窗函数w(n)使其具有最窄宽度的主瓣和最小的旁瓣。
工程中常用的窗函数共有6种,即矩形窗"巴特利特窗"汉宁窗"汉明窗"布莱克曼窗和凯塞窗#以基于窗函数设计法的FIR1和FIR2函数命令可以方便地得到滤波器的系数,并可以通过使用freqz()和plot()函数绘制滤波器的幅频响应和相频响应。
(2)最优化设计法
MATLAB中的remez函数可采用Park-McClenllan算法设计线性相位FIR滤波器,这种滤波器使期望频率响应与实际频率响应之间的最大误差最小,使其频率响应呈现出等波纹特性,因此有时也称为等波纹滤波器。
这种方法的缺点是无法直接设定滤波器阻带衰减参数,只能通过调整参数进行多次试验来得到所需的滤波器。
(3)FDATool设计法
FDATool是MATLAB信号处理工具箱里专用的滤波器设计与分析工具。
FDATool界面为滤波器设计提供了一个交互式的设计环境,用户可以根据对幅值和零极点图的设置,设计几乎所有基本的常规滤波器。
采用FDATool设计法是其界面的上半部分为特性区,用来显示滤波器的各种特性;下半部分为参数设定区,用来设定滤波器的各种参数,包括滤波器的类型"设计方法"阶数"频率设定等。
通过对比以上3种方法,就会发现利用窗函数设计滤波器更为直观和方便。
本文便是利用这种方法首先设计出FIR滤波器的系数,然后根据其结果再在DSP上实现。
3.2低通滤波器的MATLAB实现
用窗函数法设计FIR低通滤波器,其技术指标如下:
kHz,
kHz,
kHz,通带最大衰减
,阻带最小衰减
。
将其换算成数字域的性能指标如下:
通带截止频率
,通带最大衰减
;阻带截止频率
,阻带最小衰减
。
根据窗函数法的设计原则,海明窗(hamming)可提供大于50dB的衰减。
要求滤波器的过渡带为:
利用海明窗设计的滤波器的过渡带
,所以低通滤波器单位脉冲响应的长度为:
,取N=101。
通过FIR1函数设计出滤波器的单位冲激响应序列,用它来作为在下一章中DSP设计程序中的系数。
(a)幅度响应
(b)相位响应
图3.2.1hamming窗滤波器的幅度响应与相位响应
3.3FIR滤波器的DSP实现
3.3.1汇编语言设计
所选取的N=101,滤波器的算法为y(n)=x(n)+x(n-1)+x(n-2)+•••+x(n-100)根据我们所选择使用的循环缓冲区法可以编写得到FIR滤波器的源程序如下:
.title"fir.asm"
.mmregs
.defstart
.bssyn,1
xn.usect"xn",101
hn.usect"hn",101
indata.usect"indata",300
outdata.usect"outdata",256
.data
fir_coff:
.word-8*32768/10000,-32*32768/10000
.word16*32768/10000,56*32768/10000
.word36*32768/10000,-89*32768/10000
.word-77*32768/10000,92*32768/10000
.word188*32768/10000,-53*32768/10000
.word-289*32768/10000,-76*32768/10000
.word423*32768/10000,322*32768/10000
.word-531*32768/10000,-851*32768/10000
.word595*32768/10000,3113*32768/10000
.word4298*32768/10000
.word3113*32768/10000,595*32768/10000
.word-851*32768/10000,-531*32768/10000
.word322*32768/10000,423*32768/10000
.word-76*32768/10000,-289*32768/10000
.word-53*32768/10000,188*32768/10000
.word92*32768/10000,-77*32768/10000
.word-89*32768/10000,36*32768/10000
.word56*32768/10000,16*32768/10000
.word-32*32768/10000,-8*32768/10000
start:
ssbxfrct;使用小数运算
stm#hn,ar1;系数首地址
rpt#101;将系数移入循
mvpdfir_coff,*ar1+;环缓冲区
stm#-1,ar0
stm#outdata,ar5
stm#indata,ar4
stm#xn+101,ar2
rpt#101;将输入数据移入
mvdd*ar4+,*ar2+0%;循环缓冲区
stm#xn+101,ar2;指向第一个输入
stm#hn+101,ar3
stm#101,bk;缓冲区大小37
stm#255,brc;块重复256次
stm#-1,ar0
rptbloop-1;块程序重复大小
rptza,#101;计算一个输出
mac*ar2+0%,*ar3+0%,a
stha,*(yn);保存输出
mvkd*(yn),*ar5+
mvdd*ar4+,*ar2+0%;读进一个输入
loop:
nop
bloop
.end
3.3.2具体的操作步骤
(1)打开FDATOOL,根据滤波要求设置滤波器的类型、通带截止频率、指定阶数、采样频率等。
设置完设计参数后再单击DesignFilter按钮,生成滤波器系数。
(2)把生成的滤波器系数传到目标DSP。
选择菜单Targets->ExporttoCodeComposerStudio(tm)IDE,打开ExporttoCHeaderFile对话框,选择Cheaderfile,然后指定变量名(滤波器阶数和系数向量),输出数据类型可以选择浮点型或32b,16b整型等,再根据自己安装选择目标板板号和处理器号,单击OK,保存该头文件,同时需指定文件名(filtercoeff.h)和路径(保存在c:
\ti\myprojects\fir工程中)。
(3)修改CCS汇编程序,删除掉数据前的所有文字,在其开头加上.data,第二行加上coeff.word,在每行的前面都加上.word,并且把每行的最后的逗号去除掉。
(4)编译汇编程序,若有错误,则根据错误提示进行修改;若没有错误,则继续往下执行。
(5)加载初始化DATA数据。
运行程序,查看输入输出的波形,修改相应的参数进行调试
4实验结果及分析
4.1实验步骤与内容
MATLAB辅助DSP实现FIR,其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工具(FDATOOL),根据指定的滤波器性能快速设计一个FIR,再把滤波器系数以头文件形式导入CCS中,头文件中MATLAB辅助DSP实现FIR数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP程序并显示、分析处理后的数据。
使用该方法,便于采用汇编语言来实现程序。
头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便程序调试、仿真。
利用FDATOOL设计FIR滤波器的参数,操作步骤如图4.1.1所示。
图4.1.1FDATOOL设计FIR滤波器的参数操作步骤图
图4.1.2已滤波的信号的时域波形图4.1.3已滤波的信号的频域波形
MATLAB滤波器设计工具在完成FIR设计后,在Exportas中选择16bit符号整数输出,然后单击OK按钮。
将系数稍作修改,调整后拷贝到程序的系数初始化空间即可。
2.在CCS中编写汇编程序,进行调试,实现带通滤波功能。
在CCSIDE中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。
另根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB生成的LHM.h和input1.dat文件拷贝到LHM.pjt工程文件夹下,进行编译、链接,生成可执行文件LHM.out。
4.2实验过程中出现的错误及解决的办法
1.在MATLAB程序设计中,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。
2.FIR.m中的采样频率要和开始设置时的采样频率一致,否则结果会出现偏差。
3.在CCS中未定义标号,程序运行错误。
4.在.h文件中未把coeff顶格写,编译时出现错误。
5.未将fir.h和input.dat文件考入工程文件中。
6.间接寻址过程中,程序中丢失。
7.在View的Graph中单击Time/frequency出现graphpropertydialog框,未修改抽样点数。
显示的图形出现差异
4.3CCS程序运行后的各种输出结果
在View的Graph中单击Time/frequency出现graphpropertydialog框。
将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。
输出滤波前的信号时域波形。
首先,设置如图4.1.4所示,输出滤波前的信号时域波形。
图4.1.4滤波前数据类型设置
单击OK后生成如下图4.1.5波形。
图4.1.5为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。
修改相应设置,输出如图4.1.6所示滤波前信号频谱。
经过滤波后,时域波形和信号频谱分别如图4.1.7和图4.1.8所示。
图4.1.5滤波前时域波形图4.1.6滤波前信号频谱
图4.1.7滤波后时域波形图4.1.8滤波后信号频
5总结
在这次课程设计中,我了解到了数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论知识以及它实现方法。
学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性,取得了很多收获。
首先,通过复习课本和实验,对DSP的基础知识又有了很大的巩固。
其次,通过对用Mathlab实现FIR滤波器的设计,熟悉了Mathlab软件的一些相关的窗口函数以及相关功能的调用,如怎样实现窗函数的调用,怎样实现滤波等。
第二,增进了与同学的交流。
平常除了上课,大家也比较少接触。
而每次做课程设计的时候,大家总会互相探讨,发表自己的看法,帮忙解决遇到的问题,分享自己的心得,于是交流也就不由自主的变得相对频繁些了,感觉也就更亲切了。
第三,对FIR的滤波器性能和作用有了更深一层的了解。
FIR滤波器的应用十分广泛,当今许多信号处理系统和图像处理系统等都要求信号具有线性相位特性。
在这方面,FIR滤波器有十分独特的优点,运用MATLAB语言,我们能够很容易的设计出具有严格线性相位的FIR滤波系统,以及比较容易的实现。
此外,我们还知道了FIR滤波器是永远稳定的,因为FIR滤波器的冲激响应是有限长序列,其系统函数为一个多项式,它所含的的极点多为原点。
在今后的工作和学习生活中,综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识去独立完成一个项目的设计。
不仅要完善以上的MATLAB设计方法,更要学会利用多种途径设计各种DSP最小系统,熟练汇编语言编程。
在整个设计过程中,首先我要感谢的是老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的程序编写的难题。
同时也感谢学院为我提供良好的做课程设计的环境。
6参考文献
[1](日)谷秋隆嗣著.数字滤波器与信号处理.科学出版社.2003.
[2]潘松,黄继业,王国栋.现代DSP技术.西安电子科技大学出版社.2003
[3]陈金鹰.DSP技术及应用.机械工业出版社.2004.6
[4]孙宗瀛.DSP原理设计与应用[M].北京:
清华大学出版社,2002.
[5]汪安民.TMS320C54XXDSP实用技术.清华大学出版社.2002:
5-15
[6]TMS320C54xCodeComposerStudioTutorial.TexasInstrumentsIncorporated.2000
[7]薛年喜.Matlab在数字信号处理中的应用[M].北京:
清华大学出版社,2003.
[8]王立宁.Matlab与通信仿真[M].北京:
人民邮电出版社,2000.276—281.
[9]余成波,杨菁,杨如民编著.数字信号处理及MATLAB实现.清华大学出版社.2005.
[10]程佩青.数字滤波与快速傅里叶变换.北京:
清华大学出版社,1988
[11]胡广书.数字信号处理理论、算法与实现.清华大学出版社.1997
[12]彭启.DSP与实时数字信号处理.成都:
电子科技大学出版社,1995
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 答辩 论文