DSP 自适应滤波器与系统辨识实验
系统辨识与自适应控制实验
中南大学系统辨识及自适应控制实验指导老师贺建军姓名史伟东专业班级测控1102班0909111814号实验日期2014年11月实验一 递推二乘法参数辨识设被辨识系统的数学模型由下式描述:2341231232.0 1.51()()()1 1.50.70.11 1.50.70.1z z z y k u k k z z z z z zξ---------++=+-++-++ 式中ξ(k )为方差为0.1的白噪声。
要求:(1) 当输入信号u (k )是方差为1的白噪声序列时,利用系统的输入输出值在线辨识上述模型的参数;(2) 当输入信号u (k )是幅值为1的逆M 序列时,利用系统的输入输出值在线辨识上述模型的参数;分析比较在不同输入信号作用下,对系统模型参数辨识精度的影响。
(1)clear all; close all;a=[1 -1.5 0.7 0.1]';b=[1 2 1.5]';d=3; %对象参数na=length(a)-1;nb=length(b)-1; %计算阶次L=500; %数据长度uk=zeros(d+nb,1);yk=zeros(na,1); %输入输出初值u=randn(L,1); %输入采用方差为1的白噪声序列xi=sqrt(0.1)*randn(L,1); % 方差为0.1的白噪声干扰序列theta=[a(2:na+1);b]; %对象参数真值thetae_1=zeros(na+nb+1,1); %参数初值P=10^6*eye(na+nb+1);for k=1:Lphi=[-yk;uk(d:d+nb)]; %此处phi为列向量y(k)=phi'*theta+xi(k); %采集输出数据%递推公式K=P*phi/(1+phi'*P*phi);thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);P=(eye(na+nb+1)-K*phi')*P;%更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);endplot([1:L],thetae); %line([1:L],[theta,theta]); xlabel('k');ylabel('参数估计a,b');legend('a_1','a_2','a_3','b_0','b_1','b_2');axis([0 L -2 2]);(2)clear all;a=[1 -1.5 0.7 0.1]';b=[1 2 1.5]';d=2; %对象参数na=length(a)-1;nb=length(b)-1; %计算阶次L=20; %数据长度uk=zeros(d+nb,1);yk=zeros(na,1); %输入初值x1=1;x2=1;x3=1;x4=0;S=1;%移位寄存器初值,方波初值xi=rand(L,1);%白噪声序列theta=[a(2:na+1);b]; %对象参数真值for k=1:Lphi(k,:)=[-yk;uk(d:d+nb)]'; % phi(k,:)为行向量,便于组成phi矩阵y(k)=phi(k,:)*theta+xi(k); %采集输出数据IM=xor(S,x4);if IM==0u(k)=-1;elseu(k)=1;endS=not(S);M=xor(x3,x4); %产生M序列%更新数据x4=x3;x3=x2;x2=x1;x1=M;for i=nb+d:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);End实验二 最小方差自校正控制实验设二阶纯滞后被控对象的数学模型参数未知或慢时变,仿真实验时用下列模型:34112122.5 1.510.5()()()1 1.50.71 1.50.7z z z y k u k k z z z zξ-------++=+-+-+ 式中ξ(k )为方差为0.1的白噪声。
基于DSP的自适应滤波器设计
基于DSP的自适应滤波器设计随着计算机技术和数字信号处理(DSP)算法的发展,自适应滤波器在信号处理领域中得到了广泛的应用。
DSP是数字滤波器的重要组成部分,其处理速度快,具有高精度、高灵活性和高可靠性等优点。
在信号处理中,一些不同于滤波器的滤波方法使用自适应滤波器。
自适应滤波器可以自动地调整它的系数来滤波信号,无需事先知道信号的特征。
因此,自适应滤波器被广泛应用于降噪、信号解调、调制解调、滤波等方面。
自适应滤波器的基本原理自适应滤波器可以根据输入信号来自动调整滤波器系数,以最小化原始信号与滤波器输出信号之间的误差。
其基本原理是通过误差信号来调整滤波器的权值(系数)。
自适应滤波器基于反馈原理运作,在实际滤波系统中是非常常见的。
它使用反馈调整滤波器的权值或系数,使得输出信号最小化误差信号,达到最小方差或最小均方误差。
在自适应滤波器的设计中,最重要的是确定误差准则和自适应算法。
误差准则通常是信号的均方误差,也可以是其他误差指标。
自适应算法是滤波器系数的更新规则,一般采用梯度算法或LMS(最小均方)算法。
DSP芯片是高性能的数字信号处理芯片,可快速处理大量数据。
为了实现基于DSP的自适应滤波器,我们需要选择一个高性能DSP芯片,并编写相应的算法。
自适应滤波器可通过DSP芯片上的FIR(有限脉冲响应)滤波器的实现来实现。
FIR滤波器具有线性相位和可控的频率响应,可以对输入信号进行高精度滤波。
在DSP芯片中,FIR滤波器的系数可以通过程序动态调整,实现自适应滤波器的功能。
在DSP芯片上实现自适应滤波器需要考虑以下几个方面:1. DSP芯片的性能:自适应滤波器需要快速处理大量数据,因此需要选择高性能的DSP芯片。
2. 算法的复杂性:选择算法时需要考虑实时性、计算复杂度和占用内存等因素。
3. 滤波器的选取:FIR滤波器在自适应滤波器中广泛使用,但我们还应该考虑IIR(无限脉冲响应)滤波器等其他滤波器的使用。
4. 数据格式和精度:在DSP芯片上实现自适应滤波器时,需要选择正确的数据格式和精度,以确保信号的精确性和稳定性。
系统辨识及自适应控制实验..
Harbin Institute of Technology系统辨识与自适应控制实验报告题目:渐消记忆最小二乘法、MIT方案与卫星振动抑制仿真实验专业:控制科学与工程姓名:学号: 15S******指导老师:日期: 2015.12.06哈尔滨工业大学2015年11月本实验第一部分是辨识部分,仿真了渐消记忆递推最小二乘辨识法,研究了这种方法对减缓数据饱和作用现象的作用;第二部分是自适应控制部分,对MIT 方案模型参考自适应系统作出了仿真,分别探究了改变系统增益、自适应参数的输出,并研究了输入信号对该系统稳定性的影响;第三部分探究自适应控制的实际应用情况,来自我本科毕设的课题,我从自适应控制角度重新考虑了这一问题并相应节选了一段实验。
针对挠性卫星姿态变化前后导致参数改变的特点,探究了用模糊自适应理论中的模糊PID 法对这种变参数系统挠性振动抑制效果,并与传统PID 法比较仿真。
一、系统辨识1. 最小二乘法的引出在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。
设单输入-单输出线性定长系统的差分方程为:()()()()()101123n n x k a x k a k n b u k b u x k n k +-+⋯+-=+⋯+-=,,,, (1.1) 错误!未找到引用源。
式中:()u k 错误!未找到引用源。
为控制量;错误!未找到引用源。
为理论上的输出值。
错误!未找到引用源。
只有通过观测才能得到,在观测过程中往往附加有随机干扰。
错误!未找到引用源。
的观测值错误!未找到引用源。
可表示为: 错误!未找到引用源。
(1.2)式中:()n k 为随机干扰。
由式(1.2)得错误!未找到引用源。
()()()x k y k n k =- (1.3)将式(1.3)带入式(1.1)得()()()()()()()101111()nn n i i y k a y k a y k n b u k b u k b u k n n k a k i n =+-+⋯+-=+-+⋯+-++-∑ (1.4)我们可能不知道()n k 错误!未找到引用源。
DSP课程设计-自适应滤波器
《数字信号处理》课程设计_ 自适应滤波器设计与实现系别计算机科学系专业通信工程班级学号组次姓名指导教师评定成绩起止日期年月日至年月日目录摘要 (1)第1章课程设计的目的和要求.................................................. 错误!未定义书签。
第2章系统功能介绍及总体设计方案 ................................. 错误!未定义书签。
第3章主要内容和步骤 .................................................................. 错误!未定义书签。
3.1自适应滤波器原理 ................................................................... 错误!未定义书签。
3.2操作步骤 ......................................................................................... 错误!未定义书签。
第4章详细设计 ................................................................................... 错误!未定义书签。
第5章实验过程 ................................................................................... 错误!未定义书签。
5.1汇编语言实验步骤与内容 .................................................. 错误!未定义书签。
5.2实验过程中出现的错误及解决的办法....................... 错误!未定义书签。
自适应估计算法的系统辨识及DSP实现
声 污染给人 的生 产 和生活 造成 诸多 不便 。传统 的 噪
声控 制方法一般采用 的是被动技术 , 例如密 封 、 屏蔽 、
题提 出了各种 改进 的算法 _ 4 J , 文献[ 7 ] 中的递 推预 报误差 ( R e c u r s i v e P r e d i c t i o n E r r o r , R P E ) 算法 , 其步长
( C o l l e g e o f I n f o r ma t i o n E n g i n e e r i n g, Z h e j i a n g U n i v e r s i t y o f T e c h n o l o g y , H a n g z h o u 3 1 0 0 1 4 , C h i n a )
【 Ke y w o r d s 】a c t i v e n o i s e c o n t r o l ; s y s t e m i d e n t i i f c a t i o n ; a d a p t i v e e s t i m a t i o n a l g o r i t h m; L M S ; D S P
【 A b s t r a c t 】 T h e a p p l i c a t i o n o f a d a p t i v e e s t i m a t i o n a l g o r i t h m i n s y s t e m i d e n t i i f c a t i o n i s d e s c i r b e d T h e a d a p t i v e e s t i m a t i o n a l g o —
r i t hm e s t i ma t e s t h e c o r r e l a t i o n ma t r i x o f t h e t a p i n p u t s a n d t h e c r o s s — c o r r e l a t i o n v e c t o r b e t we e n t he t a p i n pu t s a n d t h e d e s i r e d r e s p o n s e i n r e a l t i me by e mp l o y i n g mo v i ng a v e r a g e me t h o d du r i n g t h e s y s t e m i de nt i ic f a t i o n .T he p ur po s e i s c o n s t a n t l y u p da t i ng t he t a p— we i g h t v e c t o r . Th e a l g o it r h m h a s b e t t e r s t a b i l i t y a nd l o w c o mp l e x i t y,S O i t ha s g o o d a p p l i c a t i o n i n e n g i n e e in r g p r a c t i c e .
基于DSP的自适应滤波器的设计与实现
基于DSP的自适应滤波器的设计与实现贡镇【期刊名称】《现代电子技术》【年(卷),期】2013(000)017【摘要】The design of adaptive filter system based on TMS320F28234 is discussed. In the absence of any priori knowledge of signal and noise,the adaptive filter can reach the optimal filtering purposes. According to the principle of adaptive filtering, the LMS algorithm is discussed and analyzed,which is easy to realize. By comparing the advantages and disadvantages of FIR structure and IIR structure filter,the transverse FIR structure is used for the adaptive filter. To meet real-time requirement of the adaptive filtering,TMS320F28234 chip is used in the system design. Its minimum hardware system and software system were designed. The adaptive filter was realized with TMS320F28234. The simulation results show that the filtering effect of the adaptive filter is superior.%论述了基于TMS320F28234的自适应滤波器系统的设计。
DSP实验报告(综合)
实验报告||实验名称 D SP课内系统实验课程名称DSP系统设计||一、实验目的及要求1. 掌握用窗函数法设计FIR数字滤波器的原理和方法。
熟悉线性相位FIR 数字滤波器特性。
了解各种窗函数对滤波器特性的影响。
2. 掌握设计IIR数字滤波器的原理和方法。
熟悉IIR数字滤波器特性。
了解IIR数字滤波器的设计方法。
3.掌握自适应数字滤波器的原理和实现方法。
掌握LMS自适应算法及其实现。
了解自适应数字滤波器的程序设计方法。
4.掌握直方图统计的原理和程序设计;了解各种图像的直方图统计的意义及其在实际中的运用。
5.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法。
6.了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计方法。
7.了解取反的算法和用途,学习设计程序实现图像的取反运算。
8.掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。
二、所用仪器、设备计算机,dsp实验系统实验箱,ccs操作环境三、实验原理(简化)FIR:有限冲激响应数字滤波器的基础理论,模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
IIR:无限冲激响应数字滤波器的基础理论。
模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
、自适应滤波:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。
e(n)=z(n)-y(n)=s(n)+d(n)-y(n)直方图:灰度直方图描述了一幅图像的灰度级内容。
灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。
图像边缘化:所谓边缘(或边沿)是指其周围像素灰度有阶跃变化。
经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘临近一阶或二阶方向导数变化规律,用简单的方法检测边缘。
Matlab中的系统辨识与自适应滤波
Matlab中的系统辨识与自适应滤波一、引言Matlab是一种常用的科学计算和数据分析软件,在信号处理领域有着广泛的应用。
系统辨识和自适应滤波是Matlab中的两个重要概念,它们在信号处理和控制系统中有着重要的作用。
本文将介绍Matlab中的系统辨识和自适应滤波的基本原理、应用场景以及常用的方法。
二、系统辨识系统辨识是指通过对系统输入和输出的观测数据进行分析,来确定系统的数学模型。
在实际应用中,我们经常需要了解和预测系统的行为,通过系统辨识可以获得系统模型,从而进行系统仿真、控制和优化等操作。
1. 系统辨识的基本原理系统辨识的基本原理是通过建立数学模型来描述系统的行为。
常见的系统模型包括线性模型和非线性模型。
线性模型可以用线性方程组描述,而非线性模型则包括一些复杂的数学函数。
利用系统辨识方法,我们可以通过观测系统的输入和输出数据,推断系统模型中的参数,从而得到系统模型。
2. 系统辨识的应用场景系统辨识在许多领域中都有广泛的应用。
在电力系统中,通过对电力负荷和发电机数据的观测,可以建立电力系统的模型,用于短期负荷预测和系统调度。
在通信系统中,通过对信号的采集和分析,可以进行信道建模和功率控制等操作。
此外,系统辨识还应用于机械系统、航空航天系统等领域。
3. 系统辨识的常用方法在Matlab中,有许多工具和函数可用于进行系统辨识。
常用的方法包括最小二乘法、极大似然法、模态分析法等。
在具体应用中,我们可以根据系统的特点选择合适的方法,并使用Matlab提供的函数进行系统辨识。
三、自适应滤波自适应滤波是指根据输入信号的特性,调整滤波器的系数以获得期望的输出信号。
在实际应用中,我们经常遇到信号受到噪声、干扰等因素影响的情况,利用自适应滤波技术可以削弱或消除这些干扰,提高信号的质量。
1. 自适应滤波的基本原理自适应滤波的基本原理是通过不断调整滤波器的系数,使得滤波器的输出与期望输出之间的误差最小。
自适应滤波器通过不断更新系数的方式,可以自动适应输入信号的变化,从而提高滤波器的性能。
利用DSP实现自适应滤波
《DSP系统课程设计》利用DSP实现自适应滤波小组成员通信0X0XXXXXXXXX通信0X0XXXXXXXXXX2011-1-12利用DSP实现自适应滤波摘要:自适应滤波不仅能够选择信号,而且能够控制信号的特性。
自适应滤波器具有跟踪信号和噪声变化的能力,它的系数能够被一种自适应算法所修改。
利用DSP可以实时地对信号进行自适应滤波。
本设计利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。
首先利用DSP的DMA方式对外部信号进行实时采集,外部模拟信号先进行A/D转换,利用MCBSP的接收寄存器接收数据,编写程序,调用DSPLIB中的lms滤波函数,对信号进行自适应滤波。
滤波后信号存放数据区满发出中断,请求信号输出。
利用DMA方式将传输输出数据,经D/A转换后输出。
关键词:自适应滤波一.自适应滤波器的基本原理常规滤波器具有特定的特性,对于输入信号根据这个滤波器特性产生相应的输出。
也就是,先有了滤波器构成的权系数,然后决定相应输出值。
但有些实际应用往往是反过来要求的,即对滤波器输出的要求是明确的,而滤波器特性是无法预先知道的。
例如长话系统,回波相消器的理想输出是无回波信号,这个要求是明确的,而系统本身却不能一开始就确定下来,因为它取决于长话系统话路传输条件的变化,像这样的应用技术就必须依赖自适应滤波技术。
一个自适应滤波器,其权系数可以根据一种自适应算法来不断修改,使系统的冲击响应能满足给定的性能判据。
如语音ADPCM 编码中,线性预测自适应滤波器就要尽量实现误差信号e(n)于输入信号x(n)的前端时刻值x(n-1)、x(n-2)、…等等线性无关。
并由此作为判据不断调节滤波器的权系数。
总的来讲,自适应滤波器有两个独立的部分:一个按理想模式设计的滤波器;一套自适应算法,用来调节滤波器的权系数,使滤波器的性能达到要求。
如图所示,其中输入信号x(n)通过滤波器产生输出信号y(n),而自适应算法调节系数使误差信号e(n)达到最小。
利用DSP实现自适应滤波
序列值,M 是串联的总级数。格式结构的优点是按阶递归,故增加或减少级数不会影响存在 的阶数设计。
DSP 课程设计
设计报告
设 计 题 目 : 利 用 DSP 实 现 自 适 应 滤 波
2013 年 7 月 12 日
DSP 系统课程设计
目
录
1 设计任务要求………………………………………………………1
2 理论分析…………………………………………………………
2.1 TMS320C55x 概况……………………………………………………… 2.2 自适应滤波器原理…………………………………………………… 2.3 自适应滤波器结构…………………………………………………… 2.4 LMS 算法与 RLS 算法………………………………………………… 2.5 自适应滤波器的应用…………………………………………………
尽管 LMS 算法的应用广泛,但是它也有缺点。当环境噪声不是平稳随机信号时,LMS 算 法很难自适应的跟踪统计特性变化的外部噪声干扰,因而其收敛效果一般。而基于 RLS 的自 适应滤波算法克服了上述缺点,能在非平稳环境下取得较满意的滤波效果。RLS 算法是在 LMS 算法的基础上而来的,所不同的是在求均方误差时观测数据的长度是变化的。且随着观测数 据的时间先后顺序分别乘了加权因子。即 RLS 算法的均方误差变为:
k
2
ξ(k)= β( k,n) (n)
n1
式中:β(k,n)是加权因子,满足 0<β(k,n)≤1,n=1,2,…,k,也称作遗忘 因子。这样会使多次迭代之前的信号被遗弃掉,当滤波器工作于非平稳环境时,观测数据仍
系统辨识与自适应控制实验报告
系统辨识与自适应控制实验报告一、实验目的1.了解最小二乘算法的实现;2.使用最小二乘法一次完成算法、递推最小二乘法以及广义最小二乘法对系统进行辨识。
二、实验容设单输入-单输出系统的差分方程为y(k)=-取真实值=[ 1.642 0.715 0.39 0.35] ,输入数据如下表所列。
k u(k) k u(k) k u(k)1 1.147 11 -0.958 21 0.4852 0.201 12 0.810 22 1.6333 -0.787 13 -0.044 23 0.0434 -1.589 14 0.947 24 1.3265 -1.052 15 -1.474 25 1.7066 0.866 16 -0.719 26 -0.3407 1.152 17 -0.086 27 0.8908 1.157 18 -1.099 28 1.1449 0.626 19 1.450 29 1.177 10 0.43320 1.15130 -0.390用的真实值利用查分方程求出作为测量值,为均值为0,方差为0.1,0.5的不相关随机序列。
(1) 用最小二乘法估计参数(2) 用递推最小二乘法估计参数θ。
(3) 用辅助变量法估计参数θ。
(4) 设,用广义最小二乘法估计参数θ。
(5) 用增广矩阵法估计参数θ详细分析和比较所获得的参数辨识结果,并说明上述参数辨识方法的优点。
三、 实验设备Matlab 软件,PC 机一台。
四、实验原理4.1 最小二乘一次完成算法 4.1.1 公式 辨识参数L T LL TL LS y XX X 1)(-Λ=θ上式中4.1.2 程序流程图图 1最小二乘一次完成程序流程图4.2 递推最小二乘算法4.2.1 递推公式公式为其中,4.2.2 算法流程图图 2 递推最小二乘法实现程序框图4.3 增广最小二乘递推算法4.3.1 递推公式公式为:其中,4.3.2 算法流程图图 3 增广最小二乘法算法流程图五、实验结果5.1 最小二乘法一次完成实验结果XL =0 0 0 00 0 0 00 0 0.2010 1.1470-0.4798 0 -0.7870 0.20101.0245 -0.4798 -1.5890 -0.7870-0.4439 1.0245 -1.0520 -1.5890 0.9629 -0.4439 0.8660 -1.0520 -1.2332 0.9629 1.1520 0.8660 0.5840 -1.2332 1.5730 1.1520 -1.0939 0.5840 0.6260 1.5730 0.5840 -1.0939 0.4330 0.6260 -0.5647 0.5840 -0.9580 0.4330 0.7317 -0.5647 0.8100 -0.9580 -0.7784 0.7317 -0.0440 0.8100 0.4885 -0.7784 0.9470 -0.0440 -0.5996 0.4885 -1.4740 0.9470 0.8786 -0.5996 -0.7190 -1.4740 -0.2177 0.8786 -0.0860 -0.7190 0.0144 -0.2177 -1.0990 -0.0860 0.5907 0.0144 1.4500 -1.0990 -1.1611 0.5907 1.1510 1.4500 0.5277 -1.1611 0.4850 1.1510 -0.6284 0.5277 1.6330 0.4850 -0.1521 -0.6284 0.0430 1.6330 0.1108 -0.1521 1.3260 0.0430 -0.6053 0.1108 1.7060 1.3260 -0.2147 -0.6053 -0.3400 1.70600.3208 -0.2147 0.8900 -0.3400 -0.6014 0.3208 1.1440 0.8900 0.0005 -0.6014 1.1770 1.1440 yL =0.4798-1.02450.4439-0.96291.2332-0.58401.0939-0.58400.5647-0.73170.7784-0.48850.5996-0.87860.2177-0.0144-0.59071.1611-0.52770.62840.1521-0.11080.60530.2147-0.32080.6014-0.00050.4302辨识参数矩阵c =1.64200.71500.39000.3500a1 =1.6420;a2 =0.7150;b1 =0.3900;b2 =0.3500 下图为输入、输出矩阵的根径图图 4最小二乘法一次实现输入输出根径图5.2 递推最小二乘法算法辨识结果系统输出矩阵:y =Columns 1 through 130 0 0.4798 -1.0245 0.4439 -0.9629 1.2332 -0.5840 1.0939 -0.5840 0.5647 -0.7317 0.7784Columns 14 through 26-0.4885 0.5996 -0.8786 0.2177 -0.0144 -0.5907 1.1611 -0.5277 0.6284 0.1521 -0.1108 0.6053 0.2147Columns 27 through 30-0.3208 0.6014 -0.0005 0.4302辨识参数矩阵(辨识过程执行26次即满足了误差要求):c =Columns 1 through 130.0010 0 0.0010 0.5690 1.3863 1.64201.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.64200.0010 0 0.0010 0.0010 -0.2821 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.71500.0010 0 0.0719 1.0162 0.5392 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.39000.0010 0 0.4057 0.2403 0.3239 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500Columns 14 through 261.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.64200.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.71500.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.39000.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.3500辨识误差矩阵:e =Columns 1 through 130 0 0 567.9876 1.4365 0.1844 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0 0 0 -283.1457 -3.5341 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0 70.9263 13.1283 -0.4694 -0.2767 0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.00000 0 404.7388 -0.4078 0.3479 0.0807 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000Columns 14 through 260.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.00000.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 -0.00000.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000输入输出根径图图 5 递推最小二乘法输入输出根径图辨识参数过程图 6 递推最小二乘法辨识参数(辨识过程)辨识误差:图 7 递推最小二乘法辨识过程中的误差曲线5.3 增光最小二乘法实验结果随机噪声e0 =Columns 1 through 130.8017 0.3112 0.0400 1.5927 2.1796 -0.2063 0.4197 -0.4914 0.9967 -2.0484 1.3063 0.5351 0.5779Columns 14 through 261.5297 0.0416 0.1831 -0.9543 -1.3474 -0.3873 0.5971 -0.2250 -1.0173 1.3889 -0.3959 0.3049 0.3154Columns 27 through 300.0668 0.7128 0.0522 -1.3478考虑噪声的系统输出矩阵y =Columns 1 through 130 0 1.3292 -2.8976 3.0444 -3.4535 4.0637 -1.2169 1.8419 -1.5061 0.3942 -3.0734 2.3278Columns 14 through 26-0.7705 1.1973 -0.1962 0.3711 -0.4941 -1.4314 1.2987 -1.5689 0.0303 1.8310 0.3403 -0.3472 0.5176Columns 27 through 30-1.1419 -0.4368 0.0696 1.6791不考虑噪声的系统输出矩阵ys =Columns 1 through 130 0 0.4798 -2.4191 2.9124 -3.8936 3.4635 -3.4509 0.1092 -1.3596 1.5440 0.2076 4.7453Columns 14 through 26-1.3584 -0.0452 -1.6585 -1.3303 -0.7543 0.0873 2.8846 -0.1526 2.2396 1.8786 -2.4398 -1.3358 1.4562Columns 27 through 30-0.1371 1.7331 2.2914 1.0575不考虑噪声时的模型输出ym =Columns 1 through 130 0 0.8502 -2.7124 3.2115 -4.4770 4.5771 -3.4086 0.1092 -1.3596 1.5440 0.2076 4.7453Columns 14 through 26-1.3584 -0.0452 -1.6585 -1.3303 -0.7543 0.0873 2.8846 -0.1526 2.2396 1.8786 -2.4398 -1.3358 1.4562Columns 27 through 30-0.1371 1.7331 2.2914 1.0575考虑噪声时的模型输出ymd =Columns 1 through 130 0 1.3292 -2.8976 3.0444 -3.4535 4.0637 -1.2169 1.8419 -1.5061 0.3942 -3.0734 2.3278Columns 14 through 26-0.7705 1.1973 -0.1962 0.3711 -0.4941 -1.4314 1.2987 -1.5689 0.0303 1.8310 0.3403 -0.3472 0.5176Columns 27 through 30-1.1419 -0.4368 0.0696 1.6791辨识参数矩阵:c =Columns 1 through 130.0010 0 0.0010 1.5171 1.6829 1.84351.8250 1.6529 1.6420 1.6420 1.6420 1.6420 1.64200.0010 0 0.0010 0.0010 -0.1409 0.7419 0.6281 0.7388 0.7150 0.7150 0.7150 0.7150 0.71500.0010 0 0.1268 1.0576 0.8180 0.3002 0.4168 0.3921 0.3900 0.3900 0.3900 0.3900 0.39000.0010 0 0.7190 0.6789 0.7019 0.4396 0.1656 0.3522 0.3500 0.3500 0.3500 0.3500 0.35000.0010 0 -0.1988 0.0261 0.0572 -0.0988 -0.0852 1.0030 1.0000 1.0000 1.0000 1.0000 1.00000.0010 0 0.2540 0.6848 0.6545 1.34961.4284 1.6100 1.6420 1.6420 1.6420 1.6420 1.64200.0010 0 0.4430 0.0984 0.1605 0.2657 0.6386 0.7305 0.7150 0.7150 0.7150 0.7150 0.7150Columns 14 through 261.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.64200.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.71500.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.3900 0.39000.3500 0.3500 0.3500 0.3500 0.3500 0.35000.3500 0.3500 0.3500 0.3500 0.3500 0.3500 0.35001.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.00001.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.6420 1.64200.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150 0.7150Columns 27 through 301.6420 1.6420 1.6420 1.64200.7150 0.7150 0.7150 0.71500.3900 0.3900 0.3900 0.39000.3500 0.3500 0.3500 0.35001.0000 1.0000 1.0000 1.00001.6420 1.6420 1.6420 1.64200.7150 0.7150 0.7150 0.7150辨识参数误差矩阵e =1.0e+003 *Columns 1 through 130 0 0 1.5161 0.0001 0.0001 -0.0000 -0.0001 -0.0000 -0.0000 -0.0000 -0.0000 -0.00000 0 0 0 -0.1419 -0.0063 -0.0002 0.0002 -0.0000 0.0000 0.0000 -0.0000 -0.00000 0 0.1258 0.0073 -0.0002 -0.0006 0.0004 -0.0001 -0.0000 -0.0000 -0.0000 -0.0000 -0.00000 0 0.7180 -0.0001 0.0000 -0.0004 -0.0006 0.0011 -0.0000 0.0000 -0.0000 -0.0000 0.00000 0 -0.1998 -0.0011 0.0012 -0.0027 -0.0001 -0.0128 -0.0000 0.0000 0.0000 0.0000 -0.00000 0 0.2530 0.0017 -0.0000 0.0011 0.0001 0.0001 0.0000 -0.0000 0.0000 0.0000 0.00000 0 0.4420 -0.0008 0.0006 0.0007 0.0014 0.0001 -0.0000 0.0000 0.0000 -0.0000 0.0000Columns 14 through 260.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000-0.0000 -0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 -0.00000.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000-0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.00000.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000-0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000Columns 27 through 300.0000 -0.0000 -0.0000 0.00000.0000 -0.0000 -0.0000 0.00000.0000 -0.0000 -0.0000 -0.0000-0.0000 0.0000 -0.0000 -0.00000.0000 0.0000 0.0000 -0.00000.0000 0.0000 0.0000 0.00000.0000 -0.0000 0.0000 0.0000输入输出根径图:图 8 增广最小二乘法输入输出根径图辨识过程的参数:图 9 增广最小二乘法辨识过程参数辨识过程中的误差图 10 增广最小二乘法辨识过程中的误差系统输出矩阵和模型输出矩阵的对比:图 11 系统输出矩阵和模型输出矩阵的对比图六、结果分析利用最小二乘法对系统进行辨识,能够在最小误差平方的意义上对实验数据实现最好的拟合。
自适应性滤波实验报告材料
DSP课程设计实验报告自适应滤波的DSP实现学院:电子信息工程学院老师:钱满义老师班级:通信0606设计者:张健亮学号:06211181张萌学号:06211183电话:51689510DSP课程设计——自适滤波的DSP实现一、DSP课程设计目的(1)学习、掌握5402DSP片上外设直接存储器访问控制器DMA的结构与配置;(2)了解DSPLIB中的DLMS自适应滤波的使用,并学会调用54xdsp库中现有的常用函数;(3)了解自适应滤波器的原理,熟悉LMS算法;(4)了解DSP对自适应滤波器的设计及编程方法;(5)学会实时采集数据和信号提取方法;(6)熟悉对自适应滤波器的软件和硬件调试方法。
二、DSP课程设计要求及目标利用DSP实时地对信号进行自适应滤波。
DSP利用直接存储器访问方式DMA采集数据时不打扰CPU,CPU可以对信号进行实时地滤波。
本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。
首先完成自适应滤波器需要使用自适应算法(LMS算法)的编程与实现,通过对未知系统传递函数的建模,识别该未知系统,并对该系统进行噪声滤波。
实际中利用信号发生器产生一个或几个带噪声的正弦信号,其信号的频率、幅值以及相位都是变化的,通过自适应算法,实时跟踪该信号的变化,并将噪声滤去。
设计要求及目标如下:(1)对DMA进行初始化;(2)对A/D、D/A进行初始化;(3)编写DMA通道传输程序,实现数据实时采集和实时地输出;(4)设计子自适应滤波算法,或调用DSPLIB中的自适应函数,实现对信号的自适应波;(5)滤波后信号实时输出的同时,将数据存放在数据文件中;(6)利用自适应滤波实现语音信号回波对消。
三、自适应滤波原理1、自适应滤波概述:数字信号处理(DSP)是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形式。
利用DSP实现自适应滤波DSP课程设计
DSP课程实验报告——利用DSP实现自适应滤波目录一、设计任务书 (3)二、设计内容 (3)1.基本部分 (3)2.发挥部分 (3)三、设计方案、算法原理说明 (4)1.利用DSP进行信号处理 (4)2.利用DMA方式进行信号的采集和输出 (4)3.回波产生 (6)4.自适应滤波 (8)四、程序设计、调试与结果分析 (9)1. 程序设计 (9)2. 实验步骤 (12)3. 结果分析 (13)五、设计(安装)与调试的体会 (14)六、参考文献 (18)七、附录 (18)一、设计任务书自适应滤波器能够根据环境的改变,使用自适应算法来改变滤波器的参数和结构。
自适应滤波器的系数是由自适应算法更新的时变系数,其系数自动连续地适应于给定信号,以获得期望响应。
自适应滤波器的最重要的特征就在于它能够在未知环境中有效工作,并能够跟踪输入信号的时变特征。
自适应滤波器应用于通信领域的自动均衡、回波消除、天线阵波束形成,以及其他有关领域信号处理的参数识别、噪声消除、谱估计等方面。
本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行自适应滤波。
二、设计内容1.基本部分(1)设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的滤波(2)利用C语言对A/D、D/A进行初始化(3)利用C语言对DMA进行初始化(4)编写DMA中断服务程序,实现信号的实时滤波(5)利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数2.发挥部分(1)比较不同自适应性滤波器的滤波效果;(2)在实验板的Line in输入端接入正弦信号,分左右声道分别采集,并分别滤波。
三、设计方案、算法原理说明1.利用DSP进行信号处理首先,模拟信号x(t)经过A/D转换后,成为数字信号,由DSP读入;DSP对采集的数字信号采用数字信号处理的算法进行处理,处理结果仍为数字信号;处理后得到的数字信号经D/A转换后,成为模拟信号y(t)。
dsp综合实验-lms的自适应滤波器
实验报告课程名称:数字信号处理实验任课教师:周浩实验名称:滤除音频信号中的高斯噪声信号年级、专业:08级通信工程学号:20081姓名:日期:2010 年月日云南大学信息学院一、实验目的1. 了解MATLAB在设计滤波器中强大的功能,无论在程序,还是仿真。
2. 了解高斯白噪声的滤除以及算法,设计出自适应滤波器。
二、实验内容1. 滤除含有高斯噪声的音频信号的噪声信号,并达到一定的效果。
设计出自适应滤波器。
三、主要算法与程序高斯噪声的频谱是无限长的,因此用低通滤波器滤出来的效果并不好,因此我们必须使用另外一种滤波器—自适应滤波器。
自适应滤波器与普通滤波器的区别是它能够随着外界信号特性动态的改变单数,保持最佳滤波状态,如何根据外界信号的变化来调整参数是由自适应算法决定的,因此自适应算法的好坏直接影响滤波的效果。
自适应滤波器中有使用lms算法的,LMS算法是利用梯度估计值来代替帝都向量的一种快速搜索算法,具有量小、易实现的优点;其基本思想是通过调整滤波器的权值参数,是滤波器的输出信号与期望信号之间的均方误差最小。
自适应滤波一般包括2个基本过程:滤波过程和滤波器参数调整过程。
这2个过程组成1个反馈环。
在设计的过程中,虽然FIR和IIR都可以用于自适应滤波器,由于IIR的稳定性问题,所以设计时采用自适应横向FIR滤波器。
其结构下图所示。
这个算法对于滤除高斯噪声是很适合的。
LMS算法步骤:1,、设置变量和参量:X(n)为输入向量,或称为训练样本W(n)为权值向量b(n)为偏差d(n)为期望(均值)输出y(n)为实际输出η为学习速率n为迭代次数2、初始化,赋给w(0)各一个较小的随机非零值,令n=03、对于一组输入样本x(n)和对应的期望输出d,计算e(n)=d(n)-X^T(n)W(n)W(n+1)=W(n)+ηX(n)e(n)4、判断是否满足条件,若满足算法结束,若否n增加1,转入第3步继续执行。
程序:clear allclcN=2048;[s,fs,bits]=wavread('original.wav'); %用于读取语音,采样值放在向量y 中,fs表示采样频率(Hz),bits表示采样位数。
基于DSP信号处理系统的自适应滤波器
2010-01 兵工自动化29(1) Ordnance Industry Automation ·63·doi: 10.3969/j.issn.1006-1576.2010.01.019基于DSP 信号处理系统的自适应滤波器崔旭涛1,2,杨日杰2,何友2(1. 海军航空工程学院 科研部,山东 烟台 264001;2. 海军航空工程学院 信息融合研究所,山东 烟台 264001) 摘要:为达到最优的滤波效果,在对自适应滤波器结构、算法研究的基础上,利用DSP 、A /D 和D /A 技术构建了验证信号处理算法的硬件平台,并通过DSP 的软件编程,完成了自适应滤波算法的工程实现,对LMS 自适应滤波算法的滤波效果进行了验证和分析。
测试表明,随着信噪比的降低,自适应滤波器的性能也随之下降,当信噪比为0dB 时,LMS 自适应滤波算法不能完成滤波的功能。
关键词:DSP ;A /D ;D /A ;自适应滤波 中图分类号:TP273+.2 文献标识码:AAdaptive Filter Based on DSP Signal Processing SystemCUI Xu-tao 1,2, YANG Ri-jie 2, HE You 2(1. Dept. of Scientific Research, Naval Aeronautical & Astronautical University, Yantai 264001, China; 2. Research Institute of Information Fusion, Naval Aeronautical & Astronautical University, Yantai 264001, China) Abstract: In order to achieve the best filtering effect, on the basis of researching of adaptive filter architecture and algorithm, building the hardware platform of verify signal processing algorithm using DSP, A/D and D/A technology, and through DSP software programming done Engineering realization of adaptive filtering algorithm, then filter effect of LMS adaptive filter algorithm is verified and analyzed. Tests show that performance of adaptive filter descends with the descending of the SNR, and when the SNR is 0dB, LMS adaptive filtering algorithm cannot realize filtering function.Keywords: DSP; A/D; D/A; Adaptive filter0 引言在信号和噪声特性无法预知或随时间变化的情况下,采用FIR 和IIR 具有固定系数的滤波器滤波,因滤波器的特性已知而无法实现最优滤波。
基于DSP开发工具的自适应滤波器
基于DSP开发工具的自适应滤波器本文由xinye_1987贡献pdf文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
第32卷第3期2100年6月探测与控制学报JunlfDeeto&CotooratcinonrlV0.2NO313.Jn21u.00基于DP开发工具的自适应滤波器S杨东,建业,王蔡飞(空军工程大学导弹学院。
西三原陕730)180摘要:针对传统方式开发的自适应滤波器效率低、难度大的缺点,DPBie,利用Sudr设计出了基于延时最小l均方(L)DMS算法的1阶系统辨识自适应滤波器。
仿真与测试表明了设计的正确性,6并在CcnIylel系列oFGA芯片上完成了硬件验证,P滤波器最高频率达到8.7MHz数据吞吐量显著提高。
20,关键词:适应滤波器;SulrHLFG自DPBie;I;PAd中图分类号:N0文献标志码:文章编号:0819(000-090T42A10—1421)07—43TheAdaieFitrBaenteDeeomeofDSptvlesdohvlpentToloPYANGnWANGineCAIFiDog,Jay,e(islnttt,rFreEnierniestSnun703,iaMsiisieAiocgneigUnvrieuy,aya108Chn)AbtatTrdtoayfdvlpndpieFRieaetedsdatgsooefinyadmuhsrc:aiinlwasoeeoigaatvIftrhvhiavnaeflwfiecnclcdfiut.moeo6tpdpieFIflrbsdohiclyAdlf1一asaatRieaenteDLMSagrtmswaeindbsdohPfvtloihsdsgeaenteDSBule.esmuainadtseuteiidtecretesoheinThPirThiltnetrslsvrehorcnsftedsg.dofeFGApenainohilmettoftemflrwaaenteCylnIeisThorqecfteflrahee20iesbsdohcoe1tsr.etpfeunyohiecivd8.7MHzwhcniaeet,ihidctdtahhogptohttetruhufDLMSwarihrtasanssmoehgehnuule.oKeyworsaateflrDSule;L;GAd:dpiie;PBirHIFPvtd0引言随着数字超大规模集成(S)术的发展,VLI技自DPBie作为Malb的Smuik工具箱,Sulrdtailn是基于FGA的DP开发工具,支持系统、法PS它算和硬件设计共享一个公共开发平台,算法友好的在S适应信号处理技术在许多领域(如:字通信、例数雷开发环境中帮助设计人员生成DP设计硬件表征,P达、物医学、震学、航系统等)到了广泛应从而缩短了DS设计周期。
自适应滤波实验报告
自适应滤波实验报告一、实验目的1.了解自适应滤波的原理和应用。
2.通过实验,验证自适应滤波算法在信号处理中的有效性。
二、实验器材与设备1.计算机2.数学软件MATLAB三、实验原理\[ W(k+1) = W(k) + \mu \cdot e(k) \cdot X(k) \]其中,W(k+1)为更新后的滤波器权值,W(k)为上一次的滤波器权值,μ为步长,e(k)为期望输出信号与实际输出信号的误差,X(k)为输入信号。
四、实验步骤1.准备实验所需的输入信号和期望输出信号。
通过MATLAB生成不同噪声水平的输入信号,并对其进行自适应滤波得到对应的期望输出信号。
2.设置自适应滤波算法的参数,包括滤波器的初始权值、步长等。
3.利用MATLAB实现自适应滤波算法,计算滤波器的权值。
4.将输入信号通过自适应滤波器,得到实际输出信号。
5.计算期望输出信号与实际输出信号之间的均方误差,并与预期结果进行比较。
五、实验结果与分析根据实验结果,期望输出信号与实际输出信号之间的均方误差随着迭代次数的增加逐渐减小,说明自适应滤波算法能够较好地逼近期望输出信号。
通过调整步长参数,可以控制自适应滤波算法的收敛速度和稳定性。
步长过大可能导致算法发散,步长过小可能导致算法收敛速度过慢。
因此,在应用自适应滤波算法时,需要根据具体情况选择合适的步长。
六、实验总结实验结果表明,自适应滤波算法能够有效地逼近期望输出信号,并能够通过调整步长参数来控制算法的收敛速度和稳定性。
在实际应用中,需要根据具体情况选择合适的步长参数,以达到最佳的滤波效果。
在今后的研究中,可以进一步探索其他自适应滤波算法,并通过实验验证其在信号处理中的有效性。
此外,还可以考虑将自适应滤波算法用于其他领域的信号处理问题,进一步拓展其应用范围。
自适应滤波器的原理与程序
自适应滤波器的原理与程序一、实验目的:1、 了解自适应滤波器的原理,明确自适应滤波器程序的基本构成。
2、 学习自适应滤波程序建立和调试的基本方法,对一个带有噪音干扰的信号进行自适应滤波。
二、实验原理:1、自适应滤波原理在数字信号处理的一些应用中,为保证条件变化时的跟踪能力,如语音信号传输中的回声和噪声干扰的消除等,往往需要滤波器能够进行自适应调节。
由于IIR 滤波器存在着稳定性问题,因此,目前通常采用FIR 滤波器进行自适应算法的研究和运用。
自适应滤波器的构成如图8-10-1所示。
图中H (z )的输出d (n )为期望输出,当实际输出与期望输出存在误差时,自适应滤波器将自动调节其滤波器的系数,使得输出y (n )接近理想输出。
(n x h (n x W )(n y )(n e 图8-10-1 自适应滤波器的结构自适应滤波器由参数可调的数字滤波器(或称为自适应处理器)和自适应算法两部分组成。
输入信号()x n 通过参数可调的数字滤波器后产生输出信号(或者响应)()y n ,将其与参考信号(或称期望信号)()d n 进行比较,形成误差信号()e n 。
()e n 通过某种自适应算法对滤波器参数进行调整,最终使()e n 的均方误差最小。
因此,实际上自适应滤波器是一种能够自动调整本身参数的特殊的维纳滤波器,在设计时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的工作过程中逐渐“了解”或估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳滤波效果。
一旦输入信号的特性发生变化,它又能够跟踪这种变化,自动调整参数,使 滤波器性能达到最佳。
在自适应FIR 滤波器中,滤波输出具有以下形式:写成矢量的形式即误差信号()e n自适应滤波器按照误差信号的均方值最小的准则,即来自动调整权矢量。
2[()]E e n 在()d n 和()x n 都是平稳随机信号的情况下,是权矢量的二次函数。
这就是说,10()()()N k k y n w n x n k -==-å()()()()()y n x n w n w n x n T T ==()()()()()()()()()e n d n y n d n x n w n d n w n e n T T =-=-=-2[()]min E e n =若将上式展开,则w 各分量只有一次项和二次项存在。
基于DSP的自适应滤波系统的设计与实现
技术创新《微计算机信息》(嵌入式与SOC )2009年第25卷第8-2期360元/年邮局订阅号:82-946《现场总线技术应用200例》DSP 开发与应用基于DSP 的自适应滤波系统的设计与实现The Design and Implement of Adaptive Filter System Based on DSP(华南理工大学)李燕绪毕淑娥LI Yan-xu BI Shu-e摘要:本文主要提出了新的变步长LMS 算法,并介绍了TI 公司的DSP 芯片TMS320VC5402与音频芯片TLV320AIC23的硬件接口设计。
利用TLV320AIC23来采集带噪语音信号,然后应用新的变步长LMS 算法对带噪语音信号作自适应滤波处理,达到了有效地抑制噪声,提高信噪比,减少失真的效果。
关键词:自适应滤波;DSP;噪声;失真中图分类号:TP391文献标识码:AAbstract:This paper mostly proposes a new LMS algorithm and introduces the design of the hardware interface between TI ’s TMS320VC5402DSP and TLV320AIC23.Obtaining audio signal mixed with noises by TLV320AIC23;Then using this new variable step size LMS algorithmad in noise filterring,which can not only effectively restrain noise but also cut down the distortion to enhance SNR(Signal-to-Noise).Key words:adaptive filtering;DSP;noise;distortion文章编号:1008-0570(2009)08-2-0112-02李燕绪:硕士研究生1引言目前,以DSP(Digital Signal Processor)为核心的各种数字滤波器在现代数字信号处理中已经得到了广泛应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6: 自适应滤波器与系统辨识实验一.实验目的1.熟悉自适应滤波器的基本概念,掌握LMS 算法的基本原理。
2.掌握LMS 算法的DSP 实现方法。
3. 熟悉自适应方法进行系统辨识的原理和方法。
4. 学习采用虚拟仪器记录、分析信号的方法。
二.实验设备PC 兼容机一台,操作系统为Windows2000,安装Code Composer Studio 4.2软件。
C55x DSP 实验箱。
三.实验原理1.自适应滤波器的基本概念和LMS 算法 基于LMS 算法的自适应滤波器结构见下图。
其中,)(n x 、)(n d 分别称为滤波器的输入信号(或参考输入信号,或参考信号)和期望信号,)(n e 称为滤波器的误差信号,()y n 称为滤波器的控制输出信号或输出信号。
W(z)称为控制滤波器或主滤波器,)(n w i 为控制滤波器的权值系数,0,1......1l L =-,L 为滤波器阶数。
定义滤波器输入信号向量和滤波器系数向量分别为[]()()(1)....(1)Tn x n x n x n L =--+X (1-1)[]011()()()....()TL n w n w n w n -=W (1-2)于是,滤波器输出信号可表达为()()()()()T T y n n n n n ==w x x w (1-3a )或∑=-=Ll l l n x n w n y 0)()()( (1-3b )误差信号可表达为()()()()()()T e n d n y n d n n n =-=-w x (1-4)自适应滤波器的目的是以迭代的方式逐步调整滤波器系数)(n w l ,使误差信号)(n e 的能量(或幅度)不断减小,趋近最优值。
在LMS 算法中,定义2()()n e n ξ=为性能函数,采用梯度法进行寻优,由此可导出滤波器系数更新公式:(1)()()()n n e n n μ+=+w w x (1-5)其中μ为收敛因子。
μ的取值要合适,太小收敛速度过慢,太大则会导致系统会不稳定。
2.自适应系统辨识的基本原理基于LMS 算法的自适应系统辨识原理见下图,其中)(G z 为待辨识的系统。
白噪声信号发生器发出的辨识噪声)(n u 一方面注入待辨识系统)(G z ,一方面作为自适应滤波器的参考输入信号。
算法收敛后,自适应滤波器的系数)(n w 就可取为待辨识系统)(G z 的冲击响应g 。
3. 本实验的硬件结构辨识系统结构见下图。
其中,白噪声信号)(n u 由VC5509A 内部产生,经AIC23B 的一路DAC 输出,注入图中所示某未知电路模块;该未知电路模块的输出信号作为AIC23B 的一路输入信号,经ADC 得到)(n d 。
同时,)(n u 、)(n d 分别作为自适应滤波器的参考输入信号和期望输入信号。
自适应滤波器所涉及的计算由VC5509A 完成。
该系统所得辨识结果为从信号)(n u 开始到)(n d 之间所包括的所有子系统,除了未知电路模块外,还包括所用到的AIC23B 的DAC 和ADC 部分。
4.实验源程序(1)lab6.c 为主程序,首先完成系统初始化、变量初始化,然后通过查询定时器中断服务程序实现采样时间控制,在每一个采样时间内调用一次自适应系统辨识模块,完成一次自适应滤波,当滤波次数达到规定次数时停止辨识,并进入循环等待状态。
(2)process.c 为自适应系统辨识模块。
每次自适应系统辨识过程中完成的操作:1)产生一个白噪声数据,一方面作为主滤波器的参考输入x(n),一方面由JP5的引脚LOUT0输出至被辨识系统的输入端口;2)从JP5引脚LIN0读入来自被辨识系统的输出端口的信号,作为主滤波器的期望信号d(n);3)主滤波器采用当前系数w (n),对参考输入信号进行FIR 滤波,得到控制输出信号y(n);4)将期望信号与控制输出信号相减得到误差信号e(n),误差信号由JP5的引脚LOUT1输出,以便采用虚拟信号分析仪记录误差信号、观察自适应滤波的过程;5)采用LMS 算法对主滤波器进行系数更新。
(3)lab5.cmd 为命令文件。
(4)其它模块还有:sdram_init.c ,aic23.c ,i2c.c ,util.c ,vectors.asm 。
(5)有关头文件:5509.h ,c55xxdefs.h ,util.h 。
四.实验步骤1. 预习: (1)认真阅读本实验指导书第三部分,熟悉自适应滤波和自适应辨识的基本原理和方法。
(2)认真阅读本实验指导书第七部分,理解主程序和process.c 模块,以及所涉及的相关模块及其作用。
2. 实验准备: 双击桌面图标,启动Code Composer Studio ,选择工作目录。
3.建立工程lab6。
4. 向工程lab6中加载文件:lab6.c ,lab5.cmd ,sdram_init.c ,aic23.c ,i2c.c ,util.c ,vectors.asm ,5509.h ,c55xxdefs.h ,util.h 。
5.建立配置文件xml (选择VC5509A Emulater 模式,仿真器选择XDS100V2)。
6. 使用导线连接JP5的引脚LOUT0与LIN0,将虚拟仪器的信号输入端接JP5的引脚LOUT1。
7.编译、链接工程,下载程序。
打开虚拟仪器记录窗口开始记录波形。
8. 运行程序,数秒钟后停止执行程序,停止虚拟仪器记录。
1)采用CCS观察波形。
打开图形观察窗口,观察滤波器系数波形,观察相关信号。
2)观察虚拟仪器所记录的误差信号波形。
9. 修改相关参数(滤波器长度、收敛步长、辨识次数等),重复上述第7、8步操作,直至得到误差信号与期望输入信号(或控制输出信号)相比足够小时,取主滤波器系数作为辨识结果。
10.退出CCS。
五.实验结果六.思考题(1)本实验的辨识的系统包括哪些环节?(2)选做:用导线将使VC5509A板上JP5-LOUT0引脚连接至实验箱上的功率放大器和扬声器,将麦克连接至实验箱上信号调理板的Mic信号输入端,再将信号调理板的信号输出端连接至VC5509A板上JP5-LIN0引脚,重复实验。
此时所辨识的系统包括哪些环节?此时得到的系统冲击响应与原实验相比有什么特点?七.附录(1)主程序/* 本实验使用vc5509A板右上角的JP5接线排座.* 从左边起,JP5的引脚分别是AIC23B0的LLINE(标记为LIN0)、RLINE(标记为RIN0)、NC、* LOUT(标记为LOUT0)、ROUT (标记为ROUT0)*/#include "5509.h"#include "util.h"#include "math.h"/*********************************************************************************/int timer_flag; //用户自定义定时器中断标志.在定时器isr中改变,在主程序中查询、复位int N_iden; //辨识次数int n_iden; //辨识进程计数器,该值等于N_iden时结束辨识过程.float WhiteNoise; //白噪声信号当前值float ErrorSignal; //误差噪声信号当前值float DesiredSignal;//期望信号当前值float w[L],x[L]; //主滤波器系数向量和当前参考输入信号向量.L为主滤波器阶数,在util.h中定义和修改float d[L],e[L],y[L]; //期望、误差、控制输出等信号向量.用于调试程序时观察信号波形.void INTR_init(); //中断初始化模块void TIMER_init(); //定时器初始化子程序void wait(unsigned int cycles); //时延子程序int i;float Mu=0.05; //自适应滤波器的收敛因子,在信号处理模块process.c中使用float alpha; //=Mu*e(n),在信号处理模块process.c中使用void main(){/*---------------------------系统部件初始化---------------------------------------- */PLL_Init(144); //调用锁相环初始化子程序,使CPU时钟频率为144MHz.该模块代码定义在util.c中.wait(29); //调用时延子程序,使CPU时延29个周期. 该模块代码定义在main函数后SDRAM_init(); //调用SDRAM初始化子程序. 该模块代码定义在sdram_init.c中AIC23_Init(); //调用AIC23初始化子程序. 该模块代码定义在aic23.c中INTR_init(); //调用中断初始化子程序.该模块代码定义在main函数后TIMER_init(); //调用定时器初始化子程序.该模块代码定义在main函数后/*---------------------------变量初始化---------------------------------------- */for(i=0;i<L;i++){w[i]=0.0; //初始化主滤波器系数向量x[i]=0.0; //初始化参考输入信号向量d[i]=0.0;e[i]=0.0;y[i]=0.0;}ErrorSignal=0;DesiredSignal=0;timer_flag=0;n_iden=0;N_iden=16000;/*---------------------------辨识过程主循环------------------------------------ */while(n_iden<N_iden){if(timer_flag==1) //在主程序中清timer_flag为0,在定时器isr中置timer_flag为1.{ //如果timer_flag为0则继续查询,若为1则调用LMS_Filter进行一次辨识过程timer_flag=0;LMS_Filter();n_iden++;}}/*---------------------------辨识过程结束后进入等待--------------------------------- */while (1){}}/*****************************/void interrupt Timer(){timer_flag=1;}/******************************/void wait(unsigned int cycles){int i;for ( i = 0 ; i < cycles ; i++ ){}}void INTR_init( void ){PC55XX_MMR pMMR = (PC55XX_MMR)C55XX_MMR_ADDR;Write(pMMR->ivpd,0xd0);Write(pMMR->ivph,0xd0);Write(pMMR->ier0,0x10);Write(pMMR->dbier0,0x10);Write(pMMR->ifr0,0xffff);asm(" BCLR INTM");}void TIMER_init(void){PC55XX_TIMER pTIMER = (PC55XX_TIMER)C55XX_TIM0_ADDR;//4KWrite(pTIMER->tim,0); // Timer registerWrite(pTIMER->prd,0x8CA0); // Timer period registerWrite(pTIMER->tcr,0x00E0); // Timer control registerWrite(pTIMER->prsc,0); // Timer prescaler register}}(2)自适应辨识子程序#include "5509.h"#include "util.h"#include "extaddr.h"#include "math.h"extern float ErrorSignal;extern float DesiredSignal;extern float WhiteNoise;extern float Pu,Mu,alpha;extern float w[L],x[L];extern float d[L],e[L],y[L];void LMS_Filter(){int i;int outputTemp,inputTemp;PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR;while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY)); // 等待McBSP0准备好/* ------------------------------获得期望信号-----------------------------------*/inputTemp = Read(pMCBSP0->ddr1); //读取来McBSP0的数据,该数据为经由AIC23采集的被辨识系统的输出信号inputTemp = Read(pMCBSP0->ddr2);DesiredSignal=(float)inputTemp;/* ----------------------生成辨识白噪声信号,并输出-----------------------------------*/WhiteNoise=rand()-0x4000; //产生辨识白噪声信号,浮点数outputTemp=(int)WhiteNoise; //转化为整数Write(pMCBSP0->dxr1,outputTemp); //将数据送到McBSP0,经由AIC23转换成模拟信号输出,作为被辨识系统的输入信号Write(pMCBSP0->dxr2,outputTemp);/* ------------------------更新参考输入信号向量-----------------------------------*/for(i=L-1;i>0;i--){x[i]=x[i-1];}x[0]=WhiteNoise/32768;/* ------------------------更新期望输入信号向量-----------------------------------*/for(i=L-1;i>0;i--){d[i]=d[i-1];}d[0]=DesiredSignal/32768;/* --------------------计算主滤波器的输出-----------------------------------------*/y[0]=0.0;for(i=0;i<L;i++){y[0]=y[0]+w[i]*x[i];}/* ------------------------更新误差信号向量-----------------------------------*/for(i=L-1;i>0;i--){e[i]=e[i-1];}/* ------------------------计算误差信号-----------------------------------------*/e[0]=d[0]-y[0];/* ------------------------更新主滤波器系数--------------------------------------*/alpha=Mu*e[0];for(i=0;i<L;i++){w[i]=w[i]+alpha*x[i];} }。