自适应滤波器设计

目录

摘要

前言

第一章 自适应滤波器概述

1.1 自适应滤波器的研究意义

1.2 自适应信号处理的研究

1.3 自适应滤波器的应用

1.4 系统的设计思想

第二章 DSP芯片的原理

2.1 DSP芯片的概述

2.2 TMS320F28234的基本结构

2.3 TMS320F28234的主要性能

第三章 自适应滤波器的设计原理

3.1 自适应滤波器原理

3.2 自适应滤波器算法

3.2.1 自适应线性滤波器

3.2.2 最小均方(LMS)算法

3.3 自适应的数字滤波器结构

3.3.1 数字滤波器的研究

3.3.2 FIR横向型滤波器的结构

3.3.3 FIR横向型滤波器的工作原理

第四章 TMS320F28234的硬件最小系统设计

4.1 TMS320F28234的最小系统组成

4.2 时钟电路

4.3 复位电路

4.4 电源转换电路

4.5 JTAG仿真电路

第五章 自适应滤波器的软件设计实现

5.1 自适应滤波器的程序设计流程图

5.2 自适应滤波器的程序实现

5.3 仿真结果分析

第六章 总结与展望

参考文献

致谢

附件

摘要

本文论述了基于TMS320F28234的自适应滤波器系统的设计。自适应滤波器能够在没有任何关于信号和噪声的先验知识的条件下,达到最优滤波的目的。根据自适应滤波的原理,本文中自适应算法主要论述和分析了易于实现的最小均方差算法,通过比较IIR结构和FIR结构滤波器的优缺点,采用横向FIR结构的自适应滤波器来实现。为了满足自适应滤波的实时性要求,采用TMS320F28234芯片的系统设计,并设计了其硬件最小系统和软件系统,最后用TMS320F28234实现自适应滤波器。从仿真结果表明,自适应滤波器滤波效果的优越。

关键词】:自适应滤波器  LMS算法  TMS320F28234

[Abstract]: This paper discusses the adaptive filter based on TMS320F28234 system. In the absence of any a priori knowledge of signal and noise conditions, adaptive filters can be the optimal filtering purposes. According to the principle of adaptive filtering, adaptive algorithm in this article mainly discusses and analyzes the easy implementation of the LMS algorithm. By comparing the advantages and disadvantages of FIR filter structure and IIR structure, the structure of transverse adaptive FIR filter to achieve. To meet the requirement of real-time adaptive filtering, using TMS320F28234 chip design, and designed its minimum hardware system and software systems, the ultimate realization of adaptive filters with TMS320F28234. The simulation results show that the adaptive filter gives superior.

[Key Words]: adaptive filter  LMS algorithm  TMS320F28234

前言

DSP芯片(数字信号处理器)是一种特别适合于进行数字信号处理运算的微处理器器,其主要应用是实时快速地实现各种数字信号处理算法。可编程DSP芯片一般都具有程序和数据分开的总线结构、流水线操作功能、单周期完成乘法的硬件乘法器以及一套适合数字信号处理的指令集。随着DSP技术的发展,人们对信号处理的实时性、准确性和灵活性的要求越来越高,DSP技术在信号处理中的地位也越来越重要。滤波器通常是为了从含有噪声的数据中提取人们感兴趣的、接近规定质量的信息。而自适应滤波器相对于以前的固定滤波器而言,能够提供一种很好的解决方案,而且其性能通常远优于用常规方法设计的固定滤波器,还有自适应滤波器能提供非自适应方法所不能提供的新的信号处理能力。因此,自适应信号处理技术已在通信、雷达、工业控制等领域获得越来越广泛的应用,另外也有许多与之相关的研究文献与论著。

自适应滤波器是在没有任何关于信号和噪声的先验知识的条件下,利用前一时刻已获得的滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优化的维纳滤波器。自适应滤波器的算法比较复杂,应用在均衡信道,抵消回波,增强谱线,抑制噪声等方面。而自适应滤波器的实现通常采用最小均方误差算法完成, 因为LMS算法简单有效、鲁棒性好、易于实现等优点,得到了广泛的应用。数字滤波器的结构可以是FIR数字滤波器或IIR数字滤波器,也可以是格型数字滤波器,由于IIR滤波器存在稳定性问题,因此采用FIR滤波器作为自适应滤波器的结构。

本文从自适应滤波器研究的重要意义入手,根据线性自适应滤波器的原理并以自适应滤波器的算法和结构为整个论文的核心。论文中具体对自适应滤波器的基本原理、算法、结构及设计过程进行详细的论述和分析。第一章阐述了自适应滤波器的研究和一些典型的应用。第二章论述了DSP芯片的原理。第三章是自适应滤波器的算法与结构,主要论述了最小均方差算法的原理和数字滤波器的结构。第四章具体论述了基于TMS320F28234的硬件最小系统的设计。第五章是自适应滤波器的软件实现,根据最小均方差算法和横向FIR结构的自适应滤波器,实现基于TMS320F28234的自适应滤波器的设计。第六章为总结与展望。

第一章 自适应滤波器概述

第1.1节 自适应滤波器的研究意义

滤波是信号处理领域的一种最基本而又极其重要的技术。滤波的目的是为了处理某个信号,以便利用信号中包含的有用的信息。也就是说,在有用信号的传输过程中,通常会受到噪声或干扰的影响。利用滤波技术可以从复杂的信号中提取所需要的信号,同时抑制噪声或干扰信号,以便更有效地利用原始信号。滤波器在电子电路系统中应用很多,技术也较为复杂,有时滤波器的优劣直接决定产品的性能,所以滤波器的理论研究和产品开发非常的重要。

对于系数固定的FIR、IIR滤波器所具有的特性是确定的,对于输入信号可根据这个滤波器产生相应的输出,即先有了滤波器系数,然后决定相应的输出值。但有些实际应用往往是反过来要求的,即对滤波器输出的要求是明确的,而滤波器的特性却无法事先知道。自适应滤波器是相对固定滤波器而言的,当固定的设计规范是未知的,或者采用时不变滤波器不能满足设计的要求设计规范时,就需要采用自适应滤波器。严格的讲,自适应滤波器是一种非线性滤波器,因此不满足齐次性和叠加性条件,如果在某个给定的时刻固定的滤波器参数,则其输出信号是输入信号的线性函数。自适应滤波器是在没有任何关于信号和噪声的先验知识的条件下,自适应滤波器利用前一时刻已获得的滤波器参数来自动调节现时刻的滤波器参数,以适应信号和噪声未知或随机变化的统计特性,从而实现最优滤波,所以其适用范围更广。如在通信系统中,信号通过信道传输,由于信道频率特性的影响,接收信号失真畸变而引发码间干扰,这将严重影响通信质量,为此,需要在系统中插入一种可调的滤波器以减小码间干扰,这种系数可调的滤波器即为自适应滤波器。其参数可以自动地按照某种准则调整到最佳滤波。自适应滤波器已广泛应用于系统模式识别,通信信道的自适应均衡,雷达与声纳的波束形成,增强和信号预测等。

第1.2节 自适应信号处理的研究 

信号处理技术一种用于转换、产生模拟或数字信号,其中最为频繁应用的领域就是信号的滤波。数字滤波是语音、图像处理、模式识别和谱分析等应用中的一个基本处理部件,它可以满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器无法克服的电压漂移、温度漂移和噪声等问题。在滤波器的设计中,设计固定系数的数字滤波器要求很明显的设计规范,然而在某中情况下,设计规范是未知或者时变的,其解决的方法就是采用具有自适应系数的数字滤波器。

自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。自适应滤波器由两部分组成,一是数字滤波器的结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构可以用许多不同结构来实现,在采用FIR或IIR结构时,由于IIR滤波器存在稳定性问题,因此一般采用FIR滤波器作为自适应滤波器的结构。如图1.1自适应滤波器的一般结构所示,其中,n为迭代次数,x(n)为输入信号,y(n)为自适应滤波器的输出信号,d(n)为参考信号或期望信号,而e(n)=d(n)- y(n)。自适应滤波器的滤波器系数受误差信号e(n)控制,根据e(n)的值和自适应算法自动调整,使输出信号y(n)最接近期望信号d(n)。

图1.1 自适应滤波器的一般结构

正如图1.1所示的,一个自适应滤波器的完整规范是由如下三项所组成的:

(1)应用:自适应技术应用在更多的场合,如在回波消除、系统识别噪声消除以及控制领域等。

(2)自适应滤波器结构:自适应滤波器的结构可以用许多不同结构来实现,结构的选取会影响到处理的计算复杂度,还会影响到到达期望性能指标所需的迭代次数。在根据冲激响应相应的形式来划分为有限长冲激响应(Finite Impulse Response, FIR)和无限长冲激响应(Infinite Impulse Response, IIR)。有限长冲激响应数字滤波器可以在设计任意幅频特性的同时,保证严格的线性相位特性,而且FIR数字滤波器实现结构主要是非递归的,可以稳定地工作,所以FIR数字滤波器被广泛地应用于视频和通信电路中。FIR滤波器通常应用于非递归结构来实现,而IIR滤波器是可利用递归结构来实现的。

自适应FIR滤波器结构:应用最广泛的自适应FIR滤波器结构是横向滤波器,也称为抽头延迟线,他利用正规直接形式实现全零传输函数,而不是采用反馈环节。对于这种结构,输出信号y(n)是滤波器系数的线性组合,它产生具有唯一最优解的二次均方误差函数

。为了得到相对于横向滤波器结构来说更好的性能,这些性能是用于计算复杂度,收敛速度和有限字长特性等描述。

自适应IIR滤波器结构:自适应IIR滤波器采用的最多结构是标准直接形式结构,因为它的实现和分析都很简单。然而采用递归自适应滤波器会存在一些内在的问题(这些问题是由结构决定的,比如要求对极点的稳定行进行监控,而且收敛速度慢)。为了克服这些问题,已经提出了许多不同的结构形式。

(3)自适应算法:算法是为了使某个预先知道的准则达到最小化,而自适应的调节滤波器的系数的方法。算法是通过定义最小化算法、目标函数和误差信号的特性来确定的。算法的选择决定了整个自适应过程的几个重要因素,如次优解的存在性、计算的复杂性等。如果利用算法的计算复杂度作为定义准则,则在自适应算法过程中最常采用的一些目标函数有均方误差(MSE)、最小二乘(LS)、加权最小二乘(WLS)、瞬时平方值(ISV)。误差信号的定义中,误差信号的选取对于算法的定义是很关键的。它会影响整个算法中的计算复杂度、鲁棒性等。

最小化算法、目标函数和误差信号能够给出一种解释、分析和研究自适应算法的结构化简单方法。几乎所有的一致自适应算法都能够视为这种形式,或者将这种结构稍加变化的结果。定义一个自适应算法的重要步骤是对误差信号的选择,因为这会对一整个收敛过程产生多方面的影响。

第1.3节 自适应滤波器的应用

滤波器可分为线性滤波器和非线性滤波器,线性滤波的方法,如Wiener滤波、Kalma滤波和自适应滤波得到了广泛的研究和应用,同时一些非线性滤波方法,如同态滤波、中值滤波等都是现代信号处理的研究,不但有重要的理论意义,而且有广阔的应用前景。自适应滤波的一些经典应用有系统识别,预测和信道均衡等。在系统识别应用中,期望信号是未知系统受到某个宽带信号激励时产生的输出,在大多数情况下,输入的是白噪声信号。宽带信号也通常作为自适应滤波器的输入,如图1.2系统辨识的结构所示,当输出均方差最小,自适应滤波器是一个未知的系统模式。

图1.2 系统辨识的结构

在预测的情况下,期望的信号是自适应滤波器的输入信号的前向(有时可能是后向)形式,如图1.3信号预测的结构所示。收敛后的自适应滤波器代表了输入信号的模式,可以作为输入信号的预测器模式。

在信道均衡应用中,经发送的受信道失真影响的原始信号最后为自适应滤波器的原始信号,而期望信号是原始信号的时延形式,如图1.4信道均衡的结构所示。通常情况,输入信号的时延形式在接收端是可以接收到的,采用形式是标准的训练信号。当均方误差达到最小时,表示自适应滤波器代表了信道的逆模型。

图1.3 信号预测的结构

图1.4 信道均衡的结构

第1.4节 系统的设计思想

    本论文主要是利用数字信号处理器来完成自适应滤波器的设计,如图1.5自适应滤波器设计思路所示。

图1.5 自适应滤波器设计思路

自适应滤波器的整体设计思路中模拟信号输入,输入信号首先进行抗混叠滤波,然后将模拟信号变换成数字信号。根据奈奎斯特抽样定理,为保证有用信息不丢失,抽样频率至少是输入带限信号最高频率的二倍。经过ADC转换成数字信号,DSP芯片具预先设计好的自适应滤波算法程序,对输入的数字信号处理。这种自适应滤波器的设计是具有跟踪信号和噪声变化的能力,也不需要知道关于输入信号的先验知识。经过DSP芯片处理后的信号通过DAC在转换成连续的模拟波形,之后进行平滑滤波就可得到需要的模拟信号。

通过软件指令的方式完成DSP的设计流程包括硬件子系统设计和软件子系统设计两大部分。这两大部分的设计并非完全独立,而是需要协调综合考虑。这里对本论文基于TMS320F28234的自适应滤波器实现进行分析,其中论文的设计目标是设计一种具有跟踪信号和噪声变化的能力的滤波器,使得滤波器的特性也随着信号和噪声的变化而变化,以达到最优滤波,这种滤波器就是自适应滤波器。在技术方面,DSP不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,它的主要功能是强大数据处理能力和高运行速度。

本文在自适应滤波器设计中,DSP的基本硬件系统设计方面包括电源电路、时钟电路、复位电路等最小系统设计。在软件设计方面,其中对算法的分析是在基于维纳滤波器理论的最小均方(LMS)算法。TMS320C2xx的指令集中提供了两条功能很强的指令ZALR和MPYA,用这两条指令可以高效是实现系数的迭代。由于要完整的设计出基于TMS320F8234的自适应滤波器有一定的难度,本文对于TMS320F8234的自适应滤波器的设计主要是详细描述了自适应原理、算法和结构。最终对输入的一个信号进行自适应滤波分析,从仿真出的结果中,说明自适应滤波器的优越性。

第二章 DSP芯片的原理

第2.1节 DSP芯片的概述

数字信号处理是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字技术的主要特点是能够实现大规模的复杂处理,灵活性强,可靠性高,精度高等。在过去的二十多年时间里,数字信号处理技术已经在通信、控制、消费电子、国防军事、医疗等领域得到极为广泛的应用。

DSP(digital signal processor)是一种独特的微处理器,是以数字形式对信号进行采集、变换、滤波、估值、识别等处理。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序。根据数字信号处理的要求,DSP芯片具有主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

在数字信号处理系统中,数字信号处理是核心,一般有软件和微处理器配合来实现。DSP是专门针对数字信号处理应用而设计的微处理器。为了快速地实现数字信号处理运算,DSP芯片一般都采用特殊的软硬件结构。TMS320系列DSP芯片的基本软硬件结构包括:

(1)哈佛结构:哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。为了进一步提高运行速度和灵活性,DSP芯片在基本哈佛结构的基础上作了改进,一是允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了一个指令周期的时间。

(2)流水线操作:流水线操作与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力。TMS320系列处理器的流水线深度从2~6级不等,也就是说,处理器可以并行处理2~6条指令,每条指令处于流水线上的不同阶段。第二代TMS320处理器采用三级流水线。

(3)专用的硬件乘法器:在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多个指令周期来完成。相比而言,DSP芯片的特征就是有一个专用的硬件乘法器。在TMS320系列中,由于具有专用的硬件乘法器,乘法可在一个指令周期内完成。

(4)特殊的DSP指令:DSP芯片的一个特征是采用特殊的指令。如DMOV就是一个特殊的DSP指令,它完成数据移位功能。在数字信号处理中,延迟操作非常重要,这个延迟就是由DMOV来实现的。

(5)快速的指令周期:DSP芯片的指令周期一般在200ns 以下。TMS320系列处理器的指令周期已经从第一代的200ns降低至现在的20ns 以下。快速的指令周期使得DSP芯片能够实时实现许多应用。

哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,这些特点使得TMS320系列DSP芯片可以实现快速的DSP运算,并使大部分运算(例如乘法)能够在一个指令周期内完成。由于TMS320系列DSP芯片是软件可编程器件,因此具有通用微处理器具有的方便灵活的特点。

第2.2节 TMS320F28234的基本结构

DSP芯片的基本结构大致可以分为CPU、总线、储存器以及集成外设和专用硬件电路等部分。CPU主要包括算术逻辑单元(ALU)、累加器(ACC)、乘累加单元(MAC)、移位寄存器和寻址单元等。存储器包括片内存ROM、Flash、单访问RAM、双访问RAM等。集成总线和专用硬件电路包括片内各种类型的串行口、主机接口、定时器、时钟发生器以及各种电路。总线在CPU、与存储器、集成外设和专用硬件电路等部分之间传送指令和数据,起到一等那个的桥梁作用。

TMS320C28x 控制器系列包括TMS320F28234器件。如图2.1 TMS320C28x 数字信号控制器结构所示。TMS320F28x DSC具有16-通道,12-位的模数转换器,可以让设计者直接把模拟信号连接到处理芯片上。在TMS320F28xxDSCs上,增强型ADC外设具有12位分辨率,并且能获得每秒加速到12.5兆(MSPS)的采样速度(一般的芯片是6.25MSPS和 3.75MSPS),并且通过流水线结构可以监控模拟信号。另外的特性,例如16通道的多路复用、自动定序,双采样和保持(S/H)电路和多路中断表,这些都使得使用者在嵌入式控制和数据记录应用中非常方便。为了发挥外设接口的灵活性,必须正确配置ADC,可以通过建立和配置不同的电路得到具体的方法。为了实现最佳性能,必须理解和设置需要的采样比、利用自动定序器来定位通道,同时进行中断配置以读取结果。

图2.1  TMS320C28x数字信号控制器结构图

第2.3节 TMS320F28234的主要性能

当前的数字信号处理芯片(DSP)具有高性能的CPU(时钟性能超过100MHZ)和高速先进外围设备,通过CMOS处理技术,DSP芯片的功耗越来越低,这些巨大的进步增加了DSP电路板设计的复杂性。TMS320F28234 是主要用来嵌入式控制应用。目前芯片的CPU频率在150MHz之下,TMS320F28234为通用型的定点系列,如表2-1 TMS320F28234芯片基本性能所示。

表2-1 TMS320F28234芯片的基本性能

TMS320F28234

参数

TMS320F28234

参数

通用型

28x 定点系列

ADC 转换时间

80 ns

CPU

1 C28x

McBSP

2

Peak MMACS

150

I2C

1

FPU

No

UART

3 SCI

RAM

68 KB

SPI

1

OTP ROM

2 KB

CAN

2

Flash

256 KB

Timers

3 32-Bit CPU,1 WD

EMIF

1 32/16-Bit

GPIO

88

TMS320F28234

参数

TMS320F28234

参数

DMA

16-Ch

Core Supply(Volts)

1.9 V

CAP/QEP

4/2

I/O Supply (Volts)

3.3 V

ADC

1 16-Ch 12-Bit

Operating  Tempe-

rature Range (°C)

-40 to 85,-40 to 125

第三章 自适应滤波器的设计原理

第3.1节 自适应滤波原理

自适应滤波器是一种能够自动调整本身参数的特殊维纳滤波器,在设计时不需要预先知道关于输入信号和噪声的统计特性,它能够在工作过程中逐步“了解”或估计出所需的统计特性,并以此为依据自动调整自身的参数,以达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳。

自适应滤波器中参数可调数字滤波器结构可以是FIR数字滤波器或IIR数字滤波器,也可以是格型数字滤波器,如图1.1自适应滤波器的一般结构所示。输入信号x(n)通过参数可调数字滤波器后产生输出信号(或响应)y(n),将其与参考信号(或称期望响应)d(n)进行比较,形成误差信号e(n),并以此通过某种自适应算法对滤波器参数进行调整,最终使e(n)的均方值最小。

尽管自适应滤波器具有各种不同的算法和结构,但是,其最本质特征是始终不变的。这种最本质的特征可以概括为:自适应滤波器依据用户可以接受的准则或性能规范,在未知的而且可能是时变的环境中正常运行,而无须人为的干预。

第3.2节 自适应滤波器算法

第3.2.1节 自适应线性滤波器

自适应线性滤波器是一种参数可自适应调整的有限冲激响应(FIR)数字滤波器,具有非递归结构形式。因为它的分析和实现比较简单,所以在大多数自适应信号处理系统中得到了广泛应用。输入信号矢量x(n)的L+1个元素,可以通过在同一时刻n对L+1个不同信号源取样得到,如图3.1单输入自适应线性滤波器 所示。输入信号矢量x(n)的L+1个元素也可以通过对同一信号源在n以前L+1个时刻取样得到,如图3.2多输入自适应线性滤器所示。两种情况下输入信号矢量都用x(n)表示有

 单输入情况

                     

                         (3-1)

多输入情况:

                              

                           (3-2)

单输入情况下x(n)是一个时间序列,其元素由一个信号在不同时刻的取样值构成,而多输入情况下x(n)是一个空间序列,其元素由同一时刻的一组取样值构成,相当于并行输入。

图3.1 单输入自适应线性滤波器

图3.2 多输入自适应线性滤波器

对于一组固定的权系数来说,线性滤波器是输出y(n)等于输入矢量x(n)的各元素的线性加权之和。然而实际上权系数是可调的,调整权系数的过程叫做自适应过程。在自适应过程中,各个权系数不仅是误差信号e(n)的函数,而且还可能是输入信号的函数,因此,自适应线性滤波器的输出就不再是输入信号的线性函数。输入信号和输出信号之间的关系为

单输入情况:

                            

                           (3-3)

多输入情况:  

                                  

                             (3-4)

单输入自适应线性滤波器,实际上是一个时变横向数字滤波器,有时称为自适应横向滤波器,它在信号处理中应用很广泛。自适应线性滤波器的L+1个权系数构成一个权系数矢量,称为权矢量,用w(n)表示,即:

                           

                          (3-5)

这样,输出响应表示为: 

                      (3-6)

参考响应与输出响应之差称为误差信号,用e(n)表示,即:

           (3-7)

自适应线性滤波器按照误差信号均方值(或平均功率)最小的准则,即:

                              (3-8)

来自动调整权矢量。

第3.2.2节 最小均方(LMS)算

自适应滤波器性能函数的均方误差为E[e2(n)],并记为

、J或MSE,即:

                           (3-9)

由式(3-7)、(3-8)和式(3-9),均方误差表示式为:

           (3-10)

在d(n)和x(n)都是平稳随机信号的情况下,输入信号的自相关矩阵R,d(n)与x(n)的互相关矩阵P都是与时间无关的恒定二阶统计,定义R,P为:

                               (3-11)

                 

            (3-12)

这R,P二式对应于多输入情况。将R,P二式代入式(3-10),得到均方误差的简单表示形式:

                     (3-13)

从该式可看出,在输入信号和参考响应都是平稳随机信号的情况下,均方误差

是权矢量w(n)各分量的二次函数。若将上式展开,则w(n)各分量只有一次项和二次项存在,

的函数图形是L+2维空间中一个中间下凹的超抛物面,有唯一的最低点

,该曲面称为均方误差性能曲面,简称性能曲面。自适应是自动调整权系数,使均方误差达到最小值

的过程,这相当于沿性能曲面往下搜索最低点。

在输入信号和参考响应都是平稳随机信号的情况下,自适应线性组合器的均方误差性能曲面是权矢量w(n)的二次函数。由于自相关矩阵为正定的,故此超抛物面向上凹,表示均方误差函数有唯一的最小值,该最小值所对应的权系数矢量为自适应滤波器的最佳权矢量wopt(n) ,即等于维纳滤波器的权矢量hopt(n)。如果自适应滤波器的权系数个数大于2,其性能表面的超抛物面仍有唯一的全局最优点。在许多实际应用中,性能曲面的参数,甚至解析表示式都是未知的,因此,只能根据已知的测量数据,采用某种算法自动地对性能曲面进行搜索,寻找最低点,从而得到最佳矢量。最常见的搜索方法是最速下降法(Method of Steepest Descent)。

在最速下降法中,如果能够在迭代过程中的每一步得到梯度的准确值,并且适当地选择了收敛因子μ,则最速下降法肯定会收敛于最佳维纳解,然而,在迭代的每一步准确的测量梯度矢量是难以做到的,因为这需要具有关于自相关矩阵R和互相关矩阵P的先验知识,实际上,梯度矢量需要在迭代的每一步依据数据进行估计,即自适应滤波器的权矢量是根据输入数据在最优准则的控制下不断更新的,由威德诺等人提出的最小均方(LMS)算法就是一种以期望响应和滤波器输出信号之间误差的均方值最小为准则的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法,LMS 算法是一种梯度最速下降方法,其显著的特点和优点是它的简单性,这种算法不需要计算相应的相关矩阵,也不需要进行矩阵运算。

LMS 算法是一种线性自适应滤波算法。LMS算法中均方误差表示为:

 

                         (3-14)

使均方误差达到最小值时,得到最佳权系数w*,应满足下列方程:

                            (3-15)

在实际中,LMS迭代算法是以最速下降法为原则进行的,用公式表示为:

                      (3-16)

式中

是自适应步长。

为迭代的梯度。这里来估计均方误差 MSE的梯度,并以此梯度估计值来代替最速下降法中理论情况下的梯度真值,LMS(最小均方)算法进行梯度估计的方法是以误差信号的每一次迭代的瞬间时平方值代替其均方值,并以此来估计梯度。

即:

                     

                 (3-17)

若写成矢量形式为:

                                    

                                 (3-18)

若将(3-17)代入式(3-18),有:

                        

                   (3-19)

 将上式代入(3-16),即用梯度估计值代替最速下降法中的梯度真值,有:

                          

                (3-20)

其中w(n)和w(n+1)分别是迭代前后的系数值,

是自适应步长来控制稳定性和收敛率,这种瞬时估计是无偏的。上述的迭代公式在滤波器的结构为横向结构基础得到的。

    在自适应滤波器中自适应步长的选择,由LMS迭代算法可知,若使其收敛,则自适应步长

的取值范围为:

                                 

                             (3-21)

为矩阵R的最大特征值。自适应时间常数为Tmac,自适应时间常数与步长的关系为:

                                  

                                 (3-22)

失调M与步长

的关系式为:

                                      

                                 (3-23)

Tr(R)为指示矩阵的轨迹,由(3-21)、(3-22)和(3-23)可知,自适应步长

是表征迭代快慢的物理量,

越大,自适应时间越短,自适应过程越块,但是引起的失调越大,当

时,系统发散;

越小,系统越稳定,失调越小,但自适应过程加长。

在LMS算法中,对于N维更新ue(n)是常数,误差信号e(n)乘以u得到ue(n)。这个常数首先计算,然后乘以x(n)来更新w(n)。自适应LMS算法如同最陡下降法,利用时间n=0的滤波系数矢量为任意起始值w(0),然后开始LMS算法的计算,其步骤如下:

(1)由现在时刻n的滤波器滤波系数矢量估值w(n),输入信号矢量x(n)及期望信号d(n),计算误差信号e(n)=d(n)-y(n)。

(2)利用递归法计算滤波系数矢量的更新估值。

(3)将时间指数n增加1,回到第一步骤,重复上述计算步骤,一直到达稳定状态为止。由此可见,自适应LMS算法简单,它既不需要计算输入信号的相关函数,又不要求逆矩阵。

第3.3节 自适应的数字滤波器结构

第3.3.1节 数字滤波器的研究

数字滤波器(Digital Filter,简称为DF)是指用来对输入信号进行滤波的硬件和软件。数字滤波器的输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的器件。数字滤波器具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。

数字滤波器按照频域响应的通带特性可划分为:低通滤波器、高通滤波器、带通滤波器、带阻滤波器。数字滤波器按照单位取样响应的时域特性可分为:IIR 滤波器(即无限长单位冲响应滤波器)和FIR滤波器(即有限长单位冲击响应滤波器)。如图3.3一个典型的数字滤波器的数学模型所示。

图3.3 数字滤波器的数学模型

设输入信号为x(n),输出信号为y(n),该数字滤波器可用以下差分方程来表示:

                    (3-24)

式中

称为滤波器系数。数字滤波器的传递函数在Z域中为:

 

                              (3-25)

其单位冲击响应函数为:

                            (3-26)

 

                   (3-27)

如果当n<0时,有h(n)=0,这样的滤波器系统称之为因果系统。如果冲激响应函数是有限长的,即

                                  

                            (3-28)

则称此滤波器为有限冲激响应FIR滤波器,否则,称之为无限冲激响应IIR滤波器。如果h(n)满足如下条件:

  

                               (3-29)

则称此滤波器是因果的,并且是稳定的。

在实现数字滤波器一般用两种方法:一是采用通用计算机,把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机软件来实现;二是采用实际专用的数字处理硬件。数字滤波器的实现中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应滤波器FIR两种,另外还有维纳滤波器自适应滤波器等,但是在一般通信领域尤其是信号传输领域,在一个信号的发送与接收端都是发出或接收一路信号,所以前两种滤波器还是现在滤波器设计的主要方面。IIR滤波器与FIR滤波器相比较,例如双线性变换法产生的IIR 滤波器模拟指标的频率与数字化指标的频率转换关系,会使频率产生严重的非线性。这种非线性关系,使数字滤波器与模拟滤波器在响应与频率的对应关系上发生了畸变,如果需要线性相位,就必须用全通网络进行复杂的相位校正。但是在对程序运行周期数要求十分严格的DSP处理中加上一个全通均衡器是十分浪费资源的,另外即使加上全通均衡器,对于因果的IIR 滤波器仍将得不到线性的相位。在这方面FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时保证精确严格的线性相位。

第3.3.2节 FIR横向型滤波器的结构

自适应IIR滤波器与自适应 FIR滤波器相比较,自适应IIR滤波器存在突出的缺点,主要的缺点包括:自适应IIR滤波器存在不稳定的可能性倾向;而且收敛速度慢等。因此,一般采用FIR滤波器作为自适应滤波器的结构。本文也将采用FIR横向的结构滤波器来设计自适应滤波器。

自适应滤波器最直接的实现就是直接形式的FIR结构,但在本论文中采用FIR横向结构设计自适应滤波器。如图3.4FIR横向型滤波器的结构所示。这种结构仅包含有由延迟级数所决定的有限个存储单元,可归结为有限冲激响应(FIR)或横向滤波器(Kallman)。输入信号被若干延迟单元延时,其延迟时间可以是连续的。这些延迟单元的输出与存储的一组权系数依次相乘,将其乘积相加得到输出信号。这意味着输出是输入信号与所存储的权系数或冲激响应的卷积。这种滤波结构仅包含有零点(因为没有递归反馈单元),因此,若要获得截止的频率特性,则需要有大量的延迟单元。但是,这种滤波器始终是稳定的,并能提供线性相位特性。

图3.4 FIR横向型滤波器的结构

第3.3.3节 FIR横向型滤波器的工作原理

根据FIR横向型滤波器结构,如图3.4,其中,

x(n)为自适应滤波器的输入

                   (3-30)

w(n)为自适应滤波器的权系数向量

                       (3-31)

y(n)为自适应滤波器的输出

                    (3-32)

其中T为转置符,n为时间序列,N为滤波阶数。采用LMS算法并按照横向FIR结构设计自适应滤波器。对于横向FIR结构滤波器将LMS算法中的均方误差(3-14)代入上式(3-32)中得到(3-13)。实际中,LMS的迭代算法以最速下降法为原则,用平方误差代替均方误差的算法在LMS算法中已经讲述。

TMS320F28234的硬件最小系统设计

第4.1节 TMS320F28234的最小系统组成

本文中硬件系统设计了DSP的硬件最小系统。DSP的硬件最小系统设计包括DSP芯片、电源变换电路、时钟电路、复位电路、JPAG仿真接口等。如图4.1DSP的硬件最小系统设计所示。

图4.1 DSP的硬件最小系统设计

第4.2节 时钟电路

TMS320F28x系列的芯片提供了两种不同的产生时钟的方案:利用内部晶体振荡器或者利用外部时钟。本文利用晶振和内部振荡电路,TMS320F2823芯片的内部振荡电路能够把晶振和x1、x2引脚直接连接,x1引脚通常是数字参考电压,x2引脚是内部振荡的输出,如图4.2晶振的外部连接电路所示。这里使用内部的振荡器时,选择让内部的晶振可用的时钟模式

图4.2 晶振的外部连接电路

第4.3节 复位电路

对于整个DSP系统而言,上电复位电路的好坏和各种干扰会直接影响系统的正常工作。若能自动提供一个复位信号就能重新启动系统,复位电路一般会采用具有监视功能的自动复位电路(看门狗电路)。

自动复位电路的基本原理是通过某个监视管脚来监视系统的运行。当系统用正常运行时,由设计人员预先规定系统在预定的时间周期内给监视管脚发送一个脉冲信号。若在规定的时间周期内监视管脚没收到脉冲信号,自动复位电路就认为系统运行不正常,会自动复位系统。

TMS320F28234芯片上的

引脚是方便于芯片和看门狗复位的信号引脚,自动复位的设计是采用MAX706R芯片,如表4-1MAX706R芯片管脚功能所示。

表4-1 MAX706R芯片管脚功能

管脚名称

说 明

管脚名称

说 明

手动复位输入触发器

看门口输入端

VCC

电源输入端

NC

不连

GND

电源接地端

RESET

高电平有效复位输出

PFI

电源故障电压监视输入端

低电平有效复位输出

PFO

电源故障输出端

看门狗输出端。当在1.6s内没有接收到脉冲输出信号时,该管脚变低

MAX706R在系统上电、掉电、欠压、不正常工作时,都能复位DSP,在必要时可以通过开关K进行手动复位。如图4.3MAX706R和DSP的连接电路图所示。系统上电时,MAX706R将在

管脚输出复位信号;当系统上电后,MAX706R的WDI端口监视来自DSP的约定脉冲输出,若DSP不能正常工作导致WDI管脚在1.6s的时间间隔内无法接收到预定脉冲,MAX706R将自动发出复位信号;系统上电后,若PFI监视到电源电压不正常,MAX706R也将自动发出复位信号。

      

图4.3 MAX706R和DSP的连接电路图

第4.4节 电源转换电路

F28x芯片有多种电源引脚,它们包括:CPU核的电源(VDD),I/O电源(VDDIO), Flash 程序电源(VDD3VFL), 地电源引脚(VSS, VSSIO),ADC 模拟电源引脚(VDDA2, VDDAIO)等.对于这些电源引脚都必须连接正确的供电电压,不能让任何引脚悬空。I/O引脚的电源电压是3.3V,然而内核的供电电压是1.8 V或者1.9 V,具有可编程的Flash,对其供电的引脚必须连接3.3V上。这里根据一个电源芯片TPS73HD301来设计一有两路电源输出。TPS73HD301输出端的电压一路为3.3V,一路为可调输出1.2V~9.75V。每路电源的最大输出电流为750mA,芯片还提供了两个宽度为200ms的低电平复位脉冲,可以实现电源芯片对自身电压输出的监测。如图4.4电源转换电路所示。

图4.4 电源转换电路

图4.4中的VCC由外部电源供电,其中接一个发光二极管查看输入电压的情况,电容为旁路电容,起到滤波作用。R5和R6之间的比例关系使TPS73HD301的可调电压输出端输出符合的内核电压1.9V,另一端输出则为稳定的3.3V。TPS73HD301电源芯片在其可变电压调节器的反馈管脚的输出参考电压为固定值Vref=1.182V,根据电流列出等式

                               (4-1)

根据芯片资料使用R5=180K,由此得R6=110K,满足所需电压要求。

第4.5节 JTAG仿真电路

在DSP系统中,一般必须考虑系统的软、硬件调试,调试的DSP系统一般离不开DSP仿真器。DSP有标准的JTAG接口,主要用于DSP的开发仿真和测试。而仿真器通过仿真接口实现与DSP的之间的数据交换。设计仿真器接口时,只要根据DSP芯片所提供的接口类型按照相应的接口标准设计。TMS320F28234芯片采用5个1149.1–1990IEEE标准协议和IEEE标准的测试接口和边界扫描结构的JTAG信号接口,以及TI两个扩展接口(EMU0和EMU1)。如图4.5 JTAG接口的引脚定义所示。

图4.5 JTAG接口的引脚定义

JTAG仿真接口原理是在芯片的输入/输出引脚内部配置存储单元,用来保存引脚状态,并将内部在这些存储单元连接在一起,通过一个输入脚TDIT引入和一个输出脚TDO引出。在正常情况下,这些存储单元是不工作的,在测试模式下存储单元存储输入/输出口状态,并在测试存储口的控制下输入/输出。如表4-2引脚JTAG标头信号的引脚描述所示。

表4-2 引脚JTAG标头信号的引脚描述

信号

描述

仿真器状态

目标状态

EMU0

仿真管脚0

I

I/O

EMU1

仿真管脚1

I

I/O

GND

PD(VCC)

现场探测。此信号表明仿真使能已经连接并且目标已经上电。在目标系统中PD应与VCC连接

I

O

TCK

测试时钟是来自仿真使能端的时钟源,此信号能驱动系统测试时钟

O

I

TCK_RET

测试时钟返回。测试时钟输入仿真器,此信号可以具有缓冲或无缓冲的TCK类型

I

O

TDIT

测试数据输入

O

I

TDO

测试数据输出

I

O

TMS

测试模式选择

O

I

测试重启

O

O

TDO、EMU0和EMU1引脚的驱动电流是8mA, 对于TMS320F28234与JTAG仿真接口的连接,如图4.6 JTAG引脚的连接所示。

图4.6 JTAG引脚的连接

第五章 自适应滤波器的软件设计实现

第5.1节 自适应滤波器的程序设计流程图

采用TMS320F28234实现自适应滤波器,自适应算法采用基本的LMS算法,滤波器的结构采用横向FIR结构。自适应滤波器的TMS320F28234的设计中,程序设计语言运用汇编语言,如图5.1自适应滤波器程序的设计流程图所示。

图5.1 自适应滤波器设计流程图

第5.2节 自适应滤波器的程序实现

Code Composer Studio 简称CCS,是TI公司推出的为开发TMS320系列DSP软件的集成开发环境(IDE)。CCS采用图形接口界面,有编辑工具和工程管理工具。它将汇编器、链接器、C/C++编译器、建库工具等集成在一个统一的开发平台中。CCS所集成的代码调试工具具有各种调试功能,能对TMS320系列DSP进行指令级的仿真和可视化的实时数据分析。此外,还提供了丰富的输入/输出库函数和信号处理的库函数,极大地方便了TMS320系列DSP软件开发过程。CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力。

TMS320C2xx的定点DSP芯片所提供的单周期乘与累加带数据移动指令MACD和较大的片内RAM空间是数字滤波器每个滤波样值的计算可以在一个周期内完成,这对于实现FIR滤波器是很方便的。其内部的544字的片内DARAM,分为B0,B1和B2三块。其中B0块(256字)可以用软件编程为数据区(CLRC CNF)或者程序区(SETC CNF), CNF置位后,B0块映射到程序区FF00H~FFFFH。采用高效MACD指令,必须用片内DARAM,其中B0块必须配置为程序区。

    采用MACD指令结合RPTK指令就可以实现单周期滤波样值计算,阶数为ORDER的FIR滤波器可以实现如下:

      LRLK     AR3,XN         ;AR3指向x(n-N+1)

      RPTK     ORDER-1        ;重复执行N次

      MACD     0ff00h,*-        ;估计y(n)

其中,AR3为地址寄存器,开始时指向x(n-N+1),PC指向最后一个系数wn-1(n)。MACD指令实现的功能如下:

(1)将程序寄存器地址装入程序计数器;

(2)将存于数据区(B1块)的数据乘以程序区(B0块)的数据;

(3)将上次的乘积加到累加器;

(4)移动数据,将B1块中的数据向高地址移动一个地址;

(5)每次累加后,程序计数器加1,指向下一个滤波器系数样值。

    为了使用MACD指令,输入样值x(n)和滤波器系数w(n)必须合理的进行存放:执行SETC CNF(或CNFP)指令把B0块指定为程序存储器,必将滤波器系数w(n)放在B0块的RAM中,有程序总线存放;采样数据(输入样值)x(n)放在B1块的RAM中,由数据总线同时存取,并同时送往并行的乘法器进行累加。滤波器的系数w(n)和输入样值x(n)在存储器中的存储数据顺序,如图5.2自适应滤波器的存储器组织所示。

图5.2 自适应滤波器的存储器组织

TMS320F28234的指令集中提供了两条很强的指令ZALR和MPYA,这两条指令可以高效的实现系数的迭代。ZALR指令将存储单元中的数值装入累加器ACC的高16位中,并将ACC的第15位置1,第0到14位置0,以此模拟舍入效果。首先将更新后的系数截尾之后进行储存,所以向15位增加1等于舍入。MPTY指令将PREG存储器的前一个乘积加到累加器中,将操作数与TREG寄存器中的数据相乘,并将结果存入PREG中,且u*e(n)已经在T寄存器中。且实现基本LMS算法的程序如下:

                  LRLK     AR1,N-1        ;初始化循环计数器

                  LRLK     AR2,WN

                  LRLK     AR3,XN        ;指向x(n-N+1)

                  LRLK     AR3

                  MPY      *-,AR2         ;P=

e(n)x(n-N+1)

           ALP0  ZALR     *,AR3          ;取w(k,n)

                  MPYA     *-,AR2         ;ACC=P+w(k,n)

;P=

e(n)x(n-N+1)

                  SACH     *+,0,AR1       ;存w(k,n+1)

                  BANZ     ALP0,*-,AR2    

这里将采用TMS320F28234实现64阶自适应滤波器的汇编程序,自适应算法采用基本的LMS算法,滤波器的结构采用横向FIR结构,其中收敛因子

=0.01,k<64。程序中实现自适应滤波器的主要算法有:

滤波器的输出:

                               (5-1)

估计误差为:

                                (5-2)

更新滤波器系数:

                          (5-3)

基于TMS320F28234的自适应滤波设计的汇编语言程序(见附录)。

第5.3节 仿真结果分析

    为了说明自适应滤波器的优越性,这里通过仿真结果来表明。通过引入一个已有的数据文件方式得到一个受到噪声干扰的正弦波信号,该波形作为自适应滤波的输入信号。自适应滤波程序在CCS 环境下编译、链接、修改语法错误,编译链接通过后,加载并连接程序,连接生成公共目标代码文件,在线下载到DSP中运行。将编译产生的可执行文件下载到DSP芯片中后,为了能观察到实验结果相应的波形,在CCS环境下选择View\ Graph\ Time\ Freqency 进入图形观察窗口,弹出“graph property dialoy”参数窗口设置对话框,在“Graph Property Dialog”窗口中选定相应类型的值。经过运行得到时域图,如图5.3输入信号的时域图所示。由图5.3可以看到,低频信号中叠加了有噪声信号,导致低频信号出现了较大的畸变。通过对输入信号进行FFT变换,在“Graph Property Dialog”窗口中选定相应类型的值,可以得到其频谱图,如图5.4输入信号的频谱图。由图5.4可以看出,低频的信号中叠加了比较多的高频噪声,只有进行高频滤波才能够得到比较好的原始低频信号。

图5.3 输入信号的时域图

图5.4 输入信号的频谱图

在观察输出波形时,我们能够看到输出波形中仅剩余了低频信号,滤除了高频成分,如图5.5输出波形的时域图所示。为了更方便,更直接的看出滤波效果,对滤波后的波形进

图5.5 输出波形的时域图

行了FFT变换,在“Graph Property Dialog”窗口中选定相应类型的值,得出信号的频谱图,如图5.6输出波形的频谱图所示。通过图5.3和图5.5的对比,输入信号的高频噪声基本上得到了滤除。但是由于参数设置不够精确等原因造成高频噪声得不到完全消除,但也很明显的显现了低通滤波的目的。

图5.6 输出波形的频谱图

第六章 总结与展望

在自适应滤波器的仿真结果中,自适应滤波器实现了对含有噪信号的频率跟踪,并表明自适应滤波器能很好地消除叠加在信号上的噪声。虽然也可以用固定滤波器来实现,但设计固定滤波器时需要预先知道信号和噪声的统计特性,而自适应滤波器则不需要,并且当信号和噪声的统计特性发生变化时,自适应滤波器也能自动地调节其冲激响应特性来适应新的情况,因此,自适应滤波器具有更加广阔的应用前景。

围绕本文的整个设计过程,本文首先讲述了自适应信号处理技术与应用,为本文的设计工作打下理论基础。本文研究重点是自适应LMS算法与横向FIR滤波器的设计与软件实现。研究自适应算法是自适应滤波器的一个关键内容,算法的特性直接影响滤波器的效果。本文对线性自适应滤波器的算法作了研究,在自适应算法中,LMS算法不需要计算相应的相关函数,也不需要进行逆矩阵运算,运算量小,易于实现。通过比较了FIR结构和IIR结构的滤波器,并结合硬件设计考虑,最终采用FIR横向结构滤波器。为了满足自适应滤波器的实时性要求,本文以TMS320F28234为信号处理芯片,讲述自适应滤波器的硬件最小系统设计,并提供了自适应滤波算法的程序流程图以及详细程序。

在实际中,自适应滤波器的应用比较复杂,包括维纳滤波和卡尔曼滤波都是基于改变参数的滤波方法,修改参数的原则一般采用均方最小原则,修改参数的目的就是使得误差信号尽量接近于零。本文的设计过程中,遇到了一些的问题,同时也有需要改进的地方,本系统侧重自适应滤波器部分的实现,对信道的传输部分未作深入的分析。自适应滤波器的算法也可以用其它的算法来实现,如递推最小二乘法(RLS)算法在收敛速度方面比LMS算法要快,本文仅对LMS算法的收敛在自适应步长的选择范围作了论述。本文采用的线性结构的FIR滤波器虽然结构简单,但是性能稳定,其缺点是当信道存在靠近单位圆的零点时,会放大噪声,使用判断反馈的滤波器可以克服这一缺点。自适应滤波器还有其它的结构,并应用在不同的场合。本文所做的工作只是一些初步研究与设计,对于自适应滤波器的广阔的应用前景,自适应滤波技术也将会非常值得去研究。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我会尽力回答您的问题。以下是关于自适应滤波器设计及 Matlab 实现的一些基本知识和程序代码。 自适应滤波器是一种可以自动调整滤波器系数的数字滤波器。它可以根据输入信号的特性自动调节滤波器的参数,从而可以更好地适应不同的信号环境和噪声情况。 在 Matlab ,可以使用 Adaptive Filter 工具箱来实现自适应滤波器设计和模拟。以下是一个简单的 Matlab 程序,可以用来实现自适应滤波器设计和模拟: ``` % 定义输入信号和噪声信号 x = sin(2*pi*0.1*[0:1000-1]) + 0.5*randn(1,1000); % 定义自适应滤波器参数 M = 20; % 滤波器阶数 mu = 0.01; % 步长因子 % 初始化自适应滤波器系数 w = zeros(M,1); % 实现自适应滤波器 for n = M+1:length(x) x_n = x(n:-1:n-M+1)'; y_n = w'*x_n; e(n) = x(n) - y_n; w = w + mu*e(n)*x_n; end % 绘制输入信号、输出信号和误差信号的图形 subplot(3,1,1); plot(x); title('Input Signal'); subplot(3,1,2); plot(y_n); title('Output Signal'); subplot(3,1,3); plot(e); title('Error Signal'); ``` 以上程序,首先定义了一个输入信号和噪声信号,然后定义了自适应滤波器的阶数和步长因子,并初始化了自适应滤波器的系数。接着,使用 for 循环来实现自适应滤波器,最后绘制输入信号、输出信号和误差信号的图形。 希望这个程序能够帮助到您,如果您有任何问题或需要更多的帮助,请随时与我联系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值