📄 hzh_nn_ro.m
字号:
%%%%用于对王凤利的数据进行分类,数据在wangfl_data中,
%其中
% aa 为 earlyrub aa1为双通道的前半部分,aa2为双通道的后半部分
% bb 为 loose bb1\bb2
% cc 为 misalignment cc1\cc2
% dd 为 rub dd1\dd2 用双通道的后半部分好象效果好一点。
% prepare to use the data of bb\cc\dd\ for test the neural network of time series.
%===================================================================
% 长度为256,两个通道分别试验一下;长度为512,两个通道分别试验一下
%==================================================================
close all
clc
load roto_data_my
[aa,xmin,xmax]=scale(org_budzh,0,1);
[bb,xmin,xmax]=scale(org_budzhsd,0,1);
[cc,xmin,xmax]=scale(org_buph,0,1);
%for i=1:8 %%求取 rub dd为双通道的后半部分 每一段为256点,共8段
% dd1_rub(i,:)=dd1(256*(i-1)+1:256*i)';
% dd2_rub(i,:)=dd2(256*(i-1)+1:256*i)';
% end
% figure;
% for i=1:8
% subplot(8,1,i)
% plot(dd2_rub(i,:))
% end
% for i=1:8 %%求取 loose bb为双通道的后半部分 每一段为512点,共8段
% bb1_loose(i,:)=bb1(256*(i-1)+1:256*i)';
% bb2_loose(i,:)=bb2(256*(i-1)+1:256*i)';
% end
% figure;
% for i=1:8
% subplot(8,1,i)
% plot(bb2_loose(i,:))
% end
% for i=1:8 %%求取 misalignment cc为双通道的后半部分 每一段为512点,共8段
% cc1_misali(i,:)=cc1(256*(i-1)+1:256*i)';
% cc2_misali(i,:)=cc2(256*(i-1)+1:256*i)';
% end
% figure;
% for i=1:8
% subplot(8,1,i)
% plot(cc2_misali(i,:))
%end
%==========================用dd1_rub作模式样本
nlag=12;
biaozhun=cc(1:512); % 标准模式
%for i=1:8
%ceshi=cc(1024*(i-1)+1:1024*i); % 测试模式
%tmp=[biaozhun',ceshi'];
%[x0,train,test]=tsgenf_hzh(tmp,2048,1024,1,nlag);
[x0,train,test]=tsgenf_hzh(biaozhun,512,256,1,nlag);
%------------******-----------------
% W1 : Input-to-hidden layer weights. The matrix dimension is
% dim(W1) = [(# of hidden units) * (inputs + 1)] (the 1 is due to the bias)
% W2 : hidden-to-output layer weights.
% dim(W2) = [(outputs) * (# of hidden units + 1)]
rand('seed',0);
W1 = rand(6,nlag+1)-0.5; % Weights to hidden layer 权值加减-0。5 +0。5有助于预测的准确性
W2 = rand(1,7)+0.5; % Weights to output
NetDef = ['HHHHHH'
'L-----'];
maxiter = 1000;
stop_crit = 1e-6;
lambda=1;
D=1;%加规格化项有助于快速收敛,在其值为 0.031 时均方误差结果理想, DD=DI.
trparms=[maxiter stop_crit lambda D];
[W1,W2,PI_vector,iter,lambda]=marq(NetDef,W1,W2,train(:,1:nlag)',train(:,nlag+1)',trparms);
% ----------- Validate Network -----------
for i=1:8
ceshi=cc(256*(i-1)+1:256*i); % 测试模式
tmp=[biaozhun(1:256)',ceshi'];
[x0,train,test]=tsgenf_hzh(tmp,512,256,1,nlag);
[Y_sim,E] = nneval(NetDef,W1,W2,test(:,1:nlag)',test(:,nlag+1)',1);
% ----------- Plot Cost function -----------
figure
plot(test(:,nlag+1)')
figure
semilogy(PI_vector)
title('Criterion evaluated after each iteration')
xlabel('Iteration (epoch)')
ylabel('Criterion')
grid
MSE(i)=sum(E.*E)/length(test)
SNR(i)=20*log10(sum(ceshi.*ceshi)/sum(E.*E))
end
MEAN=mean(SNR)
STD=std(SNR)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -