📄 inputfcn.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -