428.基于MATLAB+Quartus II的LMS自适应算法和FIR滤波器设计 毕业设计(论文)_第1页
428.基于MATLAB+Quartus II的LMS自适应算法和FIR滤波器设计 毕业设计(论文)_第2页
428.基于MATLAB+Quartus II的LMS自适应算法和FIR滤波器设计 毕业设计(论文)_第3页
428.基于MATLAB+Quartus II的LMS自适应算法和FIR滤波器设计 毕业设计(论文)_第4页
428.基于MATLAB+Quartus II的LMS自适应算法和FIR滤波器设计 毕业设计(论文)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

工大学毕业设计(论文)-PAGE46-基于MATLAB+QuartusII的LMS自适应算法和FIR滤波器设计目录摘要 3Abstract 4第一章概述 51.1、通信系统中的失真分析 51.1.1、数字基带传输系统模型 51.1.2、通信系统中的噪声干扰 51.1.3、通信系统的传输特性 71.1.4、均衡技术 81.2、自适应滤波技术 81.2.1、自适应滤波理论 91.2.2、自适应滤波器的研究现状 91.3、MATLAB与系统仿真 101.4、硬件描述语言VHDL 101.5、主要研究内容与目标 121.5.1、论文的研究目标 121.5.2、论文的研究意义 121.5.3、论文的章节安排 13第二章自适应滤波原理与应用 142.1、自适应滤波原理 142.1.1、自适应滤波器的分类 142.1.2、自适应滤波器的基本构成 152.1.3、与普通滤波器的区别 152.1.4、自适应过程 162.2、自适应滤波结构 162.2.1、单位脉冲响应类型 172.2.2、滤波器的实现结构 172.2.3、横向型FIR自适应滤波器 192.3、自适应滤波器的应用 202.3.1、主要应用类型 202.3.2、自适应均衡器 20第三章自适应算法的研究 223.1性能测量方法 223.1.1、最佳滤波器准则 223.1.2、均方误差(MSE)性能测度 233.1.3、自适应算法的性能指标 233.2、最小均方误差算法 243.2.1、LMS算法结构分析 243.2.2、LMS算法MATLAB仿真 253.2.3、改进型LMS算法 263.3、自适应盲均衡算法 263.3.1、盲均衡器 273.3.2、常数模算法 283.3.3、改进型CMA算法 29第四章自适应滤波器的FPGA实现 294.1EDA技术概述 304.1.1、超大规模可编程逻辑器件 304.1.2、VHDL程序设计 314.1.3、AlteraQuartusII平台 334.2设计说明 334.2.1、正负数的处理 334.2.2、定点运算数制的确定 344.2.3、乘加器的实现 364.2.4、快速加法器的实现 384.3LMS算法的实现 384.3.1、LMS算法的计算过程 384.3.2、FPGA的基本结构 394.3.3、时序逻辑控制 404.3.4、仿真测试 414.4本章小结 41致谢 42参考文献 43摘要自适应滤波器是当今自适应信号处理中最为活跃的研究课题之一。自适应滤波器有广阔的应用前景,特别是在数字通信领域,自适应均衡是一种成熟技术,对包括语音频带、微波、对流层散射无线通信、有线电视调制解调器等数字通信系统影响最大。自适应滤波器的研究工作主要包括自适应算法和硬件实现。通过对自适应滤波原理、滤波结构、最佳滤波准则、自适应算法分析、比较和总结,选出了适合于FPGA硬件实现的滤波结构和自适应算法,即基于LMS自适应算法的FIR横向滤波器。在MATLAB平台上,编写自适应算法的M文件,进行系统仿真,并对滤波器的阶数、收敛步长、跟踪速度和稳态误差进行了详细的分析和研究,得出了合理的结果,为自适应滤波器的硬件实现打下了良好的理论基础。在QuartusII平台上,用VHDL语言描述了自适应滤波器的结构,解决了正负数运算、定点数运算、乘累加运算等细节问题。在ALTERA公司的StratixII系列的EP2S30F484C3(Advanced)芯片上,实现了基于LMS自适应算法的FIR横向滤波器的硬件设计与逻辑综合,并进行了模拟仿真,得出了正确的结果。关键词:自适应均衡,LMS算法,MATLAB仿真,VHDLAbstractTheresearchofadaptivefilterisoneofthemostactivitytasks.Theadaptivefilterhasbeenwidelyusedinvarioustechniquefields,particularlyindigitalcommunication,adaptiveequalizationisakindofmaturetechnology,ithavegreatimpactondigitalcommunicationsystemsuchasAudiofrequency,microwave,wirelesscommunicationviatroposphericscatter,modemofcableTVandsoon.Theresearchactivitiesaboutadaptivefilterinvolvetwoaspects:adaptivealgorithmandhardwarerealization.ThesuitablefilterarchitectureandadaptivealgorithmforFPGAhardwarerealizationaredetermined—LMSalgorithmhorizontalstructuralFIRfilter,basedontheanalyses,comparisonsandsummarizationofadaptivefilterprinciple,thearchitectureoffilter,optimumfilterprincipleandtheadaptivealgorithms.OntheMATLABplatform,theMfileiswrittenandsystemsimulationexperimentisputon.Themainparameterssuchasnumberoffilterexponent,step-size,track-speed,errorsandsoonarediscussed,thatprovidedasolidfoundationforthehardwarerealizationofadaptivefiltersOntheQuartusIIplatform,theadaptivefilterisdescribedanddesignedbyVHDL.Thedifficultiesofplusandminusnumberoperation,fixedpointnumberoperation,multiplyandaddoperationaresolved.UltimatelythehardwaredesignandlogicalsynthesisoftheLMSalgorithmhorizontalstructuralFIRfilterisrealizedusingEP2S30F484C3(Advanced)deviceofStratixIIfamilyofALTERACompany,thesimulationisdoneandalsotheresultsiscorrect.Keywords:adaptiveequalization,LMSalgorithm,MATLABsimulation,VHDL第一章概述在数字通信系统中,由于信道带宽有限、码间串扰、加性噪声等因素的制约,使系统中的数据传输受到严重的影响,导致信号在接收端产生严重的畸变,接收机的误码率增大,典型的例子包括电话信道、微波无限链路、卫星信道和水声信道等[5]。因此,本章首先对数字通信系统失真的原因进行分析,包括信道对信号造成的码间串扰和加性噪声干扰。之后,从信道均衡技术出发,阐述了有关自适应滤波技术的产生、研究与发展的概况。同时对在本论文中所用到的系统仿真软件和硬件实现工具做了详细说明。最后简要介绍了论文主要内容以及章节安排。1.1、通信系统中的失真分析1.1.1、数字基带传输系统模型在数字通信系统的研究中,通常采用图1-1表示数字通信系统的传输模型,图1-1数字通信系统的传输模型图1-1中,表示原始的数字信号序列,作为发送滤波器的输入,即:(1.1)、、分别表示发送滤波器、信道、接收滤波器的传输特性;整个数字通信系统(包括发送滤波器、信道和接收滤波器)的总传输特性,即:(1.2)其单位冲激响应用表示;表示系统中附加高斯白噪声;表示接收滤波器的输出、抽样判决电路的输入;表示抽样判决器输出的抽样判决结果。1.1.2、通信系统中的噪声干扰1、噪声的定义信道噪声是指通信系统中意图传输信号以外的有害干扰信号,与信号之间相互独立,并且在通信系统中是始终存在不可避免的,通常称为加性干扰或加性噪声。加性噪声的影响使信号产生失真,甚至错误,因此是限制信号传输或检测的重要因素,在实际工程中,只能采取措施减小加性噪声的影响,而不能彻底地消除加性噪声。2、噪声的分类信道中加性噪声(加性噪声)的来源,一般可以分为三方面:人为噪声、自然噪声。人为噪声来源于由人类活动造成的其他信号源,例如:外台信号、开关接触噪声、工业的点火辐射及荧光灯干扰等;自然噪声是指自然界存在的各种电磁波源,例如:闪电、大气中的电暴、银河系噪声及其他各种宇宙噪声等;内部噪声是系统设备本身产生的各种噪声,例如,在电阻一类的导体中自由电子的热运动(常称热噪声)、真空管中电子的起伏发射和半导体载流子的起伏变化(常称为散弹噪声)及电源哼声。按噪声的性质划分,加性噪声可分为单频噪声、脉冲噪声、起伏噪声三类。单频噪声是一种连续波的干扰(如外台信号),这类噪声占有极窄的频带,但在频率轴上的位置可以实测,因此,单频噪声并不是在所有通信系统中都存在,而且也比较容易防止。脉冲噪声是在时间上无规则地突发的短促噪声(如工业点火辐射),这类噪声突发的脉冲幅度大,但持续时间短,具有较长的安静期,对模拟话音信号的影响不大。起伏噪声是以热噪声、散弹噪声以及宇宙噪声为代表的噪声,这类噪声无论是在频域内还是在时域内总是始终存在和不可避免的,因此,一般来说,它是影响通信质量的主要因素之一。3、通信中的常见噪声模型在通信系统的理论分析中常常用到以下几种噪声模型,实际统计与分析研究证明,这些噪声的特性是符合具体信道特性的。(1)白噪声所谓白噪声是指它的功率谱密度函数在整个频域内是常数,即服从均匀分布:(1.3)这就说白噪声单位频带内(如每赫)的噪声功率与该频带的中心位置无关。之所以称它为“白”噪声,是因为它类似于光学中包括全部可见光频率在内的白光。根据功率谱与相关函数的关系,显然白噪声的自相关函数是一个函数,即:(1.4)由于只在处有一个值,而所有的位置上,所以白噪声随机过程内任何两个不同的样本函数之间都是不相关的。白噪声是一个理想化的模型,在实际中不存在完全理想的白噪声,通常只要噪声功率谱密度函数均匀分布的频率范围远远超过通信系统工作频率范围时,就可近似认为是白噪声。(2)高斯噪声所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声,其一维概率密度函数可用数学表达式表示为:(1.5)式中,为噪声的数学期望值,也就是均值;为噪声的方差。通常,通信信道中噪声的均值,这种均值为零的高斯分布也叫正态分布,即:(1.6)高斯噪声是实际存在最普遍的一种噪声。(3)高斯型白噪声高斯型白噪声也称高斯白噪声,是指噪声的概率密度函数满足正态分布统计特性,同时它的功率谱密度函数是常数的一类噪声。在通信系统的理论分析中,特别是在分析、计算系统抗噪声性能时,经常假定系统中信道噪声为高斯型白噪声。其原因在于,一是高斯型白噪声可用具体的数学表达式表述,便于推导分析和运算;二是高斯型白噪声确实反映了实际信道中的加性噪声情况,比较真实地代表了信道噪声的特性。1.1.3、通信系统的传输特性在实际的通信系统中,由于系统总传输特性(包括发送、接收滤波器和信道)不够理想,引起脉冲波形延迟、展宽、拖尾等畸变,使码元之间相互串扰。此时,实际抽样判决值不仅有本码元的值,还有其他码元在该码元抽样时刻的串扰值及噪声。下面以第个码元为例,分析其抽样判决结果,传输系统模型如上图所示。对第个码元的判决,应在时刻(为输入脉冲序列的周期,是信道和收、发滤波器所造成的传输延迟)对接收滤波器的输出进行抽样判决,即:(1.7)式1.7中,是第个码元波形的抽样判决值,它是确定的依据;是除第个码元以外的其他码元波形在第个码元的抽样时刻上的总和,对当前码元的抽样判决起着干扰作用,因此称为码间串扰值;是加性噪声通过接收滤波器后输出的噪声,表示输出噪声在第个码元的抽样时刻的瞬间值,它是一种随机干扰。通过分析可知,由于实际的通信系统很难满足无失真传输条件(奈奎斯特第一准则),信道的频率响应偏离了理想的均匀幅值和线性相位,已传输的脉冲的两个尾部(左边和右边)都会影响相邻的脉冲,这种由于相邻脉冲波形尾部重叠而引起的畸变称为码间串扰(ISI),它会引起误差的判决,增大出错的概率。对于背景噪声小的带限信道(如:电话的语音信道),ISI是高速数据传输的主要性能限制。在无线信道和水声信道中,ISI是由于多径传输的结果。码间干扰存在于所有的脉冲调制系统中,包括移频键控(FSK)、移相键控(PSK)和正交调幅(QAM)。1.1.4、均衡技术综上所述,在数字通信系统中,码间串扰和加性噪声是造成信号传输失真的主要因素,为克服码间串扰,在接收滤波器和抽样判决器之间附加一个可调滤波器,用以校正(或补偿)这些失真。对系统中线性失真进行校正的过程称为均衡,实现均衡的滤波器称为均衡滤波器。由于信道特性是变化的,均衡器的参数也应该随之而改变,可以自动调整参数以保持最佳工作状态的均衡器就是自适应均衡器(自适应滤波器)。自适应均衡器有频域均衡和时域均衡之分。频域均衡器只能均衡时变信道的幅频特性,不能有效地均衡群时延特性,在数字信号中一般不采用。时域均衡器利用它所产生的响应去补偿已畸变的信号波形,可以有效地抑制码间串扰和加性干扰。随着数字信号处理理论和超大规模集成电路技术的发展,时域均衡已广泛应用于数字通信的各个领域。有关自适应时域均衡理论,将在后面的章节做更为详尽地阐述。1.2、自适应滤波技术在数字信号处理领域,滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本处理部件,它从复杂的信号中提取有用的信号,同时抑制噪声和干扰信号。总的来说,滤波器可以分为经典滤波器和现代滤波器两大类。经典滤波器,即一般的滤波器,特点是假定输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,即关于信号和噪声应具有一定的先验知识,这样可以通过一个合适的选频滤波器将无用的频率成分滤除。对于经典滤波器如果有用信号和噪声的频谱相互重叠,则无法完成对噪声或干扰的有效滤除,这时需要采用另一类所谓的现代滤波器,例如维纳滤波器、卡尔曼滤波滤波器、自适应滤波器等最佳滤波器。现代滤波器是把信号和噪声都视为随机信号,利用输入信号内部的一些统计分布规律(如自相关函数、功率谱等)导出一套最佳的估计算法,从干扰中最佳地提取信号。1.2.1、自适应滤波理论所谓自适应滤波器,就是当环境条件发生变化时,利用前一时刻己获得的滤波器参数等结果,自动调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而使输出性能达到最优的效果。自适应滤波器属于现代滤波器的范畴。自适应(Adaptive)滤波理论是近40年来发展起来的信号处理领域一个新的分支,是现代信号处理理论的重要组成部分。自适应滤波理论是在维纳(Weiner)滤波、卡尔曼(Kalman)滤波理论的基础上发展起来的一种滤波技术,这三种滤波理论所研究的信号都是随机数字信号,但是维纳滤波需要已知输入信号和噪声的统计特性,而且维纳滤波器的参数是固定的,所以只适用于平稳随机信号;卡尔曼滤波滤波器的参数是可调的,适用于平稳随机信号和非平稳随机信号,但同样需要知道输入信号和噪声的统计特性,因此这两种滤波器只有在输入信号和噪声的统计特性先验已知的条件下,才能达到最有滤波效果。实际工程应用中,由于信号和噪声的统计特性无法得到或者统计特性是随之间在不断变化的,因此,在许多情况下维纳滤波器和卡尔曼滤波器就无法实现最佳滤波,而参数可调、无需预知信号和噪声统计特性的自适应滤波器正适用于这种场合,所以在实际的信息处理技术中自适应滤波器的应用非常广泛。1.2.2、自适应滤波器的研究现状近年来,自适应滤波器以其精度高、灵活性大、可靠性强、易于大规模集成的突出优点在通信领域中得到越来越广泛的应用空间。数字集成电路和微电子技术的迅速发展,尤其是超大规模集成电路和FPGA技术的出现,为高速实时、高集成度的自适应滤波器的实现提供了必要的技术条件和手段。目前,有关自适应滤波理论、自适应算法,尤其是在对不同的应用场合下,自适应算法的稳定性、收敛速度、收敛效果跟踪特性以的研究在不断深入,新的自适应改进算法和实现方法不断涌现,使自适应信号处理领域的研究更加红火,应用更加广泛。自适应滤波器技术在通信和雷达技术的信道均衡、回波抵消、噪声消除或抑制、语音编码、自适应跳频、天线旁瓣抑制、谱线增强、雷达杂波处理、雷达运动目标显示、窄带干扰抑制以及生物医学中的微弱电信号的处理等方面均获得了广泛的应用,但是,随着科学技术的不断发展,特别是当前数字通信日益广泛的应用,高性能、高速度、大容量的数字通信对通信技术和系统提出了更高的要求,这就要求自适应滤波器具有高性能、高稳定性、高收敛速度以及更加宽广的适用范围。1.3、MATLAB与系统仿真MATLAB是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写,它集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。另外,MATLAB还具有很强的功能扩展能力,可以配备各种各样的工具箱,以完成一些特定的任务,同时,用户还可以根据自己的工作任务,开发自己的工具箱。在MATLAB环境下,可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。MATLAB系统主要由以下五部分组成:(1)MATLAB语言体系。这是高层次的矩阵/数组语言,具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性,利用它既可以进行小规模编程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。(2)MATLAB工作环境。这是对MATLAB提供给用户的管理功能的总称,它包括管理工作空间中的变量,数据输入输出的方式和方法,以及开发、调试、管理M文件的各种工具。(3)图形句柄系统。这是MATLAB图形系统的基础,包括完成2D和3D数据图示、图象处理、动画生成、图形显示等功能的高层次MATLAB命令,也包括用户对图形图象等对象进行特性控制的低层次MATLAB命令,以及开发图形用户界面(GUI)应用程序的各种工具。(4)MATLAB数学函数库。这是对MATLAB使用的各种数学算法的总称,包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高层次数学算法。(5)MATLAB应用程序接口(API)。这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用C程序或FORTRAN程序,包括从MATLAB中调用子程序(动态连接),读写MAT文件的功能。1.4、硬件描述语言VHDL硬件描述语言(HDL即HardwareDescriptionLanguage)发展至今已经有40多年的历史了,现在硬件描述语言已经成功地用于硬件电路设计的模拟验证和综合优化等方面,成为电子设计自动化(EDA)技术的重要组成部分。所谓硬件描述语言,就是采用软件编程的方法来描述电子系统的逻辑功能、电路结构、信号连接关系以及定时关系的语言,它比传统的电路原理图法更简洁、准确、方便地表示硬件电路的特性。硬件描述语言的最大特点是可以借鉴高级编程语言的功能特性对硬件电路的行为和结构进行高度抽象化和规范化的描述;同时,它还可以对电子系统的设计进行不同层次、不同领域的仿真验证和综合优化等处理,从而实现设计的高度自动化。一般来说,硬件描述语言主要包括两大类:一种是文字硬件描述语言,另一种是图形硬件描述语言,在实际硬件电路的设计过程中,这两种硬件描述语言通常是可以并用的。其中,文字硬件描述语言通常应用于数字硬件电路系统的设计,它标志着现代硬件电路设计方法的产生、成熟和发展;图形硬件描述语言是采用直观的图形来描述硬件电路系统,例如逻辑电路图和状态流程图等。常见的HDL有VHDL、VerilogHDL、SystemVerilog、SystemC四种。其中VHDL、Verilog在现在EDA设计中使用最多,也拥有几乎所有主流EDA工具的支持,一般来说,这两种语言的侧重点稍有不同:VHDL非常适合于大型电子系统的描述,VerilogHDL则更加适合于硬件电路细节的描述。而SystemVerilog和SystemC这两种HDL语言还处于完善过程中。VHDL是电子设计的主流硬件描述语言之一。VHDL语言的中文全称是“超高速集成电路硬件描述语言”,英文全名是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,由美国国防部(DOD)发起创建,于1982年被研发出来。1986年3月,IEEE(TheInstituteofElectricalandElectronicsEngineers)致力于VHDL的标准化工作,同期成立了审查和完善VHDL的标准化小组。1987年12月,IEEE公布了VHDL的第一个工业标准版本“IEEE标准1076”(IEEEstd1076)并宣布实施,从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了VHDL的标准版本之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。此后VHDL在电子设计领域得到了广泛应用,并逐步取代了原有的非标准硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本的VHDL,即IEEE1076-1993。现在,VHDL与Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。目前,最新VHDL标准版本是IEEE1076-2002。VHDL语言的作用主要表现在以下几个方面:1、用来描述复杂系统,VHDL描述本身就是硬件的设计文档;2、EDA领域的研究者以及软件工具的开发商也利用VHDL进行各种算法的研究和不同软件工具的开发。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分及端口)和内部(或称不可视部分),以及涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。与其它硬件描述语言相比,应用VHDL进行工程设计的优点主要表现在以下几个方面:1、VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。2、VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。3、VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必须有多人甚至多个组共同并行工作才能实现。4、对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。5、VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。1.5、主要研究内容与目标1.5.1、论文的研究目标论文针对数字通信系统中,由于码间串扰(ISI)和信道加性噪声的干扰,导致信号在接收端产生误码,设计了基于LMS算法的自适应均衡器(滤波器),并通过硬件描述语言VHDL和现场可编程逻辑器件FPGA实现均衡器的硬件实现。在对自适应滤波基本理论的研究过程中,论文重点分析了有关自适应滤波器的结构、最佳滤波准则和各种自适应算法,选择了易于实现基于LMS算法的横向滤波器作为硬件实现目标。在MATLAB平台上对LMS算法、CMA算法以及相应改进形式的算法进行仿真实验,分析影响收敛性能的相关参数,并确定均衡器的阶数、字长、数制等参数,为LMS算法的FPGA实现提供依据。1.5.2、论文的研究意义自适应滤波器在很多领域拥有广阔的应用前景,特别是在数字通信领域,自适应均衡是对包括语音频带、微波、对流层散射无线通信、有线电视调制解调器在内的数字通信系统有最大影响的成熟技术[4]。目前有关自适应滤波器的研究一直以来是个热点课题,研究工作主要包括自适应算法和硬件实现。目前,自适应滤波器的硬件实现通常是采用DSP技术来实现的,由于这种方法有专门的函数可调用,因此设计方法相对简单,应用也最为广泛,但是这种方法不是纯硬件实现,实质上是软件和硬件的结合,其程序是顺序执行的,所设计的滤波器的运行速度比较慢,在某些实时性要求极高的场合中受到限制。现场可编程逻辑门阵列FPGA作为现代电子设计核心的EDA技术的实现载体,拥有规整的内部逻辑数组和丰富的联机资源特别适合于数字信号处理任务。利用可编程逻辑器件实现数字滤波器,由于采用的是硬件平行算法,相对于串行运算为主导的通用DSP芯片来说其并行性和扩展性更好,因此特别适用于某些实时性要求高的场合。FPGA作为一种新兴的芯片,由于其工作速度快、并行计算能力强、编程灵活等特点,已在现代电子系统设计中占有了重要的地位。基于FPGA实现数字信号处理算法的研究是目前国内外研究的焦点问题。因此对本选题的研究兼有一定的理论研究和实用价值。1.5.3、论文的章节安排本论文主要研究内容及章节安排如下:第一章绪论。对数字通信系统失真的原因进行分析,包括信道对信号造成的码间串扰和加性噪声干扰。从信道均衡技术出发,阐述了有关自适应滤波技术的产生、研究与发展的概况。同时对在本论文中所用到的系统仿真软件MATLAB和硬件描述语言VHDL做了详细介绍。第二章自适应滤波器原理与应用。在对自适应滤波器基本原理分析的基础上,详细描述了自适应滤波器的多种结构形式和最佳滤波准则,确定论文所设计的滤波器结构,同时重介绍了自适应均衡器在通信系统中的应用。第三章自适应算法的研究。在重点讨论适合硬件实现的LMS自适应滤波算法,对LMS算法中权向量(滤波系数)的迭代公式和影响算法性能的收敛步长等参数做深入的研究。同时,对实际中广泛使用的盲均衡算法做简要介绍。第四章自适应滤波器的FPGA实现。在确定自适应滤波器结构和自适应算法的基础上,采用FPGA器件和硬件描述语言VHDL在QuartusII平台上,实现LMS算法的FIR横向自适应滤波器的硬件设计。第二章自适应滤波原理与应用近年来,通信和生物医学等技术的发展为自适应滤波器提供了更为广泛的应用空间。在不同的应用领域,自适应滤波技术也不尽相同,也是人们一直以来所研究的热点,本章在对自适应滤波器基本原理分析的基础上,详细描述了自适应滤波器的多种结构形式和最佳滤波准则,确定论文所设计的滤波器结构,最后在对自适应滤波器应用的叙述中着重介绍了自适应均衡器在通信系统中的应用。2.1、自适应滤波原理所谓自适应滤波器,就是当环境条件发生变化时,利用前一时刻己获得的滤波器参数等结果,自动调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而使输出性能达到最优的效果。自适应滤波器在数字信号处理领域属于随机信号处理范畴,所研究的对象是平稳和非平稳随机信号,通过利用随机信号内部的一些统计特性,从干扰中最佳地提取信号。2.1.1、自适应滤波器的分类自适应滤波器按照不同的分类方法,有不同的分类,一般来说按照自适应系统的分类方法,自适应滤波器可分开环和闭环自适应两种类型[1],如图2-1所示:图2-1 开环和闭环两种自适应滤波器(1)开环自适应系统:对输入信号和环境进行测量,并用测量得到的信息形成公式或算法,用以调整自适应系统本身。如图所示,控制该系统的自适应算法仅由输入决定。(2)闭环自适应系统:除了对输入信号和环境进行测量外,还利用系统调整所得结果的有关知识去优化系统某种性能,即该系统是一种带“性能反馈”的自适应系统。如图所示,控制改系统相应的自适应算法除取决于输入外,同时还依赖于系统输出的结果。2.1.2、自适应滤波器的基本构成图2-2一般自适应滤波器的基本单元如图2-2所示,每个自适应滤波器都包括滤波结构、性能判据以及自适应算法三个模块[5]:(1)滤波结构:一个按理想模式设计的可修改滤波系数的可编程滤波器,这个模块利用对输入信号的度量,形成滤波器的输出。如果滤波器的输出是输入信号的线性组合,那么这个滤波器就是线性的;否则就是非线性的。例如,滤波模块可能是用直接或格型结构实现的、可调的有限脉冲响应数字滤波器,或者是用级联结构实现的递归滤波器。滤波结构被设计者固定了,而其参数可以用自适应算法进行调整。(2)性能判据(COP):COP模块用自适应滤波器的输入和期望响应去评价其质量是否与特定应用的要求相符合。规范的选择是用户可接受和数学易处理之间的折衷,我们可以用它推导自适应算法。大多数自适应滤波器使用平方误差的某种平均形式,因为这在数学上是容易处理的,且有利于实际系统的设计。(3)自适应算法:用来调节可编程滤波器滤波系数使滤波器性能带到最佳。自适应算法用性能标准的数值、它的某些函数,及输入信号和期望的响应来决定如何修改滤波器的参数,以提高性能。自适应算法的复杂性和特性是滤波结构和性能判据的函数。2.1.3、与普通滤波器的区别(1)自适应滤波器的滤波参数是可变的,它能够随着外界信号特性的变化而动态地改变参数,保持最佳滤波状态。自适应滤波器除了普通滤波器的硬件设备以外还有软件部分,即自适应算法。(2)自适应算法决定了自适应滤波器如何根据外界信号的变化来调整参数。自适应算法的好坏直接影响滤波的效果。2.1.4、自适应过程根据信号运行的环境不同(输入信号的特性不同),自适应滤波器的自适应响应(自学习)过程分为学习过程、跟踪过程[1][5],如图2-3所示:图2-3自适应学习曲线(1)学习过程:如果信号运行环境是固定不变的,但未知的,那么自适应滤波器的最佳滤波参数是固定的,这样就要求自适应滤波器找到使其输出性能最佳的参数,然后停止调整。从滤波器开始运行直到其基本达到最佳性能的初始阶段,被称为捕获或收敛模式,一般把参数收敛过程称为“学习”过程。(2)跟踪过程:如果信号运行环境的特性是随时间改变的,那么自适应滤波器的最佳滤波参数也是随时间变化的,这样就要求自适应滤波器能尽快“反应”过来,调整自己的参数,以跟随信号特性的变化而变化。在这种情形下,滤波器开始于捕获阶段,紧跟着跟踪模式,一般称这一过程为“跟踪”过程。2.2、自适应滤波结构自适应滤波器根据可编程滤波器结构单位脉冲响应类型、实现的网络结构的不同可以分成许多种类型。自适应滤波器在选择结构时,除了要看用途和各种结构的特点外,还要考虑特有的因素。自适应滤波器是通过控制参数来使滤波器保持最佳滤波状态的,而最佳滤波参数和信号的统计特性有关,所以最佳参数应表示为信号统计特性的函数。如果滤波器的结构合理,这个函数就简单,否则函数相当复杂甚至无法表示。简单的函数使得滤波器能快速的更新滤波参数。2.2.1、单位脉冲响应类型数字滤波器按照单位脉冲响应特性可分为有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器两种类型[2][5]。(1)有限脉冲响应(FIR)滤波器FIR网络中一般不存在输出对输入的反馈,这类网络的单位脉冲响应h(n)是有限长的,其系统函数可表示为:(2.1)(2)无限脉冲响应(IIR)滤波器IIR网络结构中存在输出对输入的反馈之路,在信号流程中存在环路,这类网络的单位脉冲响应是无限长的,其系统函数可表示为:(2.1)(3)FIR滤波器与IIR滤波器的比较FIR滤波器是全零点滤波器,它始终是稳定的,且能实现线性的相移特性,允许设计多通带和多阻带滤波器,但要取得较好的通带和阻带衰减特性,要求滤波器的阶数较高。FIR滤波器在自适应滤波器中的应用最广泛。IIR滤波器的传输函数既有零点又有极点,其首要优点是可在相同阶数时取得更好的滤波效果。这是用有限的系数实现无限冲击响应的输出和反馈的结果。用具有零极点的自适应IIR系统比只有零点的FIR系统得到更好的期望响应。它可以用不同的阶数实现具有陡峭通带特性。其主要缺点是稳定性不好,并且相位特性难于控制,也正是因为这些缺点限制了它在自适应滤波器中的应用,但由于它较容易实现陡峭通带的特性,所以它在实现对多径效应的自适应均衡等方面有很大的潜力。另外,由于IIR系统需要相对少的阶数,可以潜在的降低计算复杂性。由于实现IIR滤波器的结构的最佳参数不容易用信号的统计特性简单的表示,所以IIR滤波器在自适应滤波中使用较少。2.2.2、滤波器的实现结构FIR滤波器和IIR滤波器各有多种实现结构[2][5],如横向型结构、格型结构、对称横向型结构、级联结构、并联结构等。每种实现结构都有各自的特点,在不同的场合有着不同广度的应用,下面对FIR滤波器实际中常用的横向型结构和格型结构做简要描述。(1)横向型结构横向型结构是在自适应滤波器设计中应用最广泛的结构类型,对于FIR滤波器,其横向型结构如图所示:图2-4横向型FIR滤波器结构该滤波器的输出y(n)为:(2.3)式中,为输入信号,为权系数,为时间序列,为滤波器的阶数。横向型滤波器适应于所有的FIR滤波器,形式简单,易于实现;可以用流水线形式提高性能。(2)格型结构格型结构滤波器是具有有理系统函数数字滤波器的一种实现,这个结构广泛用于数字语音信号处理和实现自适应滤波器。格型滤波器分全零点格型滤波器和全极点格型滤波器。下图是全零点格型FIR滤波器的示意图:第P级图2-5全零点格型FIR自适应滤波器结构图图2-6全零点格型结构第m级子结构图该滤波器可以用以下公式描述:(2.4)其中,称为前向预测误差,称为后向预测误差,称为反射系数,m为结束序列值,P为串连的总级数。格型自适应滤波器的优点是:(1)按阶递归,所以增加或减少级数不会影响存在的阶数设计,这使我们能在变化的环境下,动态地选择最佳的阶数;(2)格式滤波器具有模块式结构,便于实现高速并行处理。(3)格型滤波器收敛速度快,稳定性好,对系数量化精度要求不高。格型自适应滤波器的缺点是计算量大,只能部分实现流水线,很难达到实时计算的要求且不容易实现。2.2.3、横向型FIR自适应滤波器综合上面的介绍,对应于不同的应用场合和设计要求,自适应滤波器的结构类型有许多种,在本论文中在对各种自适应滤波器广泛研究的基础上,根据各种算法的特点,结合实现的难易程度,选择了一种应用广泛、易实现的横向型FIR自适应滤波器作为深入研究的对象,该滤波器结构如图2-7所示:图2-6横向型FIR自适应滤波器在自适应线性均衡器中,图中所示的结构是一种常用的、易于实现的自适应滤波器。2.3、自适应滤波器的应用自适应滤波器的显著特点就是在运算工程中,在无需人工干预的情况下能修改自身的响应,从而提高其性能,因此自适应滤波器在多个领域有着广泛的应用。2.3.1、主要应用类型自适应滤波器的典型应用可分为4类:系统识别、系统求逆、信号预测和多传感器干扰抵消,如表4-1所示[1][5]:应用类型应用实例应用类型应用实例系统识别回波抵消自适应控制信道建模信号预测自适应预测编码变化检测射频干扰抵消系统求逆自适应均衡盲解卷积多传感器干扰抵消声学噪声控制自适应波束形成表4-1自适应滤波器应用分类2.3.2、自适应均衡器数字通信系统中,由于信道很难满足无失真传输的条件,相邻码元之间产生相互干扰,同时信道加性噪声始终存在,使系统中的数据传输受到严重的影响,导致信号在接收端畸变,造成误码,因此在信道中引入均衡器来校正信道。由于信道特性总的来说是未知的,且是时变的,因此需要用自适应算法进行自适应均衡。图2-7描述了自适应滤波器在自适应的信道均衡中的应用。(a)(b)图2-7数据传输系统中的自适应均衡器的模型实际的均衡器有三种运行模式[5],取决于我们用何种方式代替期望信号:(1)训练模式。传输一个已知的训练序列,均衡器通过比较自己的输出与接收方存储的训练序列的同步副本,来提高自己的性能。这种方式通常用于均衡器刚开始传输会话时。(2)判决指导模式。在训练会话的最后,当均衡器开始做出可靠的判决时,我们就用均衡器自己的判决代替训练序列。(3)“盲”或自恢复模式。在有些实际情况中使用训练序列是不可行的。这可能出现在计算机通信的多点网络中或同轴设备的宽带数字系统变更路由过程中。在深度衰落之后,微波信道均衡器的判决指导方式失效时,我们没有反向信道去呼叫要求重新训练。在这种情况下,均衡器应该能在没有训练序列的情况下,自己去学习和恢复信道的特性,这时我们就说均衡器工作在“盲”或自恢复方式。自适应均衡器的应用极大地提高了通信系统的速率和可靠性能,自适应均衡是对包括语音频带、微波、对流层散射无线信道、有线电视调制解调器在内的数字通信系统中有最大影响的成熟技术。第三章自适应算法的研究自适应算法有很多种,若用硬件来实现,理想的算法是最小均方误差(MSE)算法[25]。本章在确定滤波器的结构、最佳滤波准则的基础上,重点讨论适合硬件实现的LMS自适应滤波算法,对LMS算法中权向量(滤波系数)的迭代公式和影响算法性能的收敛步长等参数做深入的研究。同时,简要介绍了在HDTV、微波通信、多点通信网中广泛使用的盲均衡算法。3.1性能测量方法任何自适应滤波器的设计,都需要信号运算环境的一般先验信息和对特定应用的深入理解。设计者用这些信息去选择性能判据和滤波结构。很明显,信号运算环境的不可靠的先验信息或不正确的假设都会导致严重的性能降低,甚至使滤波器无法解决这个实际问题。从性能评估到对参数进行调整的策略转化,即自适应算法的设计,是自适应滤波器的设计和应用中最困难的一步[5]。3.1.1、最佳滤波器准则自适应滤波器是通过利用随机信号内部的一些统计特性,从干扰中最佳地提取信号,是滤波器的输出性能最佳。因此,在设计滤波器时应该根据自适应准则,设计出最佳性能滤波器。最佳滤波准则和自适应滤波器关系密切,最佳滤波准则规定了与某种特性的信号对应的最佳参数,而这个最佳参数指出了自适应滤波器调整参数的方向。关于自适应系统性能测量(或量度)方法有很多种,其中基本的方法包括均方误差(MeanSquareError,MSE)性能测度、最大信噪比(MaxSignal-to-NoiseRatio,MSN)性能测度、最大似然(MaximumLikelihood,ML)性能测度、最小噪声方差(MinimumNoiseVariance,MV)性能测度等[1]。根据自适应滤波算法优化准则的不同,自适应滤波算法可以分为两类最基本的算法:最小均方误差(LeastMeanSquare,LMS)算法和递推最小二乘(RLS)算法。LMS算法是基于最小均方误差准则,使滤波器的输出信号与期望输出信号之间的均方误差最小。RLS算法是基于最小二乘准则,使滤波器在一段时间内输出误差信号的平均功率(在时间上做平均)最小。由Widrow和Hoff(1960)引入的LMS算法,由于其具有计算量小、易于实现等优点而在实践中被广泛应用,论文所设计的自适应滤波器正是采用基于均方误差(MSE)准则的LMS算法。3.1.2、均方误差(MSE)性能测度均方误差(MSE)性能测度最早是由维德罗(B.Widrow)等人提出的,这种测量方法适用于一个总的系统输出为期望响应和自适应系统的输出之差。对于一个离散时间系统,可以定义期待信号为一个希望输出自适应系统与之相接近的信号,其中为采样时刻。图3-1利用MSE性能测度的自适应系统如图3-1所示,系统由一个自适应线性组合器和一个相减器组成,在系统输出误差(3.1)而线性组合器的输出(3.2)其中:(3.3)分别为自适应系统在k时刻的输入信号向量和权向量,于是系统输出均方误差为:(3.4)对于最小均方误差准则,就是要使最小,在理想输入为无噪声的情况下,系统的最小均方误差输出可以趋于零,即自适应线性组合器的输出和期望响应相同;而在通常输入为有噪的情况下,将不为零。3.1.3、自适应算法的性能指标文献[26]给出了衡量自适应均衡算法性能的指标,可用来作为比较算法性能的标准。收敛速度:相应于稳态输入,定义算法收敛到最优解所需要的迭代次数为收敛速度。收敛速度快,则算法对稳定环境自适应的速度快。在非平稳场合,收敛速度快,则算法跟踪统计特性变化的速度快。失调:该参数给出了剩余均方误差偏离最小均方误差的量度。计算复杂度:算法完成一次迭代所需要的操作数(乘加运算)。数值特性:计算机表示精度存在不准确性,而这类误差会影响算法的稳定性。本论文在对算法的研究中,主要采用了以上指标评估算法的性能。3.2、最小均方误差算法由Widrow和Hoff(1960)引入的LMS算法,由于其简单性、运算高效性和各种运行条件下良好的性能,而被广泛应用。这种算法避免了由于一般梯度估值带来的弊端,它采用一种特殊的梯度估值方法。这种估值可以用在自适应线性组合也可以用在自适应递归滤波器中应用。3.2.1、LMS算法结构分析LMS算法是直接利用单次采样数据来代替均方误差,于是在自适应过程的每次迭代中,其梯度估值具有如下的形式:(3.5)采用这个简单的估值,可以导出一种最速下降法类型的自适应算法:(3.5)称上式为LMS算法的权向量迭代公式,式中,为一个用于控制自适应速度和稳定性的增益常数,一般称为迭代步长或收敛步长。从式3.5可以看出,在实际系统中实现LMS算法不需要平方、平均或者微分运算,该算法的优点在于它的简易性和效率。也正因为如此,LMS算法的应用是有限制的。如果自适应系统是线性组合器,且有输入数据向量和期待响应在每次迭代时可以利用,此时LMS算法是很有意义的。实际上,对许多自适应信号处理的应用来说,LMS算法是最好的选择之一。3.2.2、LMS算法MATLAB仿真(1)迭代步长对收敛性能的影响在保证权值收敛的取值范围内,越大自适应的速度越快,但收敛达到后,失调也就越大。因此要合理选择的大小,以满足系统的要求。图3-2是在信道参数为H=[0.24430.1183-0.0455-0.09050.67660.6622-0.11630.0786],信噪比SNR=20db,阶数N=9,迭代步长分别为、、时,PAM信号的仿真结果。通过计算机仿真可以看出,算法的收敛速度最快,失调最大;时,算法的收敛速度最最慢,但失调最小。(1)u1=0.03时均衡器输出(2)u1=0.008时均衡器输出(3)u1=0.03时均衡器输出(4)MSE收敛曲线图3-1迭代步长对算法性能的影响(2)权向量阶数N对算法的影响无限长的横向滤波器可以(至少在理论上)完全消除抽样时刻上的ISI,但是,实际上这是不可实现的,因为均衡器的实际长度受经济条件制约(不可能达到无限多),还受每一个系数的调整精度决定(如果的调整准确度得不到保证,则增加长度所获得的效果也不会显示出来)[23]。在滤波器设计过程中,增加阶数N固然能提高其收敛性能,但由于数字滤波器要进行大量的乘加运算,阶数越长硬件实现的难度越大。因此,在硬件实现之前要通过MATLAB进行仿真,确定合适的阶数。图3-3是在信道参数为H=[0.24430.1183-0.0455-0.09050.67660.6622-0.11630.0786],信噪比SNR=20db,迭代步长为,阶数分别为N1=5、N2=9、N3=21时,PAM信号的仿真结果。通过计算机仿真可以看出,N3=21时,均衡器的失调最小;N1=5时,均衡器基本上不收敛。N2=9时,均衡器的收敛性能相对于N3时要差一点,但均衡器的输出基本上可满足抽样判决的要求,而且在硬件电路的实现的难度要比N3=21时小的多。(1)N1=5时均衡器的输出(2)N2=9时均衡器输出(3)N=21时均衡器输出(4)MSE收敛曲线图3-2阶数对算法性能的影响3.2.3、改进型LMS算法3.3、自适应盲均衡算法我们目前所讨论的自适应滤波器需要有一个监视其操作的期望信号。即在每一个时刻,自适应滤波器用输出信号和期望信号来做比较,并用此结果来提高其性能。由此看来,这个期望信号用做一种训练信号,它用以提供反馈信息,从而提高系统性能[5]。有些场合,如多点通信网络,希望接收在没有确知训练序列的情况下能与接收信号同步,并能调整均衡器,这种不利用训练序列初始调整系数的均衡技术,称为“自恢复”或“盲均衡”[23],我们称这种滤波器为无监督型自适应滤波器。很明显,无监督型自适应滤波器需要额外的信息来补偿这个期望信号。这些信息的形式取决于特定的应用,并且会对自适应算法的性能和设计有很大的影响。3.3.1、盲均衡器传统的自适应均衡器开始工作时,需要发送器在未知的信道上发送一个接收端已知的训练序列对信道特性进行均衡,这在很多实际应用中给通信系统带来不少问题,每当发生一次信道响应的改变或系统崩溃时,从而要求系统重复一次训练,这就使得通信系统必须具有及时反馈收端情况的能力,否则会导致系统数据处理能力的锐减。对于一发多收的通信网来说问题也许更加严重。反馈使网的管理复杂化,而且有可能大大降低网的总效率。因此,在数字通信应用中,自适应均衡器必须不通过训练序列就能够实现启动和重新训练。这种无需训练信号辅助运行的自适应均衡器称为盲均衡器。在点对多点数字通信和广播网络中,盲均衡器运用广泛,例如用于高清数字电视(HDTV)技术和有线电视等,在所有这些应用中发射机能照发信息而不受用户接收机的加入或推出的影响,同样也不受需要训练序列的影响[5]。图3-2自适应盲均衡器的基本单元盲均衡器系统的基本结构如图3-2所示。其中,表示发射机发射的原始信号序列;表示信道;为信道加性噪声;为均衡器的输入;表示长度为均衡器的抽头系数;为均衡器的输出;表示对均衡器输出值的判决值;为盲均衡算法的误差值。为补偿期望信号,在自适应系统中引入一个标量零记忆非线性函数,用来为盲均衡算法产生期望信号,以便产生误差值。随着盲均衡器的发展,很多无监督型自适应滤波器算法也有很大发展,这将使这些滤波器有更大的实际应用性。3.3.2、常数模算法在盲均衡系统中,非线性函数的不同选择产生了各种不同的盲均衡算法,由于输出近似于Bussgang过程,即:该过程的自相关函数等于它与它的线性变换的互相关函数,因此这些算法有时也称为盲均衡的Bussgang算法[5]。在Bussgang算法中,Godard算法、Sato算法和DD算法是三个有名的特例,这三种算法通常采用的是LMS准则[14],其权向量的迭代公式为:(3.6)常数模算法(ConstantModulesAlgorithm,CMA)是由Godard和Treichler等人在80年代初提出的一种盲均衡算法[5],属于Godard算法的一个特例,该算法的代价函数为:(3.7)式中为算法的模值:(3.8)其误差项为:(3.9)CMA算法的权向量迭代公式为:(3.10)CMA算法的计算简单,而且CMA算法的稳定性能很好,在实际应用中广泛应用于盲均衡器和盲阵列信号处理中,尤其是在QAM数字通信系统中。图3-3是CMA算法在典型电话信道H=[0.0050.009-0.0240.854-0.2180.049-0.016],信噪比SNR=30db,迭代步长,阶数N=9,输入信号为4QAM调制信号时的一个应用实例:(a)均衡器输入信号(b)均衡器输出信号(c)均方误差MSE收敛曲线图3-3CMA算法在QAM数字通信系统中应用3.3.3、改进型CMA算法第四章自适应滤波器的FPGA实现前面章节对自适应滤波器结构做了详细的分析,并利用MATLAB软件对多种自适应算法进行了仿真,在此基础上,本章主要研究LMS算法的横向自适应滤波器的硬件实现。目前,数字滤波器的实现大致有以下几种方法[22]:采用单片通用数字滤波器集成电路。单片通用数字滤波器,如TDC1028,使用简单方便,但由于字长和阶数的规格较少,不易完全满足实际需要。虽可采用多片扩展来满足,但会增加体积和功耗,因而在实际中受到一定限制。采用DSP器件实现,由于有专门的函数可供调用,因此使用DSP器件设计数字滤波器相对较简单,其应用也最为广泛,其唯一缺点是程序顺序执行,尽管DSP器件性能不断提高,但在某些实时性要求极高的场合中受到限制。采用可编程逻辑器件实现,随着可编程逻辑器件的容量和不断增加速度,实现单片系统集成SOC(System-On-Chirp)已经成为可能,利用可编程逻辑器件实现数字滤波器,由于实现的是硬件平行算法,因此特别适用于某些实时性要求高的场合。FPGA有着规整的内部逻辑数组和丰富的联机资源特别适合于数字信号处理任务相对于串行运算为主导的通用DSP芯片来说其并行性和扩展性更好。因此,在本论文中,采用FPGA器件和硬件描述语言VHDL来实现LMS算法的FIR横向自适应滤波器的硬件设计。4.1EDA技术概述现代电子设计技术的核心是EDA(ElectronicDesignAutomation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言为系统逻辑描述手段完成的设计文件,自动地完成逻辑测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件完成对系统硬件的实现。EDA技术进行电子系统设计的最后目标,是完成专用集成电路ASIC的设计和实现,ASIC作为最终的物理平台,集中容纳了用户通过EDA技术将电子应用系统的既定功能和技术指针具体实现的硬件实体。专用集成电路即具有专门用途和特定功能的独立集成电路,如:本论文所研究的自适应均衡器等,ASIC的实现可以通过超大规模可编程逻辑器件、半定制或全定制ASIC和混合ASIC来实现。4.1.1、超大规模可编程逻辑器件现在的可编程逻辑器件主要以大规模、超大规模集成电路制造工艺制造的CPLD、FPGA为主。CPLD(ComplexProgrammableLogicDevice)即复杂可编程逻辑器件,是基于乘积项原理的可编程逻辑器件,主要由宏单元(Marocell)、可编程连线(PIA)和I/O控制块等部分组成。这类器件采用电可擦除存储单元的EEPROM或Flash工艺制造,CPLD被编程后改变了电可擦除存储单元中的信息,掉电后可保存。在流行的CPLD中,Altera的MAX7000S系列、Xilinx的XC9500系列器件具有一定典型性。FPGA(FieldProgrammableGateArray)即现场可编程逻辑门阵列,是基于SRAM(静态随机内存)的查找表(Look-Up-Table,LUT)结构形成的可编程逻辑器件,主要由嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速通道(FastTrack)和I/O单元4部分组成。该类器件的编程信息保存在SRAM中,SRAM掉电后编程信息立即丢失,在下次上电后,还要重新加载编程信息,因此需要外加一片专用芯片对FPGA进行配置。在众多FPGA器件中,Altera公司的FLEX10K系列是典型的FPGA器件。FPGA/CPLD是实现ASIC设计的主流器件,其特点是直接面向用户,具有极大的灵活性和通用性,开发效率高,成本低,上市时间短等优点,因此受到世界范围内电子工程设计人员的广泛关注和普遍欢迎[4]。4.1.2、VHDL程序设计VHDL语言具有很强的电路描述能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述能力和系统描述的能力,在语言易读性和层次化、结构化设计方面表现出强大的生命力和应用潜力。1、TOP-DOWN设计方法传统的电路设计方法都是自底向上的,而基于EDA技术的自顶向下(TOP-DOWN)设计方法正好与其相反,其步骤就是采用可完全独立于目标器件芯片物理结构的硬件描述语言,如VHDL,在系统的基本功能或行为级上对设计产品进行描述和定义,结合多层次的仿真技术,在确保设计的可行性和正确性的前提下,完成功能确认。然后利用EDA工具的逻辑综合功能,把功能描述转换成某一具体目标芯片的网表文件,并利用布局布线适配器,进行逻辑映射及布局布线。再利用仿真器进行功能和时序的验证,以确保实际系统的性能,即系统的结构构成方式与系统的行为与系统的行为或算法方式相混合的描述(称为混合层次描述)。VHDL语言具有这种混合层次描述的能力,因此设计者可以在抽象度相当高的层次上描述系统的基本结构[9],这正是VHDL语言的优势所在。VHDL在设计描述过程中有一定的设计流程可以遵循,一般来讲,可以将其简要概括为以下几个步骤[7]:(1)设计规范的定义;(2)采用VHDL进行设计描述;(3)VHDL程序仿真(前仿真);(4)综合、优化和装配(或者布局布线);(5)装配(或者布局布线)后的仿真(后仿真);(6)器件编程。2、VHDL程序的主要结构[9][7]完整的VHDL程序包括五部分:库、程序包、实体、结构体和配置,其中库、程序包、配置不是每个程序都有的。这里主要介绍一下库、实体、结构体的功能。(1)库(Library):库是经过编译后数据的集合,它用来存放已经编译的实体说明、结构体、程序包和配置。在VHDL程序设计中,库的说明总是放在设计单元的最前面,包含了库的说明语句后,便能在设计中用库中的资料,比如数据类型和数学运算等,使设计者能共享已经编译过的设计结果。VHDL中常用的库有IEEE库、STD库、ASIC库、VITAL库和WORK库等。(2)实体(Entity):

温馨提示

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

评论

0/150

提交评论