自适应控制算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自适应控制算法综述

定时器Timer0中断服务子程序在整个控制过程中处于最核心地位。振动数据的采样频率就是通过定时器Timer0的中断周期来实现的,实际中中断周期为0.1ms 。程序每隔0.1ms 读取一次A/D 采集并平滑过的数据,调用单点数据的LMS 自适应处理子程序,计算完成后通过D/A 输出控制信号,经功放放大后作用于压电作动器。即实现了在采样频率10KHz 下,智能结构振动控制的实时处理。

参考自适应对消原理图,自适应对消的目的在于利用0v (n)和1v (n)的相关性,使y(n)成为0v (n)的估计值,则e(n)逼近s(n)的估计值。由图可得

e(n)=d(n)-y(n)

又有:

d(n)=s(n)+ 0v (n)

所以:

e(n)=s(n)+ 0v (n)-y(n)

)]()()[(2)]()([)()(02022n y n v n s n y n v n s n e -+-+=

由于)(n y 是)(0n v 的估计值,又)(n s 与)(0n v 不相关,所以有E{2s(n)[v0(n)-y(n)]}为0,即有

E[)(2n e ]=E[)(2n s ]+E[(v0(n)-y(n))2]

显然,当y(n)趋于v0(n)时,有

)]([2n e E 取得最小值。 各信号的对应关系如下:

s(n)-实验中振动对象自身所带的噪声信号。

v0(n)-实验中激振器激励振动对象的振动信号。

d(n)-实验中未对振动对象进行振动主动控制时的振动信号。

v1(n)-实验中激振器激励振动对象同时提供的激励参考信号。

y(n)-实验中控制器根据自适应控制算法提供的控制信号。

e(n)-实验中已对振动对象进行振动主动控制后的振动信号。

设自适应滤波器的长度m=64,收敛因子mu=0.005,信号长度n=512。m=64;

mu=0.005;

n=512;

x=zeros(1,n+1);

w=zeros(1,m*3);

d=zeros(1,n+1);

inputsignal=zeros(1,n+1);

designsignal=zeros(1,n+1);

outputsignal=zeros(1,n+1);

errorsignal=zeros(1,n+1);

e=0;

y=0;

for i=1:n

ds=sin(2*pi*0.02(i-1))+0.2*WGN(1,1,1,’real’);

xs=sin(2*pi*0.02(i-1));

for ii=2:m

x(ii-1)=x(ii);

end

x(m)=xs;

y=0;

for ii=1:m

y=y+x(ii)*w(ii);

end

e=ds-y;

for ii=1:m

w(ii)=w(ii)+2.0*mu*e*x(ii);

end

inputsignal(i)=xs;

designsignal(i)=ds;

outputsignal(i)=y;

errorsignal(i)=e;

end

figure(1);

j=1:n

subplot(4,1,1)

plot(j,designsignal(j),’b’)

title(‘期望信号’);

subplot(4,1,2)

plot(j,inputsignal(j),’b’)

title(‘输入信号’);

subplot(4,1,3)

plot(j,outputsignal(j),’b’)

title(‘滤波输出信号’);

subplot(4,1,4)

plot(j,errorsignal(j),’b’)

title(‘误差信号’);

相关文档
最新文档