本科毕业论文LMS算法.doc_第1页
本科毕业论文LMS算法.doc_第2页
本科毕业论文LMS算法.doc_第3页
本科毕业论文LMS算法.doc_第4页
本科毕业论文LMS算法.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

题目: 基于FPGA的LMS算法的实现 院(系) 信息科学与工程学院 专 业 电子信息工程 届 别 2007 级 学 号 0715212041 姓 名 徐鑫 指导老师 林奇伟(副教授) 华侨大学教务处印制 2011年05 月 摘 要 介绍了最小均方算法(LMS)以及其一些改进的算法(NLMS算法、变步长LMS算法等)的概念和基本原理,对LMS算法进行matlab实现并进行仿真评估。滤波器在数字信号处理中有着广泛的应用,针对常规滤波器因具有固定的滤波器系数,对某些信号处理系统不能实现最优滤波,设计了一种自适应滤波器及实现的软件算法。介绍了LMS、NLMS 自适应滤波器的工作原理,以及现场可编程门阵列(FPGA)在信号处理计算中的重要作用。 详细介绍了使用Altera公司基于Simulink的DSP算法开发工具DSP-Builder设计LMS自适应滤波器的流程与方法,并进行了实现和硬件仿真。详细介绍LMS算法的在信号处理中的多种实际应用,并进行matlab实现和仿真分析。关键词:最小均方;DSP-builder;信号处理;FPGAABSTRACT Introduced the least mean square (LMS), and some of its improved algorithm (NLMS algorithm, variable step size LMS algorithm, etc.) of the concepts and principles, matlab implementation of the LMS algorithm and simulated evaluation. Filters in digital signal processing is widely used for conventional filters with fixed filter coefficients due to, for some signal processing systems can not achieve the optimal filter, adaptive filter design and implementation of a software algorithm. Introduced the LMS, NLMS adaptive filter works, as well as field programmable gate array (FPGA) signal processing in the important role of the calculation. Altera Corporation introduced the use of Simulink-based DSP algorithm development tools for DSP-Builder LMS adaptive filter design processes and methods, and implementation and hardware simulation carried out. LMS algorithm introduced in the signal processing in a variety of practical applications, and the matlab implementation and simulation. keywords: least mean square; DSP-builder;signal processing; FPGA目 录 引 言 Xx第1章 、基础概念 Xx 1.1维纳滤波 1.2自适应滤波器第2章 、最小均方(LMS)算法 Xx 2.1LMS算法的基本原理 2.2LMS算法性能分析 2.2.1收敛性 2.2.2学习曲线与时间常数 2.2.3失调 2.3仿真结果分析第三章、多种改进型LMS算法的介绍 Xx 3.1归一化LMS算法(NMLS) 3.1.1基本原理与性能分析 3.1.2仿真结果分析 3.2可变步长LMS自适应算法 3.4泄露LMS算法 3.5极性LMS算法第四章、LMS算法在信号处理中的应用 Xx 4.1系统辨识 4.1.1基本原理 4.1.2仿真结果分析 4.2自适应噪声对消器 4.2.1基本原理 4.2.2仿真结果分析 4.3自适应信号分离器及窄带干扰抑制 4.3.1基本原理 4.3.2仿真结果 4.4自适应信道均衡器 4.4.1基本原理 4.4.2仿真结果第五章、4阶LMS自适应FIR滤波器系统的实现 Xx 5.1DSP-builder建模 5.2自适应滤波器的仿真验证 5.3自动生成VHDL代码第六章、基于FPGA的LMS算法的实现 6.1、VHDL程序设计 6.2、LMS算法的FPGA实现 6.2.1LMS 自适应滤波器的算法构想 6.2.2N 阶FIR 滤波器模块的设计 6.3自适应滤波器的仿真验证 6.3.1仿真实现 6.3.2仿真结果结 语 xx参考文献附录一 Xx附录二引 言在数字信号处理中,滤波技术占用极其重要的地位。在一些数字信号处理场合,因无法预知信号和噪声的特性,加上常规滤波器具有固定的滤波器系数,对这种数字信号不能实现最优滤波。因此需要一种具有跟踪信号和噪声变化,并且能使得滤波器的动态特性随机信号和噪声的变化而变化的自适应滤波器,以达到最优滤波效果。 自适应滤波器可广泛应用于系统识别、信号处理和数字通信等许多领域。而超大规模集成电路和FPGA的飞速发展,也促进了自适应滤波技术的进步。此外,由于其对干扰频率不敏感,且其权值调整是基于对系统参数的优化,因此,自适应滤波器仍然越来越多地受到人们的关注。最小均方误差( Least Mean-Square,LMS) 算法因适合于硬件实现而被广泛应用。传统的数字信号处理算法一般使用可编程DSP 处理器实现,但是,DSP 器件内部的乘法器数量有限,对于乘法较多的运算只能靠软件编程进行串行运算。大容量现场可编程门阵列( Field Programmable Gate Array,FPGA)内部有丰富的资源用于算法的并行实现,然而在算法的开发方面,直接使用硬件描述语言(VHDL)的难度较大,开发周期长并且容易出错。使用基于Simulink 的设计工具如DSP-Builder 设计LMS 类滤波器就如搭建通常的仿真平台一般,可以快速地构建数字信号处理系统。1、 基础概念 1.1维纳滤波20世纪40年代,维纳奠定了最优滤波器理论的基础。其思想是,假定横向滤波器的输入和期望响应均为广义平稳随机过程,且已知其二阶统计特性,维纳根据最小均方误差准则,求得了最优滤波器参数,这种滤波器称为维纳滤波器。 令d(n)表示“期望输出信号”,则输出信号为: (2.2)误差信号e(n)为: (2.3)定义估计误差e(n)的平均功率为: 令期望响应的平均功率,互相关向量,输入信号向量的自相关矩阵,所以由推导可得: 可以把具有M个自变量的函数看成一个在M+1维空间中,具有M个自由度的抛物面,而这个抛物面具有唯一的全局极小值点(估计误差的平均功率最小),经常把所构成的这样一个多维空间的曲面称为误差性能面。根据矩阵理论,如果多元函数在点处有偏导数,那么在点w处取得极值的必要条件是。因此可得: 所以 上式是著名的维纳-霍夫方程。因为R几乎总是非奇异的,于是R-1左乘方程的两边,得: 当滤波器权向量w满足上式时,均方误差最小,此时的权向量称为最优权向量w0。 1.2自适应滤波器自适应滤波器实际上是一种能够自动调整本身参数的特殊维纳滤波器,在设计时不需要预先知道关于输入信号和噪声的统计特性,它能够在工作过程中逐步“了解”或估计出所需的统计特性,并以此为依据自动调整姿势参数,以达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳。 参数可调DF自适应算法 图1.1自适应滤波器原理图自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成,如上图所示。参数可调数字滤波器可以是FIR数字滤波器或IIR数字滤波器,也可以是格型数字滤波器。输入信号x(n)通过参数可调数字滤波器后产生输出信号(或响应)y(n),将其与参考信号(或期望响应)d(n)进行比较,形成误差信号e(n)并以此通过某种自适应算法对滤波器参数进行调整,最终使e(n)得均方值最小。尽管自适应滤波器具有各种不同的算法和结构,但是其本质特征是始终不变的。这种最本质的特征可以包括为:自适应滤波器依据用户可以接受的准则或性能规范,在未知的而且可能是时变的环境中正常运行,而无须人为的干预。2、 最小均方(LMS)算法 2.1LMS算法的基本原理 最小均方(LMS)自适应算法就是一中已期望响应和滤波输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。LMS算法是一种梯度最速下降方法,其显著的特点是它的简单性、计算量小、易于实现。这算法不需要计算相应的相关函数,也不需要进行矩阵运算。 在最陡下降法中,如果能够精确测量每一次迭代的梯度向量,而且如果收敛因子合适选择,则最陡下降法能够使得抽头权向量收敛于维纳解(对于平稳过程)。但是,梯度向量的精确测量需要知道抽头输入的相关矩阵R以及抽头输入与期望响应之间的相互向量p,因此,当最陡下降法应用于未知环境时,梯度向量的精确测量是不可能的,必须根据可用数据对梯度向量进行估计。使用估计梯度向量的最陡下降法为 (2.4) 对于最小均方误差准则下的自适应横向滤波器来说,若采用一般的梯度估计方法推出自适应算法,则需要分别取权值经扰动后的两个均方误差估计(在一段短时间内的采样数据平均值)之差来作为梯度估计。而LMS算法,则是直接利用单次采样数据获得的来替代均方误差,从而进行梯度估计。所以,把这种梯度估计称为瞬间梯度估计。于是在自适应过程的每次迭代时,其梯度估计为: (2.5)于是可得利用瞬时梯度估计的最陡下降法的迭代公式为: (2.6)图为LMS算法子程序流程图,算法的实现根据实际设置迭代次数、阶数、步长等。 图2.1 子程序流程图 由此可见,自适应LMS算法简单,它既不需要计算输入信号的相关函数,又不要求矩阵之逆。因而得到了广泛的应用。但是,由于LMS算法采用梯度矢量的瞬时估计,它有大的方差,以致不能获得最优滤波性能。2.2LMS算法性能分析 2.2.1收敛性 收敛性是自适应滤波器的一个非常重要的指标。为了检验LMS算法的收敛性,首先需要证明式(2.5)所示的梯度估计是无偏的。 将式(2.5)的两边取数学期望,得到 (2.7) 由此可见,LMS算法对性能函数梯度的估值是无偏的。这就是说,如果每次迭代调整权矢量前能够进行多次观测,获得多个x(n),并对按式(2.5)计算得到的多个梯度估计进行统计平均,然后依据梯度的统计平均值来调整权矢量,那么迭代结果必能得到理想的最佳权矢量。但是实际运用中每一次调整前,通过观测只能得到一个x(n),再由式(2.5)得到一个,据此调整权矢量得到的w(n)必然是随机的。当迭代过程收敛后,权矢量将在最佳权矢量附近随机起伏,这等于在最佳权矢量上叠加了一个噪声。 由式(2.6)可知,当前时刻权矢量w(n)只是过去输入矢量x(n-1),x(n-2),.x(0)的函数,如果假设这些输入矢量相互独立,那么w(n)将与x(n)无关。为了研究方便起见,假设LMS算法的连续两次迭代时间足够长,以保证输入信号x(n)和x(n+1)互不相关,即满足w(n)将与x(n)无关的要求。对式(2.6)两边取数学期望,得: (2.8)在最速下降法中,得到的权矢量为: (2.9) 将上面的两个式子相对照,可以看出LMS算法得到的权矢量,其期望值与最速下降法得到的权矢量本身都服从相同的迭代计算规律。因此,可以证明,如果步长满足:,那么,即能够得出这样的结论:当式(2.9)的条件得到满足时,随着迭代次数趋近于无穷,权矢量的期望值将趋近于最佳权矢量,其中是相关矩阵R的最大特征值。 图2.2 LMS算法收敛曲线 2.2.2学习曲线与时间常数 在自适应调整权系数的过程中,均方误差是迭代次数的函数,由该函数给出的曲线称为学习曲线。 (2.10) 式(2.10)即为LMS算法的自适应学习曲线,其中为矢量的第k个分量,为对角阵中第k个对角元素。由此可以看出,均方误差函数是迭代次数n的指数函数,只要能够满足式收敛条件,均方误差将随着迭代的进行呈现出指数下降的趋势,并最终趋近于维纳滤波所满足的最小均方误差。如果步长参数选用得越小,则这种噪化指数衰减曲线上的波动幅度将越小,即学习曲线的平滑度越好。 学习曲线时间常数是用迭代次数来度量的,若用其取样间隔来度量,则称之为自适应时间常数,常用表示。在LMS算法中,每次梯度估计是基于一个输入数据样本进行的,这样输入数据的时间常数就与均方误差学习曲线的时间常数相等,即 (2.11) 学习曲线时间常数的大小决定了自适应学习过程的长短及收敛的快慢,根据上式,时间常数是与收敛因子成反比的,即步长越小,学习曲线收敛越慢。 2.2.3失调 LMS算法之所以简单,主要是因为它对梯度矢量各分量的估计是根据单个数据取样值得到的,没有进行平均。也正是这个原因,才使梯度估计中存在噪声。并且由于LMS算法的加权矢量w(n)具有随机性,使得LMS算法的将高于最速下降法的。特别是,对于LMS算法来说,在收敛到最佳后,由于加权矢量继续按公式(2.6)变化,其校正值不为零而是继续随机起伏,从而使w(n)也继续随机起伏。这就使得LMS算法的收敛到后,均方误差将大于维纳误差,其偏移量用表示,的期望值称为超量均方误差,即 (2.12) 梯度噪声的存在,使得收敛后的稳态权矢量在最佳矢量附近随机起伏,这意味着稳态均方误差值总大于最小均方误差,且在附近随机改变。 引入失调系数 (2.13)由理论推导可得 (2.14)(下标av表示“平均”)在所有特征值相等的情况下,上式得到进一步的简化为 以上表明:(1) 失调为自适应LMS算法提供了一个很有用的测度,比如,10%失调意味着自适应算法所产生的总体平均MSE高于最小均方误差的增量值为10%;(2) 失调是随着滤波系数数目线性增加的;(3) 失调可以做得任意小,只要选用大的时间常数,也就是小的步长值即可。但是,滤波器自适应收敛过程需要长的时间,影响了滤波器的自学习、自训练的速度,所以自适应滤波器LMS算法的失调与自适应收敛过程之间存在矛盾。 2.3仿真结果分析 加入的误差为高斯随机序列,设置信道特性向量为0.0976 0.2873 0.3360 0.2210 0.0964,节点为60,总采样次数为1000次。 图2.3 (a) 图2.3 (b) 图2.3 (c) 从图4(a)中可以得到实际信号的输出在坐标0的范围波动,而系统的输出大部分在(0.5,-0.5)之间。少部分在它之外波动。随N的增加而波动范围变小。 从图4(b)中可以得到随步长参数的减少,LMS算法的收敛速率相应减少。同时也影响学习曲线的变化。误差曲线随迭代次数n的变化而逐渐收敛于10-1,且随N的增加而越趋明显。 从图4(c)中可以得到实际权矢量与误差权矢量的关系:误差权矢量与实际权矢量有较大的误差,而误差权矢量总是围绕在实际权矢量上下波动。随N的增加而使得其相互之间的误差越小。 最小均方误差(LMS)算法是最简单、应用最广泛的自适应算法之一。LMS算法通过自适应调节w(n),使得残余回波或平方误差的期望值达到最小。事实上,LMS算法是依据最陡梯度法来更新滤波器系数w(n)的,用算术矢量形式表示为 (2.15)由于很难实际计算出来,因此在LMS算法中。平方误差的期望值被瞬间值所取代,即: (2.16) 为确保收敛,收敛因子 应满足(是相关矩阵的最大特征值)。由于LMS算法易于实现,同时,算法对有限寄存器长度造成的实现误差不敏感,因此LMS算法对于实际应用来说具有相当的吸引力。然而LMS算法的收敛速率依赖于特征值的发散程度。在实际应用中,输入信号往往是语音,而语音的特征值分布相对分散,因此LMS的收敛速度较慢,于是又出现了很多改进算法,比如滑动窗LMS算法,时域去相关LMS算法(DLMS),NLMS算法,符号误差算法等等。这些算法比基本的LMS算法在精度和收敛速度上有明显的改进,计算量和基本LMS算法相当。由于NLMS算法相对简单,容易实现,因此应用更广泛。第三章、多种改进型LMS算法的介绍 3.1归一化LMS算法(NMLS) 3.1.1基本原理与性能分析 因为LMS算法的收敛性和稳定性能均与自适应滤波器权系数矢量的系数数目和输入信号的功率直接相关。为了确保自适应滤波器的稳定收敛,出现了对收敛因子进行归一化的NLMS算法,这种算法的归一化收敛因子表示为: 式中,为输入信号x(n)的方差。直接计算是很难求出结果的,通常的做法是用时间平均来替代上式中的统计方差,即 式中是对的近似估计。将归一化收敛因子代入LMS算法,得到 通常我们还要在上式的分母上加上一个小的正的常数,这样可以避免0值得出现。于是可以得到NMLS算法迭代公式表示为: 由于上式中的归一化收敛因子是在迭代过程中随机变化的,因此实际上NMLS是一种归一化变步长算法。 3.1.2仿真结果分析现在我们考虑一个线性自适应均衡器系统,用NLMS算法进行实现,画出一次实验和20次实验的误差平方的收敛曲线。假设随机数据产生双极性的随机序列x(n),它的随机地取+1和-1。随机信号通过一个信息传输,信道性质可由一个三系数FIR滤波器刻画,滤波器系数分别为0.3,0.9,0.3。在信道输出加入方差平方高斯白噪声,设计一个有11个权系数的FIR机构的自适应均衡器,令均衡器的期望响应为xn-7,选择几个合理的白噪声方差平方(不同信噪比)。 图3.1 收敛曲线 用LMS算法设计的自适应均衡器系数序号12345678910111次-0.00370.0074-0.001-0.0520.16670.51121.4216-0.5240.1688-0.0600.016420次0.0383-0.0480.0565-0.1060.2208-0.5491.4546-0.5680.2238-0.1000.0367 观察三个不同步长情况下的平均误差曲线,不难看出,步长越小,平均误差越小,但收敛速度越慢,为了更精确,必然牺牲收敛速度;当降低信噪比时,20次平均仍有好的结果,但单次实验的误差曲线明显增加,这是更大的噪声功率对随机梯度的影响。 3.2可变步长LMS自适应算法 收敛速度、时变系统的跟踪能力及稳态失调是衡量自适应滤波算法优劣的三个最主要的技术指标。由于LMS算法的加权矢量w(n)具有随机性,使得LMS算法在收敛到最佳值w0后,加权矢量w(n)继续按公式 (4.1)变化,其修正量e(n)x(n)不为零而是继续随机起伏,从而使得LMS算法的Ew(n)收敛到w0后,均方误差将大于维纳误差min。同时,由于输入端不可避免地存在干扰噪声,LMS算法将产生参数失调噪声。干扰噪声vn越大,所引起的失调噪声就越大。步长因子值对的收敛过程有着很大的影响,值必须满足收敛条件。此外,在收敛范围内,值越大,收敛越快。但过大时,过度过程将出现振荡,MSE也会变大;减小值可以减小自适应滤波算法的稳态失调噪声,提高算法的精确度。然而,步长因子的减小将降低算法的收敛速度和跟踪速度。因此,固定步长的自适应滤波算法在收敛速度、时变系统跟踪速度与收敛精度方面对步长因子的要求是相互矛盾的。 变步长NLMS算法在很大程度上减少了基本LMS算法在收敛过程中对梯度噪声的放大作用。在训练均衡器抽头系数时,如果在算法简单的同时要求获得较佳的MSE和较快的收敛速度,NLMS将是一种比较好的选择。为了进一步提高性能,这种变步长的更新算法改进了NLMS算法,计算量增加很少,但是能显著地提高收敛速度,并且收敛后能达到更小且稳定的MSE。 3.4泄露LMS算法泄露LMS算法也是一种应该广泛的自适应算法。例如在通信系统的自适应分差脉冲编码(ADPCM)中,泄露LMS算法被用来减小或消除通信误差。泄露LMS算法的迭代公式表示为: 式中为正值常数,需要满足,通常取近似为1,若,则泄露LMS算法变为LMS算法。对于常规的LMS算法,当值突然变为0时,权矢量系数将不再发生变化而保持为0时的值,而对于泄露LMS算法,当变为1之后,滤波器的权矢量将逐渐变化,并最终变为0矢量,这一过程称为泄露。可以证明,在无噪声的条件下,泄露LMS算法的性能并没有常规LMS算法好。而且泄露LMS算法的权矢量相对于最佳权矢量总是存在偏差,即泄露LMS算法是一种有偏的LMS算法。 3.5极性LMS算法在高速数字通信的应用领域中,实际问题往往对算法的计算有一定的要求,因此出现了一种称为极性(或符号)算法的自适应算法。这种算法减小了自适应滤波器的计算量,有效地简化了相应的硬件电路和程序计算。由标准的LMS算法递推公式可知,自适应调整方向仅取决于的符号,由此可以写出LMS算法的三种简化形式:(1) 对输入信号取符号的信号极性算法(SR) (2) 对误差取符号的误差极性算法(SE) (3) 对误差与输入信号二者均取符号的简单极性算法(SS) 由这些算法的递推公式可以看出,它们均可视为变步长算法。为了保证收敛,必须取很小的值,由于在收敛过程开始时,一般比较大,从而算法(2)和算法(3)初始化收敛过程比较慢。分析证明:对于高斯信号来说,算法(1)的收敛性能非常接近于标准的LMS算法,因而算法(1)的收敛性能最好。极性LMS算法的主要优点是计算量小,这种算法把一个数据样本的N比特运算简化为一个比特的运算,即符号或极性的运算。另一方面,与基本LMS算法相比,这种算法在梯度估计性能上有所退化,这是由于较粗的量化精度引起的,并由此引起了收敛速度的下降和稳态误差的增加。四、LMS算法在信号处理中的应用 4.1系统辨识 4.1.1基本原理对于一个真实的物理系统,人们主要关心其输入和输出特性,即对信号的传输特性,而不要求完全了解其内部结构。所谓系统辨识,实质上是根据系统的输入和输出信号来估计或确定系统的特征以及系统的单位脉冲响应或传递函数。采用滤波器作为通信信道的模型,并利用自适应系统辨识的方法对通信信道进行辨识,从而可以进一步对通信信道进行均衡处理。如果把通信信道看成是一个“黑箱”,仅知道“黑箱”的输入和输出;以一个自适应滤波器作为这个“黑箱”的模型,并且使滤波器通过调制自身的参数,使滤波器的输出与“黑箱”的输出相“匹配”,这样滤波器就模拟了通信信道对信号的传输行为。尽管自适应滤波器的结构和参数与真实的通信信道不一样,但是它们在输入、输出响应上保持高度一致。因此在这个意义上,自适应滤波器就是这个未知“黑箱”系统的模型。并且可以发现,如果自适应滤波器具有足够多的自由度(可调节参数),那么自适应滤波器可以任意地模拟这个“黑箱”。 未知系统自适应滤波器 图4.1 自适应系统辨识原理图假定未知信道为有限冲激响应(FIR)结构,构造一个FIR结构的自适应滤波器,如上图。在图中用一伪随机系列作为系统的输入信号x(n),同时送入未知信道信道系统和自适应滤波器。调整自适应滤波器的系数,使误差信号e(n)的均方误差达到最小,则自适应滤波器的输出y(n)近似等于通信系统的输出d(n)。可以证明加性噪声的存在并不影响自适应滤波器最终收敛到最优维纳解。可以认为具有相同输入和相似输出的两个FIR系统,应该具有相似的特性。因此,可以采用自适应滤波器的特性或其单位脉冲响应来近似替代未知系统的特性或单位脉冲响应。 4.1.2仿真结果分析通过FIR滤波器的自适应调整,不断修正系统函数,使其与未知系统的参数充分逼近,从而使误差最小,达到系统辨识的目的。下图的仿真为初始信号为两余弦信号和一噪声的叠加,未知系统是从输入x(n)中滤出f=100HZ的信号。 图4.2 系统信号处理频谱 从上图可知,自适应FIR滤波器能很好地模拟未知系统,它们与原始信号处理后的效果十分接近。这样,通过自适应FIR滤波器的参数指标,就能得到未知系统的系统函数,从而可以对未知系统进行功能相同的硬件重构,这在工程上应用中有着广泛的应用。 4.2自适应噪声对消器 4.2.1基本原理在通信和其它许多信号处理应用问题中,接受的信号中往往伴随着干扰和噪声,影响接受信号的可靠性,导致误码率的上升。自适应信号信号处理就是利用最优滤波器将受到噪声和干扰污染的信号中估计、检测或恢复出原始信号,最优滤波器可以是固定的,也可以是自适应的,其中设计固定滤波器依赖于信号和噪声的先验统计知识,而自适应滤波器则不需要或只需很少有关信号噪声的统计先验知识。自适应噪声抵消的基本原理是将被噪声污染的信号与参考信号进行抵消运算,从而消除带噪声信号中的噪声。其关键问题是自适应噪声抵消系统的参考信号一定要与待消除的噪声具有一定相关性,而与要检测或提取的信号不相关。一般来说,从接受信号中减去噪声似乎是很危险的,极有可能会导致噪声不仅不能被消除,反而会消除弱有用信号。但是自适应噪声抵消系统经过自适应系统的控制和调整,能够有效地从噪声中恢复出原始信号。对于LMS自适应滤波器来说,我们一直关心如何取得需要的信号d(n),在噪声对消的情况下,可以构成如图所示电路框图,自然地取得。 噪声源自适应滤波器信号源 图4.3自适应噪声对消原理图在上图中有两个通道-主通道和参考通道,假设、和为零均值平稳随机过程。由于两个通道受到的干扰均来自同样的噪声源,所以两者之间存在一定的相关性,但是却与有用信号s(n)是互不相关的。主通道接受从信号源发来的信号s(n),受到噪声源的干扰,主通道也收到噪声。参考通道接受的信号为,通过自适应滤波调整后输出,使其在最小均方误差意义下最接近主通道噪声,它是的最佳估计。这样通过相减器将主通道的噪声分量对消掉。整个自适应噪声抵消系统的输出取自误差信号e(n),表示为: 均方误差输出的均方值为: 因为s(n)与及互不相关,所以s(n)与也不相关,则有 那么可得: 信号功率与自适应滤波器的调节无关,因此,调节自适应滤波器使最小,等价于使最小。又因为 所以当最小时,也达到最小,即自适应噪声抵消系统的输出e(n)与有用信号s(n)的均方误差最小,也就是e(n)是有用信号s(n)的最佳估计。自适应滤波器能够完成上述任务的必要条件为:参考输入信号必须与被抵消的噪声信号相关。另外,若有用信号s(n)漏入参考通道一端,则有用信号亦将有一部分被抵消,因此应尽可能避免有用信号漏入自适应滤波器参考输入端。 4.2.2仿真结果分析下图为一个2阶加权自适应噪声对消器,对经加性高斯噪声信道干扰的正弦信号进行滤波后的仿真结果图。 图4.4二阶加权自适应噪声对消器上图中信号源产生一个正弦信号,并与噪声源产生的高斯白噪声叠加后进入噪声对消器主通道,自适应滤波器的输入端是单一的噪声源产生的噪声信号,通过LMS算法自适应调整线性组合器的权系数,主通道与参考通道内的噪声信号对消,所输出误差信号即为信号源产生的期望正弦信号。 4.3自适应信号分离器及窄带干扰抑制 4.3.1基本原理自适应噪声抵消系统要求参考输入的参考信号是与噪声相关的。然而在有些应用中,要想找到一个噪声有较好相关性的参考信号是非常困难的,这使自适应噪声抵消系统难以工作。实际上,如果宽带信号的噪声是周期性的,则即使没有另外的与噪声相关的参考信号,也可以使用自适应噪声抵消系统来消除这种同期性干扰噪声。(周期信号加宽带信号)自适应滤波器 图4.5分离周期信号和宽带信号的电路在上图中,虚线框中的部分为一自适应噪声抵消系统结构,原始输入x为周期信号和宽带信号的混合。输入信号直接送入主通道,同时经过一个延时为的延时电路送入参考通道。延时取足够长,使得参考信道输入r中的宽带信号与x中的宽带信号不相关或者相关性极小。而在x和r中的周期信号因其周期性,其相关性也是周期性的,经过延时之后,其相关性保持不变。然后经过自适应噪声抵消系统处理,参考通道中自适应滤波器将调整其加权,使输出y在最小均方误差意义上接近与相关分量-周期信号,而误差接近与非相关分量-宽带信号。从而得到两个输出端:输出1将主要包含宽带信号,输出2将主要包含周期信号。在无线通信中,通信信号往往被其它信号干扰,通常,通信信号扩展频谱信号,干扰信号是窄带信号,往往来自于另一频带用户的信号,或者企图破坏通信或检测系统的干扰台的故意干扰信号是窄带干扰。为保障正常通信和提高通信性能,需要抑制宽带信号中的窄带干扰,即需要设计消除窄带干扰的滤波器。宽带信号中的窄带干扰抑制实际上是自适应信号分离的一种应用,下图是窄带消除滤波器原理框图。延时 D自适应FIR滤波器 图4.6 对消窄带干扰的自适应滤波器因为相对的宽带,的带宽窄的多,所以的样本值之间有很强的相关性。因此从序列中得到的样本值估计,并从中减去此估值,就能得到通信信号。信号延时D个采样,D要选得足够大以至于宽带信号分量与不相关,自适应FIR滤波器的输出为估值: 用于优化FIR滤波器系数的误差信号是。使平均误差和最小化又导出了确定最佳系数的线性方程组。由于延时D,迭代调整系数的LMS算法变成 4.3.2仿真结果以下为自适应信号分离器实现的效果图,该自适应分离器用以从白噪声中提取周期信号。其中选取正弦信号为周期信号,宽带噪声信号为高斯白噪声,设置参考通道延时为50。 图4.7分离周期信号与宽带信号宽带信号中的窄带干扰抑制借助自适应信号分离器可以方便的实现窄带干扰的对消。以下是用matlab程序实现的自适应窄带干扰抑制仿真结果。 图4.8 宽带信号中窄带干扰抑制 4.4自适应信道均衡器 4.4.1基本原理在数字基带传输传输中,为了抑制码间干扰,减少信号失真,保证通信质量,在实际的数字传输系统中还需要对整个系统的传递函数进行校正,使其接近无失真传输的条件,校正的过程即为均衡。广义上讲,“均衡”是指任何消除或减少码间干扰的信息处理或滤波技术。LMS算法在信道均衡中的应用,其中一种算法为解相关LMS算法。如果利用输入信号的正交分量更新自适应滤波器的参数,可以加快LMS算法的收敛速度,这里提出的解相关LMS算法,就是通过解相关算法利用输入信号的正交分量更新滤波器的参数。定义均衡器各抽头输入向量x(n)与x(n-1)在时刻n的相关系数为: 则解相关运算就是从x(n)减去上一时刻x(n-1)与其相关的部分,并用解相关的结果作为更新方向向量,即 另外步长参数应该满足下式的最小问题解 其中为期望响应,即 下降算法的均衡器抽头参数迭代表达式为 另一种算法称为变频域解相关LMS均衡算法。对LMS算法的改进还可以通过对输入信号向量x(n)进行酉变换(正交变换)实现,通过酉变换可以提高收敛速度,而计算量并没有明显变化,此类算法及其变型统称为变换域自适应滤波算法。其中变换可以使用DFT,DCT和DHT等方法。设S是一酉变换矩阵,即 其中为一大于0的常数;用酉矩阵S对输入信号向量x(n)进行酉变换,可得到: 式中,表示变换后的信号向量,酉变换后的均衡器抽头权向量C(n-1)变为: 则预测误差可表示为: 一般进行酉变换前,输入信号之间有相关性,变换后,相关性被基本消除,所以变换域算法相当于一种解相关算法。从滤波的角度来讲,原来的N阶滤波器通过变换称为新的信道滤波器。总结上述算法步骤1:初始化步骤2:给定一酉变换矩阵,更新各参量: 4.4.2仿真结果在matlab中,使用LMS算法实现自适应均衡器,通过改变收敛因子的滤波器阶数就可以仿真均衡器的收敛速度和精度,其误差收敛曲线如下图所示。 图4.9 自适应均衡器收敛曲线五、4阶LMS自适应FIR滤波器系统的实现目前,数字滤波器的实现大致有以下几种方法:(1)采用单片通用数字滤波器集成电路。单片通用数字滤波器,如TDC1028,使用简单方便,但由于字长和阶数的规格较少,不易完全满足实际需要。虽可采用多片扩展来满足,但会增加体积和功耗,因而在实际中受到一定限制。(2)采用DSP器件实现,由于有专门的函数可供调用,因此使用DSP器件设计数字滤波器相对较简单,其应用也最为广泛,其唯一缺点是程序顺序执行,尽管DSP器件性能不断提高,但在某些实时性要求极高的场合中受到限制。(3)采用可编程逻辑器件实现,随着可编程逻辑器件的容量和不断增加速度,实现单片系统集成SOC(System-On-Chirp)已经成为可能,利用可编程逻辑器件实现数字滤波器,由于实现的是硬件平行算法,因此特别适用于某些实时性要求高的场合。FPGA有着规整的内部逻辑数组和丰富的联机资源特别适合于数字信号处理任务相对于串行运算为主导的通用DSP芯片来说其并行性和扩展性更好。因此,在本论文中,采用硬件描述语言VHDL来实现LMS算法的FIR自适应滤波器的硬件设计。以下介绍两种用FPGA实现的方法:直接用VHDL编程实现和通过DSP-builder建模实现。 5.1DSP-builder建模模型的建立的过程通常分为三步:(1)选择模型的结构和阶次;(2)估计模型的参数;(3)验证模型的性能是否满足要求,如果不满足要求,回到第(1)步重新设计。 为了加速用FPGA 实现DSP的开发流程,实现Simulink系统仿真模型到FPGA 实现代码之间的无缝链接,Alera公司开发了基于Simulink的FPGA设计工具DSP Builder。通过这一工具,结合Simulink和Matlab,给用户提供了一个无缝的自上而下的FPGA解决方案:系统结构设计小组可使用DSP Builder提供的模块在Simulink中搭建系统的模型进行仿真,并可直接从该模型自动地生成可综合的VHDL代码,两者的逻辑功能有着一一对应的关系,从而排除了以前可能而且经常出现的FPGA实现与Simulink系统仿真模型逻辑功能不相符的情况,大大缩短了产品的开发周期。得到可综合的VHDL代码之后。既可以按传统的FPGA 开发流程那样手工对代码进行综合和适配,在不需要对代码进行修改时,还可以使用DSPBuilder提供的自动流程,在Simulink集成环境中直接调用特定的综合器和适配器执行生成的相应脚本在后台进行综合和适配。DSP Builder还可以输出Simulink中使用的仿真激励,并生成测试平台和在Model Sim 中使用的脚本,只需要在Model Sim 中执行此脚本就可以使用所输出的Simulink中使用的仿真激励对实现代码的逻辑功能进行测试。 利用它可在MATIAB的图形仿真环境Simulink中建立一个*mdl模型文件,同时在DSP Builder和其他Simulink库中找到相应的图形模块并调入Simulink窗口。(非DSP Builder提供的模块不能生成VHDL代码,只能用于协同仿真)。其中延时可用Ahera DSP BuilderStorageDelay模块实现;抽头系数可用Ahera DSP BuilderArithmeticGain模块实现;加法器可用Altera DSP BuilderArithmeticParallel Adder Subtractor模块实现。 算法的Simulink验证DSP-BuilderDSP-Builder库综合,布局布线算法的硬件验证 图5.1 DSP-Builder设计流程下图所示为4阶LMS滤波器模型界面。利用其强大的图形化仿真和分析功能,可以分析系统的正确性。 图5.2 4阶LMS滤波器模型 5.2自适应滤波器的仿真验证仿真之前,需在仿真参数设置(Simulation parameters)对话框求解器(Solver)页面中设置求解器为定步长(Fixedstep)离散(discrete)求解器,仿真时间长度可设置为0.01s。在这种FIR滤波器的LMS算法中,其误差将随着权的逼近逐渐减小,但没有等于零,而是在零值上下起伏,这说明了LMS算法是用平方误差代替均方误差而造成的误差缺点。 5.3自动生成VHDL代码通过仿真,认为该系统已达到设计要求,可用于生成代码。在模型中添加一个Ahera DSP BuilderAh LabSignal Compiler模块,用于生成VHDL代码。该模块不需要与其他模块连接,可放在模型的任何地方。双击Signal Compiler模块,如果需要对模型图进行更新,可复选上“Update Diagram”。如果模型没被修改过并且在上一次生成代码时已经对模型进行过分析,可点击“Skip Analyze”略过分析,否则点击“Analyze”对模块进行分析。 图5.3 图5.4点击“Analyze”或“Skip Analyze”后,将出现如上图所示的Signal Compiler对话框窗口。可以在其内设定目标器件系列、所使用的综合器、优化目标以及其他的一些选项。在Testbench设置标签页下还可以选择生成仿真激励(Generate Stimuli for VHDL Testbench)。设置好参数后,点击右方的“1一Convert MDL tO VHDL”按钮。将生成模型的VHDL实现代码、测试平台及相应脚本;点击“2Synthesis”按钮,将直接调用所选择的综合器在后台进行综合;点击“3-Quartus II”按钮,将直接调用Quartus II在后台进行适配;若目标为DSP Board,还可以直接点击“4

温馨提示

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

评论

0/150

提交评论