inputfcn.m

来自「用BP神经网络实现的第三代移动通信CDMA多用户检测算法」· M 代码 · 共 55 行

M
55
字号
function [filterout,truedata]=inputfcn(snr_in_dB,gold_seq,usernum,tempdata,dataleg)
Lc=31;          %扩频增益kk
goldpn=gold_seq(1:usernum,:);
snr=10^(snr_in_dB/10);
sgma=1;
Eb=2*sgma^2*snr;  %达到SNR时的Eb
E_chip=Eb/Lc;
datanum=dataleg;
N=datanum;
for i=1:usernum
   for j=1:Lc
      if(goldpn(i,j)==0)
         goldpn(i,j)=-1;
      end
   end
end
for i=1:N
   rec_sig=zeros(1,Lc);
   for k=1:usernum
      %generate data bits
      temp=tempdata(k,i);
      if(temp<0.5)
         data=-1;
      else
         data=1;
      end
      truedata(k,i)=data;
      %repeat Lc times
      repeated_data=zeros(1,Lc);
      for j=1:Lc
         repeated_data(j)=data;
      end
      %transmitted signal
      trans_sig(k,:)=sqrt(E_chip)*repeated_data.*goldpn(k,:);
      rec_sig=rec_sig+trans_sig(k,:);
   end
   noise=sgma*randn(1,Lc);
   receivesig=rec_sig+noise;
   %匹配滤波输砶k
   for k=1:usernum
      temp1=receivesig.*goldpn(k,:);
      filterout(k,i)=sum(temp1);
   end
end
for i=1:datanum
   for j=1:usernum
     filterout(j,i)=filterout(j,i)/max(abs(filterout(:,i)));
   end
end

clear gold_seq max_cross_corr


   
   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?