此示例示出了如何使用做自适应非线性噪声消除ANFIS
和genfis
命令。
定义一个假设的信息信号,X
,在100Hz 6秒取样。
时间=(0:0.01:6)';X = SIN(40 ./(时间+ 0.01));图(时间,x)的标题('信息信号x','字体大小',10)xlabel('时间','字体大小',10)ylabel('X','字体大小',10)
假使,假设X
而不干扰信号不能被测量,
,这是从另一个噪声源产生的,
经由某些未知的非线性过程。
下图显示了噪声源 。
N1 = randn(大小(时间));图(时间,N1)称号(“噪声源N_1”,'字体大小',10)xlabel('时间','字体大小',10)ylabel('N_1','字体大小',10)
假设干扰信号, ,出现在测量信号中的是通过未知的非线性方程生成的:
绘制这个非线性特性作为表面。
域= linspace(分钟(N1),最大值(N1),20);[XX,YY] = meshgrid(域,结构域);ZZ = 4 * SIN(XX)* yy./(1+yy.^2)。冲浪(XX,YY,ZZ);xlabel('N_1(K)','字体大小',10);ylabel('N_1(K-1)','字体大小',10);zlabel('N_2(K)','字体大小',10);标题(“未知干扰信道特征”,'字体大小',10);
计算出干扰信号, ,从噪声源, ,并绘制两个信号。
n1d0=n1;%N1与延迟0n1d1 = [0;n1d0(1:长度(n1d0)-1)]。%N1与延迟1n2=4*sin(n1d0)。*n1d1./(1+n1d1.^2);%干扰副区(2,1,1)图(时间,N1);ylabel(“噪音N_1”,'字体大小',10);副区(2,1,2)图(时间,N2);ylabel(“干扰N_2”,'字体大小',10);
与 通过前面显示的高度非线性的过程;从图中,这是很难看这两个信号都以任何方式相关。
所测量的信号,米
,是原始信息信号的总和,X
和干扰,
。但是,我们不知道
。提供给我们的唯一信号是噪声信号,
和所测量的信号米
。
米= X + N 2;%测得的信号副区(1,1,1)情节(时间,米)标题(“测得的信号”,'字体大小',10)xlabel('时间','字体大小',10)ylabel(“我”,'字体大小',10)
你可以恢复原始信息信号,X
经由ANFIS训练使用自适应噪声消除。
使用ANFIS
命令识别
和
。而
不是直接可用的,您可以假设米
是“被污染”的版本
为了训练。这种假设对待X
在这种非线性拟合的“噪音”。
假定非线性信道是已知的顺序(在此情况下,2
),所以你可以使用一个2输入ANFIS模型进行训练。
定义训练数据。的前两列数据
是输入到ANFIS模型,
和延迟版本
。的最后一列数据
是被测信号,米
。
延迟_n1=[0;n1(1:长度(n1)-1];数据=[延迟_n1 n1 m];
生成初始FIS对象。默认情况下,格子分割算法使用两个隶属函数为每个输入变量,从而产生4条模糊规则学习。
genOpt = genfisOptions('网格分区');inFIS = genfis(数据(:,1:端-1),数据(:,端),genOpt);
调整使用的FISANFIS
用的初始训练步骤大小命令0.2分
。
trainOpt=anfioptions('InitialFIS',inFIS,'InitialStepSize',0.2);outFIS = ANFIS(数据,trainOpt);
ANFIS信息:节点数:21个线性参数:12个非线性参数:12个参数总数:24个训练数据对:601个检查数据对:0个模糊规则:4个开始训练ANFIS。。。1 0.761817 2 0.748426 3 0.739315 4 0.733993 5 0.729492步长在第5纪元后增加到0.220000。公元9世纪以后,台阶尺寸由6 0.725382 7 0.721269 8 0.717621 9 0.714474增加到0.242000。10 0.71207达到指定历元数-->在历元10完成ANFIS训练。最低培训RMSE=0.712070
调谐的FIS,出水口
,为之间的二阶关系建模
和
。
计算估计的干扰信号,estimated_n2
中,通过使用原始训练数据评估所述调谐FIS。
估计_n2=蒸发量(出水口,数据(:,1:2));
绘制和实际 信号和来自所述输出ANFIS估计版本。
子批次(2,1,1)图(时间,n2)ylabel('n_2(未知)');副区(2,1,2)图(时间,estimated_n2)ylabel(“估计N_2”);
估计的信息信号等于测量信号之间的差,米
和估计的干扰(ANFIS输出)。
estimated_x = M - estimated_n2;
比较原始信息信号,X
和估计,estimated_x
。
图图(时间,estimated_x,'B',时间,X,'R')图例(“预测X”,'实际X(未知)','位置','东南')
在不经过大量训练的情况下,ANFIS能很好地估计出信息信号。