这个例子展示了如何通过构造和调整ANFIS模型来进行自适应非线性噪声抵消。
定义一个假设的信息信号,x
,在6秒内以100 Hz的频率采样。
时间=(0:0.01:6);(x=sin(40./(时间+0.01));绘图(时间,x)标题(“信息信号x”)xlabel(“时间”)伊拉贝尔(“x”)
假定x
无法在没有干扰信号的情况下进行测量,
,这是由另一个噪声源产生的,
,通过某种未知的非线性过程。
生成并绘制噪声源 .
n1=随机数(大小(时间));绘图(时间,n1)标题(“噪声源n_1”)xlabel(“时间”)伊拉贝尔(‘n_1’)
假设干扰信号, ,通过未知非线性方程生成测量信号中出现的:
将此非线性函数绘制为曲面。
domain=linspace(min(n1),max(n1),20);[xx,yy]=meshgrid(domain,domain);zz=4*sin(xx)。*yy./(1+yy.^2);surf(xx,yy,zz)xlabel(‘n_1(k)’)伊拉贝尔(‘n_1(k-1)’)兹拉贝尔(‘n_2(k)’)头衔(“未知干扰信道特性”)
计算干扰信号, ,从噪声源, ,并绘制两个信号。
n1d0=n1;%延迟为0的n1n1d1=[0;n1d0(1:长度(n1d0)-1)];%具有延迟1的n1n2=4*sin(n1d0)。*n1d1./(1+n1d1.^2);%干扰子地块(2,1,1)绘图(时间,n1)标签(‘n_1’)xlabel(“时间”)头衔(“噪声源”)子地块(2,1,2)绘图(时间,n2)ylabel(‘n_2’)头衔(“干扰信号”)xlabel(“时间”)
与 通过前面所示的高度非线性过程。然而,从图上看,这两个信号似乎没有以任何方式相互关联。
被测信号,M
,是原始信息信号的总和,x
,以及干扰,
然而
未知。唯一可用的信号是噪声信号,
,以及测量的信号M
.
m=x+n2;子地块(1,1,1)绘图(时间,m)标题(“测量信号”)xlabel(“时间”)伊拉贝尔(“我是)
您可以恢复原始信息信号,x
,通过ANFIS训练使用自适应噪声抵消。
使用自适应神经模糊推理系统
命令来识别之间的非线性关系
和
虽然
不是直接可用的,您可以假设M
这是一个吵闹的版本
用于培训。此假设适用于x
在这种非线性拟合中被称为“噪声”。
假设非线性信道的阶数已知(在这种情况下,2.
)。您可以使用双输入ANFIS模型进行培训。
定义培训数据数据
是ANFIS模型的输入,
还有一个延迟版本的
.最后一栏数据
是被测信号,M
.
延迟的_n1=[0;n1(1:长度(n1)-1)];数据=[delayed_n1 m];
生成初始FIS对象。默认情况下,网格划分算法对每个输入变量使用两个隶属函数,从而生成四个模糊规则进行学习。
genOpt=genfisOptions(“网格分区”);inFIS=genfis(数据(:,1:end-1),数据(:,end),genOpt);
使用自适应神经模糊推理系统
初始训练步长为的命令0.2
.
trainOpt=anfisOptions(“InitialFIS”,英菲斯,“初始步长”,0.2);OUFIS=anfis(数据,trainOpt);
ANFIS信息:节点数:21个线性参数数:12个非线性参数数:12个参数总数:24个训练数据对数:601个检查数据对数:0个模糊规则数:4个开始训练ANFIS…10.761817 2 0.748426 3 0.739315 4 0.733993第5纪元后步长增加到0.220000。5 0.7294926 0.725382 7 0.721269 8 0.717621步长在第9纪元后增加到0.242000。9 0.714474 10 0.71207指定纪元数达到。ANFIS训练在第10纪元完成。最小训练RMSE=0.71207
调谐FIS,外流
,对之间的二阶关系进行建模
和
.
计算估计的干扰信号,估计值
,通过使用原始训练数据评估调整后的FIS。
估算的_n2=蒸发量(流出量,数据(:,1:2));
绘制实际的 信号和ANFIS输出的估计版本。
子地块(2,1,1)绘图(时间,n2)ylabel(‘n_2’)xlabel(“时间”)头衔(“未知干扰信号”)子地块(2,1,2)绘图(时间,估计值)(‘n_2’)xlabel(“时间”)头衔(“估计干扰信号”)
估计的信息信号等于测量信号之间的差值,M
,以及估计的干扰(ANFIS输出)。
估计的_x=m-估计的_n2;
比较原始信息信号,x
,以及估计,估计值
.
图2:曲线图(时间、估计值),“b”,时间,x,“r”)xlabel(“时间”)伊拉贝尔(“x”)头衔(“实际信号与估计信号的比较”)传奇(“估计x”,'实际x(未知)',“位置”,‘东南’)
在没有大量训练的情况下,ANFIS模型可以对信息信号产生相对准确的估计。