📄 pmainbp.m
字号:
clear
%load d:\ling\goldpnfile
load d:\ling\commsim\data\codefile
gold_seq=code;
%SNR_in=6;
SNR_in=-5:1:5;%unit is dB
usernum=4;
dataleg=1000;
addnum=1;
ecrtaladd=zeros(1,11);
convecrtaladd=zeros(1,11);
epochtaladd=zeros(1,11);
for j=1:addnum
ecrtal=[];
epochtal=[];
convecrtal=[];
neuralnum_hid=12;
neuralnum_in=4;
weight1=rand(neuralnum_in,neuralnum_hid)*2-1;
weight2=rand(neuralnum_hid,1)*2-1;
% central=rand(neuralnum_in,neuralnum_hid)*40-20;
%variant=rand(neuralnum_in*neuralnum_hid,neuralnum_in);
% variant=rand(neuralnum_hid,1)+1;
trainsample1=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1; ...
0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1]';
tempdata=randint(usernum,dataleg-16);
tempdata=[trainsample1 tempdata];
tempdata=tempdata*2-1;
for i=1:length(SNR_in)
%SNR_in_dB=ones(1,4)'*SNR_in(i);
%SNR_in_dB=ones(4,1)*SNR_in(i);
hh=SNR_in(i);
SNR_in_dB=[6 6 6 6]'+[0 hh hh hh]';
[filterout,truedata]=inputf(SNR_in_dB,gold_seq,usernum,tempdata,dataleg);
% switch SNR_in(i)
%case 1
% load d:\ling\commsim\data\datasnr41
%case 2
% load d:\ling\commsim\data\datasnr42
%case 3
% load d:\ling\commsim\data\datasnr43
%case 4
% load d:\ling\commsim\data\datasnr44
%case 5
% load d:\ling\commsim\data\datasnr45
%case 6
% load d:\ling\commsim\data\datasnr46
%case 7
% load d:\ling\commsim\data\datasnr47
%case 8
% load d:\ling\commsim\data\datasnr48
%case 9
% load d:\ling\commsim\data\datasnr49
% otherwise
% load d:\ling\commsim\data\datasnr410
% end
[convecr]=convfilt(filterout,truedata);
convecrtal=[convecrtal convecr];
[ecrone,epoch,weight1,weight2]=mudbp(SNR_in(i),filterout,truedata,dataleg,usernum,j,weight1,weight2);
%[ecr,epoch,central,variant,weight,weight0]=mulrbffcn(SNR_in(i),filterout,truedata,dataleg,usernum,j,central,variant,weight,weight0);
ecrtal=[ecrtal ecrone];
epochtal=[epochtal epoch];
end
ecrtaladd=ecrtaladd+ecrtal;
epochtaladd=epochtaladd+epochtal;
convecrtaladd=convecrtaladd+convecrtal;
end
ecrtal=ecrtaladd/addnum;
epochtal=epochtaladd/addnum;
convecrtal=convecrtaladd/addnum;
%save d:\ling\commsim\rbf\resnradd ecrtal convecrtal epochtal SNR_in usernum
semilogy(SNR_in,ecrtal,'-',SNR_in,ecrtal,'r*')
hold on
semilogy(SNR_in,convecrtal,'g-',SNR_in,convecrtal,'go')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -