- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京交通大学DSP课程设计自适应滤波.
DSP课程实验报告—— 利用DSP实现自适应滤波学 院:电子信息工程学院专 业:自动化(铁道信号)学生姓名:学 号:任课教师:北京交通大学电工电子教学基地目录一、设计任务书3二、设计内容31. 基本部分32. 发挥部分3三、设计方案、算法原理说明41.利用DSP进行信号处理42.利用DMA方式进行信号的采集和输出43.回波产生64.自适应滤波8四、程序设计、调试与结果分析101. 程序设计102. 实验步骤133. 结果分析14五、设计(安装)与调试的体会15六、参考文献18七、附录19设计任务书自适应滤波器能够根据环境的改变,使用自适应算法来改变滤波器的参数和结构。自适应滤波器的系数是由自适应算法更新的时变系数,其系数自动连续地适应于给定信号,以获得期望响应。自适应滤波器的最重要的特征就在于它能够在未知环境中有效工作,并能够跟踪输入信号的时变特征。自适应滤波器应用于通信领域的自动均衡、回波消除、天线阵波束形成,以及其他有关领域信号处理的参数识别、噪声消除、谱估计等方面。本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行自适应滤波。设计内容1. 基本部分(1)设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的滤波(2)利用C语言对A/D、D/A进行初始化 (3)利用C语言对DMA进行初始化 (4)编写DMA中断服务程序,实现信号的实时滤波 (5)利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数2. 发挥部分(1)比较不同自适应性滤波器的滤波效果; (2)在实验板的Line in输入端接入正弦信号,分左右声道分别采集,并分别滤波。设计方案、算法原理说明利用DSP进行信号处理首先,模拟信号x(t)经过A/D转换后,成为数字信号,由DSP读入;DSP对采集的数字信号采用数字信号处理的算法进行处理,处理结果仍为数字信号;处理后得到的数字信号经D/A转换后,成为模拟信号y(t)。利用DSP进行信号处理的流程如图3-1所示。图3-1 DSP进行信号处理的流程利用DMA方式进行信号的采集和输出C5502的DMA能在不占用CPU资源的情况下,实现DSP存储器间数据的自由传送。C5502有6个可独立编程的DMA通道,每个DMA通道拥有各自的控制寄存器。在DMA功能正常使用之前,必须根据需要对这些寄存器进行正确的设置。A/D转换完的数据被串口1的数据接收寄存器收到后,启动DMA4传输,将数据写到指定的数据接收缓冲区,通过DMA方式完成一次数据采集。当DMA4采集完一帧128个点数据后产生一次DMA4中断,通知CPU对其进行DLMS滤波处理。此时DMA4可以按照设定继续采集数据,实现了数据采集与CPU处理的并行操作。在DMA4的中断服务程序中,DMA4接收缓冲区1中的数据经过DLMS滤波处理后,放入DMA5的发送缓冲区1,同时启动DMA5进行DLMS数据到串口1的数据发送寄存器的DMA传输。DLMS输入数据缓冲区分为2个,gBufferRcvPing、gBufferRcvPong ;输出数据缓冲区分为2个gBufferXmtPing、gBufferXmtPong ;每个缓冲区的大小为128个点。输入输出缓冲区采用了“乒乓”方式,即输入1=〉输出1,输入2=〉输出2其框图如图3-3所示。图3-3 DMA缓冲区在ping、pong缓存区中,数据存放方式为左右声道交替存放的。在进行处理前左右声道需要分别提取出来,再分别进行处理。处理完成之后再将左右声道进行合并后输出。其过程图3-3所示。图3-3 左右声道处理流程回波产生输入的左声道信号产生回波信号后,与右声道的信号叠加,生成带回波的信号,从右声道输出。图3-4是左声道数据在时延两个单位后叠加在右声道上形成带回波噪声的信号的示意图。图3-4 回波产生示意图我们希望能通过耳朵对回波信号进行区分,所以延时要求比较高,我们设定采样频率为8k,延时为0.5S。所以另外定义两个存储器delayone和delaytwo。先存储delayone存储区,存储满4096个点后,换存储delaytwo存储区。 Delaytwo存满时,再换回存储到delayone。可见,delayone和delaytwo的第一单元延时差为4096.当存储一个delayone第一个单元时,将leftbuff第一个单元放入delayone第一个单元,同时将delaytwo的第一个单元衰减后加入right-buff,从right-buff输出。并将delaytwo的第一个单元放入leftbuff第一个单元,已以备后面使用。当存储完4096个单位时,换从delaytwo的第一个单元进行存储。将leftbuff第一个单元放入delaytwo第一个单元,同时将delayone的第一个单元衰减后加入rig
文档评论(0)