⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainbp.m

📁 用BP神经网络实现的第三代移动通信CDMA多用户检测算法
💻 M
字号:
clear
%load d:\ling\goldpnfile
load d:\ling\commsim\data\codefile 
gold_seq=code;
SNR_in=6;
%SNR_in=1:1:10;%unit is dB
usernum=4;
dataleg=1000;
addnum=1;
ecrtaladd=zeros(1,10);
convecrtaladd=zeros(1,10);
epochtaladd=zeros(1,10);
for j=1:addnum
   ecrtal=[];
   epochtal=[];
   convecrtal=[];
   neuralnum_hid=15;
   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=[SNR_in(i) 14 16 18]';
       %hh=SNR_in(i);
       %SNR_in_dB=[8 8 8 8]'-[0 hh hh hh]';
   [filterout,truedata]=inputf(SNR_in_dB,gold_seq,usernum,tempdata,dataleg);
         [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\bp\bpresult\bppow2 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 + -