基于TMS320VC5402的自适应滤波器设计课案_第1页
基于TMS320VC5402的自适应滤波器设计课案_第2页
基于TMS320VC5402的自适应滤波器设计课案_第3页
基于TMS320VC5402的自适应滤波器设计课案_第4页
基于TMS320VC5402的自适应滤波器设计课案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于TMS320VC5402的自适应滤波器设计本文从自适应滤波器研究的意义入手,介绍了自适应滤波器的基本理论思想,具体阐述了自适应滤波器的基本原理、算法及设计方法。自适应滤波器的算法是整个系统的核心。本文中,对两种最基本的自适应算法,即最小均方误差(LMS)算法和递归最小二乘(RLS)算法进行了详细的介绍,采用protel对硬件设计进行详细的分析,对软件分析则采用MATLAB进行仿真,最后用DSP实现了自适应滤波器。实验结果表明,该自适应滤波器滤波效果优越。关键词:DSP、自适应滤波器、硬件系统、最小均方LMS算法、MATLAB一概述滤波技术是信号处理中的一种基本方法和技术,尤其数字滤波技术

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

3、芯片作为系统数据处理核心,设计A/D和D/A转换器,时钟电路,复位电路,电平转换,JTAG接口,电源等外围电路,并使用MATLAB编程,采用自适应滤波器技术实现语音去噪过程,通过Matlab仿真结果分析,自适应滤波器具有很好的性能。课题研究目的和意义对自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。Windrow等于1967年提出的自适应滤波系统的参数能自动的调整而达到最优状况,而且在设计时,只需要很少或根本不需要任何关于信号与噪声的先验统计知识。这种滤波器的实现差不多像维纳滤波器那样简单,而滤波器性能几乎如卡尔曼滤波器一样好。自适应滤波器与普通滤波器不同,它的冲激响应或滤波

4、参数是随外部环境的变化而变化的,经过一段自动调节的收敛时间达到最佳滤波的要求。自适应滤波器本身有一个重要的自适应算法,这个算法可以根据输入、输出及原参量信号按照一定准则修改滤波参量,以使它本身能有效的跟踪外部环境的变化。因此,自适应数字系统具有很强的自学习、自跟踪能力和算法的简单易实现性。自适应滤波技术的核心问题是自适应算法的性能问题,提出的自适应算法主要有最小均方(LMS)算法、递归最小二乘(RLS)算法及相应的改进算法。由于LMS算法简单有效、鲁棒性好、易于实现,得到了广泛的应用。目前应用最多的是系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测、自适应天线阵等诸多领域。二、

5、自适应滤波器的系统设计2.1滤波器的基本概念凡是有能力进行信号处理的装置都可以称为滤波器。在近代电信装备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最复杂要算滤波器了。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。您可以通过基本的滤波器积木块一一二阶通用滤波器传递函数,推导出最通用的滤波器类型:低通、带通、高通、陷波和椭圆型滤波器。传递函数的参数fO、d、hHP、hBP和hLP,可用来构造所有类型的滤波器。转降频率fO为s项开始占支配作用时的频率。2.2自适应滤

6、波器的原理自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。其实质就是一种能调节其自身传输特性以达到最优的维纳滤波器。由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用FIR和II种具有固定滤波系数的滤波器无法实现最优滤波。在此情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构采用FIR或IIR结构均可,由于IIR滤波

7、器存在稳定性问题,因此一般采用FIR滤波器作为自适应滤波器的结构。自适应滤波器的结构可以采用FIR或IIR滤波器存在稳定性问题,因此一般采用FIR滤波器作为自适应滤波器的结构。自适应FIR滤波器结构又可分为3种结构类型:横向型结构(TransversalStrueture)、对称横向型结构(SymmetrieTransversalStrueture)以及格型结构(LatticeStruture)。23自适应滤波器的算法自适应滤波器除了包括一个按照某种结构设计的滤波器,还有一套自适应的算法。自适应算法是根据某种判断来设计的。自适应滤波器的算法主要是以各种判据条件作为推算基础的。通常有两种判据条件

8、:最小均方误差判据和最小二乘法判据。LMS算法是以最小均方误差为判据的最典型的算法,也是应用最广泛的一种算法。最小均方误差(LeastMeanSquare,LMS)算法是一种易于实现、性能稳健、应用广泛的算法。所有的滤波器系数调整算法都是设法使y(n)接近d(n),所不同的只是对于这种接近的评价标准不同。LMS算法的目标是通过调整系数,使输出误差序列e(n)=d(n)-y(n的均方值最小化,并且根据这个判据来修改权系数,该算法因此而得名。误差序列的均方值又叫“均方误差”(MeanSqluareError,MSE)。理想信号d(n)与滤波器输出y(n)之差e(n)的期望值最小,并且根据这个判据来

9、修改权系数wi(n)。由此产生的算法称为LMS。均方误差8表示为:二Ee2(n)二Ed(n)-y(n)(2-1)对于横向结构的滤波器,代入y(n)的表达式:=d2(n)+WT(n)RW(n)-2Wt(n)P(2-2)其中:R=EX(n)XT(n)为NXN的自相关矩阵,它是输入信号采样值间的相关性矩阵。24TMS320VC5402的简介TMS320VC5402是公司的定点数字信号处理芯片,是一种特殊结构的微处理器,为了达到快速进行数字信号处理的目的,采用程序与数据分开的总线结构流水线操作,单周期完成乘法的硬件乘法器以及一套适合数字信号处理的指令集TMS320C5402主要特点:1个40位的算术逻

10、辑单元,2个40位的累加器,2个40位的专用加法器,1个17X17的并行乘法器,1个40位的桶形移位器。8个辅助寄存器和1个软件栈。内部集成Viterbi加速器,用于提高Viterbi编译码的速度。可工作在三种低功耗方式(IDLE1、I2DLE2、IDLE3)。1192KWORD寻址空间(64KW程序空间、64KW数据空间、64KWI/O空间),某些型号的程序空间可扩展到8MWORD。片内存储区可灵活配置为程序/数据存储器。多种复用外设;McBSP、HPI、GPIOTDM、DMA、Timer、PLL。双电源供电,提供PGE和BGA两种形式的封装。TMS320VC5402,最高频率100MHz,

11、性价比高。它含4KX16bit片内ROM、16KX16bit片内DARAM、6个DMA通道、2个McBSP、2个Timer,外部程序空间可扩展到IMX16bit。对于片外数据空间一般建议选用高速SRAM,尽量减少DSP的等待周期。用户程序一般在上电时从外部ROM加载到片内RAM区运行。程序存储器FlashRom:256KX16;一片数据存储器SRAM:64KX16一片;可编程逻辑器件CPLD:一片。三、硬件设计3.1.1系统结构流程图:采用TI公司的DSP芯片TMS320VC5402,还有电源芯片,AD转换器,储存器,时钟,JTAG接口的连接。结构图如图2:3.1.2电源电路设计:由于TMS3

12、20VC5402核电压为1.6V,端口电压为3.3V,外围器件为3.3V,其它器件的提供电压在3.3V.TI公司的电源TPS76D318是一个双输出电压为3.3V2.9VRESETR1410KU5MAX7)6SMRVCCWDIWDORESET3S3夫4PFITFOGNDRESET3.3V2A77T图3复位电路分离电源,可以由3.3V产生3V和1.6V的电压输出,最大输出电流为1A,可以满足要求。该器件具有快速瞬态响应和超低85uA典型静态电流,热关断保护的每一个调节,有个28引脚。复位电路设计:系统上电时可自动复位,但是为了防止系统受到外界干扰或电源波动时出现死机现象,还专门加了外部RESET

13、,主要使用了施密特触发器74LS14。3.1.4时钟电路设计:采用外部时钟,根据晶振不同,采用的晶体振荡电容也不同,这里采用16MHz晶振,起振电容选为104pF。系统中让DSP工作在16MHz的频率,因此根据5402DSP-D3DSP-D2DSP-D1DSP-D0100KQR4_|DSP-A3DSP-A2DSP-A1DSP-A0150Q.R1JJ?100KQR7RED47吓C1NCNCNCNC1GNDNC1EN1FB/SENSE1IN1OUT1IN1OUTNC2RESETNCNC2GNDNC2EN2SENSE2IN2OUT2IN2OUTNCNCNCNCz-蜂6TPS73HD30145鮎89-

14、0H12-3-4zzr24QO18-*171615R6l0yFC41KQR3vxTv,R510gFC5图4电源电路的主时钟配置规则,只要将5402的CLKMD1,CLKMD2,CLKMD3这3个引脚分别选择高电平,低电平,低电平即可。3.3VAD转换电路设计:因为C5402内部没有AD转换功能,因此在数据采集时需要使用AD转换芯片。为了充分利用C5402所提供的多通缓冲串口资源,我们采用TI公司生产的CMOS型10b模数芯片TLV1544。其内部采用开关电容逐次近似来得到模数转换结果。芯片有4路模拟信号输入通道,通过芯片内部参数设置选择不同通道输入,进行A/D转换输出。TMS320VC5402

15、是TI公司生产的具有很高性价比的定点DSP。他有2个多通道缓冲串口(McBSP),设计中使用McBSPO完成配置TLV1544以及接收转换好的数字信号。接口原理图如图2所示。TLV1544的INVCLK,CSTART接高电平,输入/输出时钟不翻转且采样/转换考试控制功能不使用。TMS320VC5402的XF引脚提供TLV1544的片选信号。TLV1544的EOC触发DSP的外部0中断,转换结束通过中断接收转换好的数据。TLV1544与TMS320VC5402通过串行口连接,此时,A/D转换芯片作为从设备,DSP提供帧同步和输入/输出时钟信号。AIN1AIN2AIN3AIN4AIN5J11AIN

16、6AIN7AIN8rC301壬VREF23VREFJh2610C2104AGNDCH0D9/A1CH1D8/A0CH2D7CH3D6CH4D5CH5D4CH6D3CH7D2D1MOD0AINCSREFPWRAVDDRDDVDDCLKREFMINT/EOCAGNDCSTARTDGNDU11TLV1578SOP3212342930313228272425921DATA920DATA819DATA718DATA617DATA516DATA415DATA314DATA213DATA112DATA05ADCS#6ADWR#7ADRD#8ADCTK11ADINT丑22ADCSTART#图6A/D转换电路J

17、TAG接口电路设计:JTAG是基于IEEE1149.1标准的一种边界扫描测试方式。TI公司为其大多数的DSPs产品都提供了JTAG端口支持,5402也不例外。结合配套的仿真软件,可访问DSPs的所有资源,包括片内寄存器及所有的存储器,从而提供了一个实时的硬件仿真与调试环境,便于开发人员进行系统软件调试。除上述电路接口外,要使系统板正常地工作,还必须配置跳线和接插座等部分。其中:电源模块接出一个插座,以便于外部电压输入;音频编解码部分需安装话筒和扬声器;USB芯片要连接到USB接口插件,以实现与主机的交互。实用起见,所有这些插件均设置在电路板边界部分。最后,对于系统中一些难以事先决定的设置引脚附

18、近,放置上位/下拉电阻,为以后的电路更改或扩展提供方便.通过JTAG接口,可以对C5402芯片内部的所有结构进行访问,如图所示:DSP_JTAG电平转换电路的设计:主机接口(HPI)是TMS320C5402定部具有的一种接口部件,主要用于DSP芯片与其它总线或CPU进行通信。HPI接口通过控制寄存器(HPIC)、地址寄存器(HPIA)、数据所存器(HPI内存块实现与主机通信。其主要特点有:接口所需外围硬件芯片很少;HPI单元允许芯片直接利用一个或两个数据选通信号、一个独立或复用的数据总线接到为控制单元MCU上;主机和DSP芯片可独立地对HPI接口操作;主机和DSP芯片握手可通过终端方式来完成。

19、主机还可以通过HPI接口装载DSP应用程序、接受DSP运行结果或诊断DSP运行状态。HPI为DSP芯片的接口开发提供了一种极为方便的途径。3.1.8储存器电路设计:内储存器直接与CPU相连接,储存容量较小,但速度快,用来存放当前运行程序的指令和数据,并直接与CPU交换信息。内储存器由许多储存单元组成,每个单元能存放一个二进制数或一条由二进制编码表示的指令。内储存器是由随机储存器和只读储存器构成的内存,即RAM(Randomaccessmemory)通过使用二进制数据储存单元和直接与CPU联系,大大减少了读取数据的时间。RAM上所存数据在关机或计算机异常是会自动清除,所以人们才需要将数据保存在硬

20、盘等外存上。DSP_ADDRODSP_ADDR1DSP_ACDR2DSP_ADDR3DSP_ACDR4DSP_ACDR5DSP_ACDR6DSP_ACDR7DSP_ADDR8DSP_ADDR9DSP_ADDR10DSP_ADDR11DSP_ADDR12DSP_ADDR13DSP_ADDR14DM_ADDR15DM_ADDR16DM_ADDR17GNDD14001U9CY7C1041BA0I/O15A1I/O14A2I/O13A3I/O12A4I/O11A5I/O!)A6I/O9A7I/O8A8I/O7A9I/O6A10I/O5A11I/O4A12I/O3A13I/O2A14I/O1A15I/O

21、0A16NC(ADD18A17/CEVSS/OEVSS/WEVCZ/BHEVCZ/BLE118T920TTzz74ZD774344Iz143311DSP_ADDR02538DSP_DATA15DSP_ADDR1Z43/DSP_DATA14DSP_ADDR2Z336DSP_DATA13DSP_ADDR3zz35DSP_DATA12DSP_ADDR4Z132DSP_DATA11DSP_ADDR5Z031DSP_DATA10DSP_ADDR61930DSP_DATA9DSP_ADDR71829DSP_DATA8DSP_ADDR8816DSP_DATA7DSP_ADDR9/15DSP_DATA6DSP

22、_ADDR10614DSP_DATA5DSP_ADDR11513DSP_DATA4DSP_ADDR12410DSP_DATA3DSP_ADDR1339DSP_DATA2DSP_ADDR1428DSP_DATA1DM_ADDR151/DSP_DATA0DM_ADDR164828DM_ADDR18DM_ADDR171/6SRAMCE#DM_ADDR181641MEM_RD#DM_ADDR19917MEMWE#FLASH_CE#MEM.RD#D4BT1IGNDMEM_WE#DSP_RST#40013VGNDDJ0AM2LV40BA0VCZA1A2DQ0A3DQ1A4DQ2A5DQ3A6DQ4A7DQ

23、5A8DQ6A9DQ7A10DQ8A11DQ9A12DQ10A13DQ11A14DQ12A15DQ13A16DQ14A17DQ15A18A19RY/BYNC1BYTENC2CENC3OEWeVSSreseVSS15T7Z87rzTIT4610-3/Z9DSP_DATA031DSP_DATA133DSP_DATA235DSP_DATA338DSPDATA440DSPDATA542DSPDATA644DSP_DATA730DSPDaTa832DSPDaTa934DSPDATA1036DSP_DATA1139DSP_DATA1241DSP_DATA1343DSPDaTa1445DSPDATA15GN

24、DPZ13J1MEM_WE#1MEM_RD#2FLASHCE#3TSRAM_CE#3.3V87图8电平转换电路10K*4四、软件设计3.2.1MATLAB的介绍MATLAB具有强大的语言功能,它是集命令翻译,科学计算于一身的一套交互软件系统,在MATLAB环境下,矩阵的运算变得异常的容易,它允许用户以数学形式的语言编写程序,比BASIC、FOTRRAN和C等语言更接近于书写计算公式的思维方式。它的操作和功能函数指令是以平时计算机和数学书上的简单英文单词表达的。由于它在很长一段时间内是用C语言开发的,它的不多的几个程序流控制语句同语言差别甚微,初学者很容易掌握。MATLAB语言的帮助系统也近乎完

25、备,用户可以方便的查询到想要的各种信息。另外,MATLAB还专门为初学者提供了功能演示窗口,用户可从中得到感兴趣的例子和演示。为了准确地把一个控制系统的复杂模型输入给计算机,然后对之进行进一步的分析与仿真,MATLAB提供了新的控制系统模型图形输入与仿真工具,定名为Simulnik。Simulikn是用来建模、分析和仿真各种动态系统的交互环境,包括连续系统、离散系统和混杂系统。Simulnik提供了采用鼠标拖放的方式建立系统框图模型的图形交互界面。通过Simulnik丰富的功能块可以迅速的建立系统模型。后来又增添了丰富多彩的图形处理及多媒体功能,使得MATLAB的应用范围越来越广泛。3.2.2

26、实现MATLAB仿真clearclcee=0;fs=800;det=1/fs;f1=100;f2=200;t=0:det:2-det;x=randn(size(t)+cos(2*pi*f1*t)+cos(2*pi*f2*t);%未知系统b,a=butter(5,150*2/fs);d=filter(b,a,x);%自适应FIR滤波器N=5;delta=0.06;M=length(x);y=zeros(1,M);h=zeros(1,N);forn=N:Mx1=x(n:-1:n-N+1);y(n)=h*x1;e(n)=d(n)-y(n);h=h+delta.*e(n).*x1;endX=abs(fft(x,2048);Nx=length(x);kx=0:800/Nx:(Nx/2-1)*(800/Nx);D=abs(fft(d,2048);Nd=length(D);kd=0:800/Nd:(Nd/2-1)*(800/Nd);Y=abs(fft(y,2048);Ny=len

温馨提示

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

最新文档

评论

0/150

提交评论