基于DSP的自适应滤波器设计【正文】_第1页
基于DSP的自适应滤波器设计【正文】_第2页
基于DSP的自适应滤波器设计【正文】_第3页
基于DSP的自适应滤波器设计【正文】_第4页
基于DSP的自适应滤波器设计【正文】_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、邵阳学院课程设计(论文)第1章 绪论1.1引言由widrow b等提出的自适应滤波理论,是在维纳滤波、卡尔曼滤波等线性滤波基础上发展起来的一种最佳滤波方法。由于它具有更强的适应性和更优的滤波性能,从而广泛应用于通信、系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测和自适应天线阵等诸多领域1。自适应滤波器最大的优点在于不需要知道信号和噪声的统计特性的先验知识就可以实现信号的最佳滤波处理。数字信号处理器(dsp)是在模拟信号变成数字信号以后进行高速实时处理的专用处理器。dsp芯片以其独特的结构和快速实现各种数字信号处理算法的突出优点,发展十分迅速。滤波技术是信号处理中的一种基本方法

2、和技术,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品的开发一直受到很多国家的重视。从总的来说滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果,自动地调节现时刻的滤波参数,从而达到最优化滤波。自适应滤波具有很强的自学习、自跟踪能力,适用于平稳和非平稳随机信号的检测和估计。自适应滤波一般包括3个模块:滤波结构、性能判据和自适应算法。其中,自适应滤波算法一直是人们的研究热点,包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信

3、号处理能力,但计算比较复杂,实际应用最多的仍然是线性自适应滤波算法。线性自适应滤波算法的种类很多,有lms自适应滤波算法、r路自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等2。1.2 课题研究的意义和目的通过对课程设计任务的完成,使学生理解课程教学的理论内容,并且能够掌握和熟悉dsp的开发流程和基本的编程方法。同时,由于设计中涉及到各种器件的使用,可以提高学生综合运用各种技术和知识的能力。对自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。windrow等于1967年提出的自适应滤波系统的参数能自动的调整而达到最优状况,而且在设计时,只需要很少的或根本不需要

4、任何关于信号与噪声的先验统计知识。这种滤波器的实现差不多像维纳滤波器那样简单,而滤波器性能几乎如卡尔曼滤波器一样好。自适应滤波器本身有一个重要的自适应算法,这个算法可以根据输入、输出及原参量信号按照一定准则修改滤波参量,以使它本身能有效的跟踪外部环境的变化。因此,自适应数字系统具有很强的自学习、自跟踪能力和算法的简单易实现性。自适应滤波技术的核心问题是自适应算法的性能问题,提出的自适应算法主要有最小均方(lms)算法、递归最小二乘(rls)算法及相应的改进算法如:归一化(nlms)算法、变步长(svslms)算法、递归最小二乘方格形(rlsl)算法等。这些算法各有特点,适用于不同的场合。研究自

5、适应算法是自适应滤波器的一个关键内容。最小均方误差(lms,the least mean square)算法是线性自适应滤波算法中最基本的两类算法之一,其主要思想是基于最小均方误差准则,使滤波器的输出信号与期望输出信号之间的均方误差最小2。目前应用最多的是系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测、自适应天线阵等诸多领域。1.3 任务和要求设计一个基于dsp的自适应滤波器,要求: 1. 总体方案设计;2. 设计出软件编程方法,并写出源代码;3. 仿真与结果分析;4. 论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体。1.4 设计思路简介在tms320c54x系统开

6、发环境ccs(code composer studio)下对自适应滤波器的dsp实现原理进行讨论。从输入信号和输出信号的时域和频域曲线可看出在dsp上实现的自适应滤波器能完成预定的滤波任务。第2章 自适应滤波器原理概述2.1 滤波器的基本概念凡是有能力进行信号处理的装置都可以称为滤波器。在近代电信装备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最复杂要算滤波器了。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。您可以通过基本的滤波器积木块二阶通用滤波器传递函数,推

7、导出最通用的滤波器类型:低通、带通、高通、陷波和椭圆型滤波器。传递函数的参数f0、d、hhp、hbp 和hlp,可用来构造所有类型的滤波器。转降频率f0为s项开始占支配作用时的频率。设计者将低于此值的频率看作是低频,而将高于此值的频率看作是高频,并将在此值附近的频率看作是带内频率。阻尼d用于测量滤波器如何从低频率转变至高频率,它是滤波器趋向振荡的一个指标,实际阻尼值从0至2变化。高通系数hhp是对那些高于转降频率的频率起支配作用的分子的系数。带通系数hbp是对那些在转降频率附近的频率起支配作用的分子的系数。低通系数hlp是对那些低于转降频率的频率起支配作用的分子的系数。设计者只需这5个参数即可

8、定义一个滤波器3。2.2 自适应滤波原理所谓的自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理。由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用fir和iir种具有固定滤波系数的滤波器无法实现最优滤波。在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一般而言,自适应滤波

9、器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构采用fir或iir结构均可,由于iir滤波器存在稳定性问题,因此一般采用fir滤波器作为自适应滤波器的结构。图2.1示出了自适应滤波器的一般结构。图2.1 自适应滤波器的一般结构图2.1为自适应滤波器结构的一般形式,图中x(k)输入信号,通过权系数可调的数字滤波器后产生输出信号y(k),将输出信号y(k)与标准信号(又称期望信号)d(k)进行比较,得到误差信号e(k)。e(k)和x(k)通过自适应算法对滤波器的权系数进行调整,调整的目的使得误差信号e(k)最小。重复上面过程,滤波器在自己的工作过程中逐渐了解到输入

10、信号和噪声的统计规律,并以此为根据自动调整滤波器权系数,从而达到最佳的滤波效果。2.3 自适应滤波算法由widrow和hoff引入的最小均方(lms)算法,由于其简单性、运算高效性各种运行条件下良好的性能,而被广泛应用。基于梯度的最小均方(lms)算法是最基本的算法,其含义相对简单明了。选定均方误差为权矢量二次函数时,性能度量曲线可以形象地看成一个碗形曲面这样自适应处理器的任务便是不断地向最低点逼近,即可以通过计算梯度的方法实现性能度量的最优化。而基于梯度的算法中,最简单的一种就是最小均方算法lms算法,lms算法使用的准则是使均衡器的期望输出值和实际输出值之间的均方误差(mse)最小化的准则

11、,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法3。这算法不需要计算相应的相关函数,也不需要进行矩阵运算。自适应滤波器最普通的应用就是横向结构。滤波器的输出信号y(n)是y(n) (2-1)t表示转置矩阵, n是时间指针,n是滤波器次数。这个例子就是有限脉冲响应滤波器的形式,为x(n)和w(n)两个矩阵卷积。这种自适应算法使用误差信号 (2-2)为了方便起见,将上述式子表示为向量形式,则上述式子表示为: (2-3)误差序列可写为 (2-4)其中d(n)是期望信号,y(n)是滤波器的输出。使用输入向量x(n)和e(n)来更新自适应滤波器的最小化标准的相关系数。显然,

12、自适应滤波器控制机理是用误差序列e(n)按照某种准则和算法对其系数wi(n),i=1,2,n进行调节的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波状态。本节所用的标准是最小均方误差(mse): (2-5)e表示算子期望。假如公式中的y(n)被公式(3.3)取代,公式(3.5)就可以表示为 (2-6)由式(2-6)可见,自适应滤波器的代价函数是延迟线抽头系数的二次函数。当矩阵r和矢量p己知时,可以由权系数矢量w直接求其解。最优解最小化mse,源自解这个公式 (2-7)将式(2-6)对w求其偏导数,并令其等于零,假设矩阵r满秩(非奇异),可得代价函数最小的最佳滤波系数 w=p*1/r

13、(2-8)这个解称为维纳解,即最佳滤波系数值。因为均方误差(mse)函数是滤波系数w的二次方程,由此形成一个多维的超抛物面,这好像一个碗状曲面又具有唯一的碗底最小点,通常称之为自适应滤波器的误差性能曲面。当滤波器工作在平稳随机过程的环境下,这个误差性能曲面就具有固定边缘的恒定形状。自适应滤波系数的起始值wi(0),i=1,2,n是任意值,位于误差性能曲面上某一点,经过自适应调节过程,使对应于滤波系数变化的点移动,朝碗底最小点方向移动,最终到达碗底最小点,实现了最佳维纳滤波。自适应过程是在梯度矢量的负方向接连的校正滤波系数的,即在误差性能曲面的最陡下降法方向移动和逐步校正滤波系数,最终到达均方误

14、差为最小的碗底最小点,获得最佳滤波或准最优工作状态。广泛使用的lms算法是一种选择性法适应采样和采样基础。这个方法可以避免复杂的计算。lms算法是最陡下降法,在这个算法中,向量w(n+1)通过改变对最小均方误差性能的负梯度比例自适应滤波算法及应用研究来增强。对于lms算法梯度v(n)通过假设平方误差。2(n)作为公式2-7的mse来预测。因此,梯度预测可以单一化表示为: (2-9)在实际应用中,2u经常用来代替u。瞬间梯度预测产生的widrow一hoff lms算法,w(n)为自适应滤波器在n时刻的滤波系数或权矢量。按照最陡下降法调节滤波系数,则在n+1时刻的滤波系数或权矢量w(n+l)可以用

15、下列简单递归关系来计算: (2-10)u是自适应步长来控制稳定性和收敛率。这种瞬时估计是无偏的,因为它的期望值e等于最陡下降法的梯度矢量。对于自适应信号处理应用,最重要的实际考虑是收敛速度,决定滤波器跟踪不稳定型号的能力。总体来说,权向量要获得收敛只有当最缓慢的权集中一点。这个最慢的时间 (2-11)公式(2-10)和(2-11)产生lms算法基本协定:为了在稳态获得高精度(低超自适应滤波算法及应用研究额mse),需要u的最小值,但是也会降低收敛率。 最小均方误差(least mean square,lms)算法是一种易于实现、性能稳健、应用广泛的算法。所有的滤波器系数调整算法都是设法使y(n

16、)接近d(n),所不同的只是对于这种接近的评价标准不同。lms算法的目标是通过调整系数,使输出误差序列e(n)=d(n)-y(n)的均方值最小化,并且根据这个判据来修改权系数,该算法因此而得名。误差序列的均方值又叫“均方误差”(mse)。因而得到了广泛的应用。第3章 系统开发平台与环境3.1 ccs工作模式ccs是ti公司针对tms320系列dsp的集成开发环境,在windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。ccs有两种工作模式,即:软件仿真器模式:可以脱离dsp芯片,在pc机上模拟dsp的指令集和工作机制,主要用于前期算法实现和调试。硬

17、件在线编程模式:可以实时运行在dsp芯片上,与硬件开发板相结合在线编程和调试应用程序。 3.2 ccs的组成ccs的开发系统主要由以下组件构成1. tms320c54x集成代码产生工具 用来对c语言、汇编语言或混合语言编程的dsp源程序进行编译汇编,并链接成为可执行的dsp程序。主要包括汇编器、链接器、c/c+编译器和建库工具等。 2. ccs集成开发环境 集编辑、编译、链接、软件仿真、硬件调试和实时跟踪等功能于一体。包括编辑工具、工程管理工具和调试工具等。 3. dsp/bios实时内核插件及其应用程序接口api主要为实时信号处理应用而设计。包括dsp/bios的配置工具、实时分析工具等。4

18、.实时数据交换的rtdx插件和相应的程序接口api 可对目标系统数据进行实时监视,实现dsp与其他应用程序的数据交换。 5.由ti公司以外的第三方提供的应用模块插件。3.3 ccs的主要功能ccs的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持c/c+和汇编的混合编程,其主要功能如下(1) 具有集成可视化代码编辑界面,用户可通过其界面直接编写c、汇编、.cmd文件等;(2)含有集成代码生成工具,包括汇编器、优化c编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中; (3) 高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现

19、语法错误;(4) 工程项目管理工具可对用户程序实行项目管理。在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;(5) 基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持c源代码级调试; (6)断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置;(7) 探测点工具,可用于算法的仿真,数据的实时监视等;(8) 分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;(9) 数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新

20、; (10) 提供gel工具。利用gel扩展语言,用户可以编写自己的控制面板/菜单,设置gel菜单选项,方便直观地修改变量,配置参数等;(11) 支持多dsp的调试;(12) 支持rtdx技术,可在不中断目标系统运行的情况下,实现dsp与其他应用程序的数据交换;(13) 提供dsp/bios工具,增强对代码的实时分析能力。 3.4 ccs开发环境ccs提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。ccs支持如下图3.1所示的开发周期的所有阶段。图 3.1 ccs开发过程第4章 系统硬件设计4.1 总体设计方案ti公司

21、的2000系列和5000系列的dsp都通用型的芯片,考虑到2000系列的dsp多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了ti公司的一款高性能、低功耗的定点dsp: tms320vc5402。该dsp具有较快的运算速度:运算速度最快可达532mips;采用了低功耗设计方式:内核电压为1.8v,i/o电压为3.3 v。数字滤波系统的具体方案框图如图4.1示:图4.1 数字滤波器系统方案框图通常的设计中会采用sv供电并行的adc(模数转换)和dac(数模转换)芯片与dsp连接,传输数据过程中会占用总线的时间,而且

22、需要采用多片电平转换器件将sv电平转换为3.3v的逻辑电平。考虑到tms320vc5402的片上包含两个mcbsp(多通道缓冲串行口)接口,可以将这两个通道模仿实现spi的时序,因此本设计中采用了spi接口器件,adc芯片采用的是tlv 1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是tlv 5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。jtga口供dsp芯片下载程序调试。tms320vc5402处理器在本系列中处于先进水平。它具有运算速度快,内部存储空间大,外部接口性能好等优点。所以我选择了技术上比较先进,价格又较便宜的c5402作为硬件开发对象

23、。下面结合c5402的实际情况,介绍一下该芯片的体系结构。c5402共有144个引脚,其中有20根地址线ao-a19,16根数据线do-d15,4个外部可屏蔽引脚into#-int3#和一个不可屏蔽中断引脚bio#,剩下的引脚可以分成以下几类:存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的ieee1149. 1标准jtag口。4.2 电源电路设计由于tms320vc5402核电压为1.6v,端口电压为3.3v,外围器件为3.3v,其它器件的提供电压在3.3v 。 ti公司的电源tps76d318是一个双输出电

24、压为分离电源,可以由3.3v产生3v和1.6v的电压输出,最大输出电流为1a,可以满足要求。该器件具有快速瞬态响应和超低85ua典型静态电流,热关断保护的每一个调节,有个28引脚。如下图所示:图4.2 电源电路4.3 a/d转换电路设计因为c5402内部没有ad转换功能,因此在数据采集时需要使用ad转换芯片。为了充分利用c5402所提供的多通缓冲串口资源,我们采用t i公司生产的cmos 型10b模数芯片tlv1544。其内部采用开关电容逐次近似来得到模数转换结果。芯片有4 路模拟信号输入通道, 通过芯片内部参数设置选择不同通道输入, 进行a/d转换输出。tm s320vc5402 是t i公

25、司生产的具有很高性价比的定点dsp。他有2 个多通道缓冲串口 (m cbsp), 设计中使用m cbsp0 完成配置 tlv1544 以及接收转换好的数字信号。接口原理图如图4.3 所示。tlv1544 的inv clk, cstart接高电平, 输入/输出时钟不翻转且采样/转换考试控制功能不使用。tm s320vc5402 的xf 引脚提供tlv1544 的片选信号。tlv1544 的eoc 触发dsp 的外部0 中断, 转换结束通过中断接收转换好的数据。 tlv1544 与 tm s320vc5402 通过串行口连接,此时, ad转换芯片作为从设备, dsp 提供帧同步和输入/输出时钟信号

26、。 图4.3 a/d转换电路第5章 系统软件设计5.1设计流程开始初始化dsp及串行口初始化a/d转换器信号经a/d转换器输入调节自适应滤波参数结束图5.1设计流程图设置终端服务程序入口5.2 ccs工程文件创建及编写ccs是ti公司推出的为开发tms320系列dsp软件的集成开发环境,是目前使用最为广泛的dsp开发软件之一。它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。本文采用了与硬件开发板相结合的在线编程模式,通过ccs软件平台上应用c语言及c5

27、4x汇编语言来实现滤波器的运行。利用ccs创建一个新工程,然后向该工程中添加源代码文件和库文件。首先在ccs的安装目录e:ccs的文件夹e:ccsmyprojects下建立一个新的文件夹,命名为1111。并将所有的源代码全部拷贝到该新建的文件夹中。然后双击桌面上ccs5000系列软件图标,在出现的对话框中选择c5402 simulator模式下,然后点击“确定”按钮即可进入“code composer studio”界面。从ccs的project菜单下选择子菜单new。将出现project creation对话框。在对话框中“project name”处输入1111,“location”处输入

28、”myproject1111”,在“project”处选择executable(.out)类型,在“target”中选择ccs所配置的tms320c54xx 类型的dsp。最后单击“完成”即可。创建好的工程的参数如下图所示:图5.2工程创建的参数通过上述步骤code composer studio就建立了一个工程文件,名为1111.pjt,该工程文件用于存储工程配置以及在工程中所用到的若干文件。可在“工程项目观察窗口(project view)”处看到。在ccs中选择菜单project中的1111.pjt , 然后单击右键选择“add files to project”,然后选文件yuyin.

29、c,并单击open。在ccs中选择菜单project,选中add files to project,并在文件类型选框中选汇编源文件(*.a*, *.s*),然后选vectors.asm 和 load.asm 这两个文件并单击open。这些文件中包含了设置复位reset中断到程序的c入口c_int00的一些汇编指令。对于更加复杂的程序,可在vectors.asm 文件中定义更多的中断向量。也可利用dsp/bios来自动定义所有的中断向量。在ccs中选择菜单project,选择add files to project,并在文件类型选框中选择链接命令文件(*.cmd),然后选yuyin.cmd并单击

30、open,该命令文件将汇编程序的段映射到dsp的存储空间中。在ccs中选择菜单project,选择add files to project,进入编译库文件夹,在文件类型选框中选择目标文件类型和库文件类型(*.o*, *.lib),为所配置的目标dsp选rts.lib文件并单击open。该库文件为目标dsp提供了运行时间(runtime)支持。在工程视图窗口,用鼠标右键单击工程文件1111.pjt 并在快捷菜单中选择 scan all dependencies。这时.h应出现于工程视图窗口中的库(libraries)文件夹中。单击project左边的小加号,将展开工程列表:1111.pjt,li

31、braries,以及 source。该列表即为工程视图。无需手工向工程中加入include文件,因为ccs将会在编译过程中自动找到这些文件。编译之后在工程视图中将出现这些include文件。添加好后的文件如下图所示:图5.3添加好的工程文件5.3 编译并运行程序编译并运行程序的步骤: 选择project点击rebuild all 或单击工具按钮就可以运行程序。(1)在默认情况下,将当前工程目录下的debug子目录中生成.out文件。通过ccs工具条可改变生成文件的存放位置。(2)选file load program,并在对话框中选刚刚编译生成的文件1111.out,单击open打开。(默认在目

32、录e:ccsmyprojects1111debug 文件夹下)这样ccs就将程序载入目标dsp,并打开一个反汇编窗口,显示出相应的反汇编指令。ccs也将在窗口底部自动打开一个标签区域来显示程序送往stdout的输出。(1)选viewmixed source/asm,将同时看到c源代码和汇编结果代码。(2)在混合模式窗口中单击一条汇编伪指令本身,并按f1键,ccs将搜索该条指令的帮助。(3)选debuggo main开始从main 函数处执行程序。程序暂停在main处,并用黄色的箭头标识。(4)选debugrun或单击工具按钮 来运行程序。(5)选debughalt来暂停程序执行。(6)从菜单v

33、iew中选mixed source/asm。将看到不带相应汇编的c代码。从而可以方便地进行下一个任务:修改程序选项,修正语法错误。通过以上步骤,在运行projectrebuilt all后得出下图5.4结果: 图5.4运行结果从上图可以看出没有错误,故该设计的源程序代码是正确的。接下来可以进行检验以仿真来验证该课程设计是否正确。第6章 系统仿真6.1 ccs软件设置在graph property dialog中设置start address和display type如图6.1、图6.2。再设置实验板输入信号的参数,然后运行程序得到仿真图。 图6.1 start address设置 图 6.2

34、display type设置6.2 ccs仿真结果根据算法和dsp汇编语言程序, 在ccs 环境下编译,连接生成公共目标代码文件,在线下载到dsp 中运行。为了能观察到相应的波形, 在ccs 环境下选择view grap h time freqency 进入图形观察窗口,在“graph property dialog”窗口中选定相应类型的值。将编译产生的可执行文件下载到dsp芯片中,经过运行得到图6.3为输入信号的时域图,由图可以看到,正弦信号中叠加了噪声,导致正弦信号出现了较大的畸变。通过对输入信号进行fft变换,可以得到其频谱图如图6.4,由图6.4可以看出,低频的信号中叠加了比较多的高频

35、噪声,要得到比较好的原始低频正弦信号,必须要进行滤波。图6.3 输入波形图6.4 输入波形fft如图6.5所示,可以看出输入波形中的高频噪声基本上得到了滤除,为了更方便,更直接的看出滤波效果,对滤波后的波形进行了fft变换,得出信号的频谱图如图6.6所示。图6.6的输出信号的频谱图中仅剩余了低频信号,滤除了高频成分。通过对比图6.4和图6.6,更清楚地看到高频区的噪声基本上被消除了。但是由于参数设置不够精确等原因造成高频噪声得不到完全消除,但也很明显的显现了低通滤波的目的。图6.5 输出波形图6.6 滤波后波形fft通过ccs软件环境,把滤波程序烧录到dsp芯片中,在ccs c5000环境下输

36、出仿真结果:输入信号为余弦信号和随机噪声的叠加。程序正确运行后,观察运行结果,得出如图6.5,图6.6所示的仿真图。第7章 结束语经过十多天的努力,完成了本次课程设计,在设计中遇到一些课堂中从未有过的问题,通过网络查找和同学交流,大大促进了设计进程。并在过程中进一步提高自身的创作、创新水平,扎实基础,扩展所学。并且此次课程设计,基于课程理论知识和网上资料,使我对数字信号处理课程有了更深一步的了解和掌握,对利用ccs软件编程的数字信号处理方法有了进一步的了解。在理论课的基础上进行实验实习,是对本门课程的深入学习和掌握,在以后的工作学习中,数字信号的处理都是采用计算机仿真的方法进行测试,因此,掌握

37、基于计算机的数字信号处理方法对以后的工作和学习有很大的帮助。这样一个课程设计对我们的发展有着极大的帮助!这次课程设计的顺利完成,我首先要感谢李星亮老师在课程设计上给予我的指导、支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多设计上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢给予我帮助的同学,他们为我解决了不少我不太明白的程序调试方面的难题。同时也感谢学校为我提供良好的做课程设计的环境。最后,衷心地感谢所有帮助我的老师和同学!参考文献1 戴明帧.数字信号处理的硬件实现m.北京:航空工业出版

38、社,1988 2 张伟雄,陈亮,徐光辉.dsp集成开发与应用实例m。北京:电子工业出版社3 刘湘涛、江世民.单片机原理与应用m.电子工业出版社, 2006.4 戴明桢,周建江.tms320c54xdsp结构,原理及应运m北京航空航天出版社5 胡广书.现代信号处理教程m.北京:清华大学出版社,2005附录 自适应滤波程序data_size .set 256 ;filter .set 10 ;stack_size .set 256 ;stack .usect “stack”,stack_sizesystem_stack .set stack_size+stackdata_dp .usect “fi

39、lter_vars”,0filter .usect “filter_vars”,filter*2outputdata .usect “filter_vars”,data_sizeerrrordata .usect “filter_vars”,data_size .def start .data .global inputdatainputdata .word 10408,16451,10820,12227,18146,13106,11485 .word 15737,9840,3644,8171,4118,-4355,-624 .word -2443,-11575,-10290,-8288,-1

40、6156,-16663,-10543 .word -15433,-17113,-8010,-11188,-11286,-3102,-2176 .word -3726,4075,8836,3665,10937,16347,11278 .word 13449,19214,13116,11330,16515,10916,4581 .word 7920,4852,-3773,-1259,-2437,-12459,-10499 .word -1887,-4719,5099,7887,5169,10683,16744 .word 7833,3880,10946,16387,10515,12519,1874

41、3 .word -11303,-11279,-9263,-16185,-15864,-9999,-16150 .word -16554,-8656,-10620,-12215,-2220,-836,-3474 .word 4939,9086,4804,10259,15884,10219,12041 .word 18582,13394,10321,15635,10087,4313,8034 .word 5145,-4469,-908,-2155,-12436,-11063,-8792 .word -16193,-16849,-10633,-15990,-16297,-8395,-10178 .w

42、ord -11597,-2151,-600,-3487,3862,9267,5004 .word 9600,15632,10160,13017,18309,13654,9879 .word 15890,9795,4551,8900,4029,-4107,-1672 .word -3324,-11575,-9976,-8166,-17320,-15900,-10976 .word -15948,-15898,-8530,-10618,-11542,-2163,-1343 .word -4333,5094,8127,4794 .global referdatareferdata .word 10408,16451,10820,12227,18146,13106 .word 15737,9840,3644,4118,-4355,-624 .word -2443,-11575,-10290,-8288,-16156,-16663,-10543 .word -15433,-17113,-8010,-11188,-11286,-3102,-2176 .word -3726,4075,8836,3665,10937,16347,11278 .word 13449

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论