这个例子展示了如何通过构造和调整ANFIS模型来进行自适应非线性噪声抵消。
定义一个假设的信息信号,x
,采样频率为100hz,超过6秒。
时间=(0:0.01:6);(x=sin(40./(时间+0.01));绘图(时间,x)标题(“信息信号x”)包含(“时间”) ylabel (“x”)
假定x
无法在没有干扰信号的情况下进行测量,
,这是由另一个噪声源产生的,
,通过某种未知的非线性过程。
生成并绘制噪声源 .
n1 = randn(大小(时间));情节(时间、n1)标题(“噪声源n_1”)包含(“时间”) ylabel (‘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)”) ylabel (‘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’)包含(“时间”)标题(“噪声源”) subplot(2,1,2) plot(time,n2) ylabel(‘n_2’)标题(“干扰信号”)包含(“时间”)
有关 通过前面所示的高度非线性过程。然而,从图上看,这两个信号似乎没有以任何方式相互关联。
被测信号,M
,为原始信息信号的和,x
,以及干扰,
.然而,
是未知的。唯一可用的信号是噪声信号,
,以及被测信号M
.
M = x + n2;子图(1,1,1)图(时间,m)标题(“测量信号”)包含(“时间”) ylabel (“米”)
你可以恢复原始的信息信号,x
,通过ANFIS训练使用自适应噪声抵消。
使用简称anfis
命令来识别两者之间的非线性关系
和
虽然
不是直接可用的,你可以假设M
是嘈杂版的吗
用于培训。此假设适用于x
为这种非线性拟合中的“噪声”。
假设非线性信道的阶数已知(在这种情况下,2.
)。您可以使用双输入ANFIS模型进行培训。
定义训练数据。的前两列数据
是ANFIS模型的输入,
还有一个延迟版本的
.最后一栏数据
为被测信号,M
.
delayed_n1 = [0;n1(1:长度(n1) 1)];数据= [delayed_n1 n1 m];
生成初始FIS对象。默认情况下,网格划分算法对每个输入变量使用两个隶属函数,从而生成四个模糊规则进行学习。
genOpt=genfisOptions(“GridPartition”);inFIS=genfis(数据(:,1:end-1),数据(:,end),genOpt);
使用简称anfis
初始训练步长为0.2
.
trainOpt = anfisOptions (“InitialFIS”,英菲斯,“初始步长”, 0.2);人物=简称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。
estimated_n2 = evalfis(人物、数据(:1:2));
绘制实际的 信号和ANFIS输出的估计版本。
Subplot (2,1,1) plot(time, n2) ylabel(‘n_2’)包含(“时间”)标题(“未知干扰信号”) subplot(2,1,2) plot(time, estimated_n2) ylabel(‘n_2’)包含(“时间”)标题(“估计干扰信号”)
估计的信息信号等于被测信号之间的差,M
,估计干扰(ANFIS输出)。
估计的_x=m-估计的_n2;
比较原始信息信号,x
,以及估计,估计值
.
图2:曲线图(时间、估计值),“b”,时间,x,“r”)包含(“时间”) ylabel (“x”)标题(“实际信号与估计信号的比较”)传奇(“估计x”,'实际x(未知)',“位置”,“东南”)
在没有大量训练的情况下,ANFIS模型可以对信息信号做出相对准确的估计。