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

📄 conv_detector.m

📁 These files in Matlab implement a conventional DS -CDMA detector using QPSK modulation and matched f
💻 M
字号:
%% BUILDING A CONVENTIONAL DETECTOR OF A CDMA SIGNAL

index1=3;   pow1=4;
index2=12;  pow2=6;
index3=7;   pow3=10;
index4=21;  pow4=1;

global t amp_est;

% Generation of the composite signal, mixed witgh awgn noise

state=0;
user_info1=randint(1,20,2);
user_info1(user_info1==0)=-1;%polar form
[mod_sig1 ]=encoder(index1,user_info1,pow1);   % First user
%mod_sig1_n=awgn(mod_sig1,20,'measured');

user_info2=randint(1,20,2);
user_info2(user_info2==0)=-1;%polar form
[mod_sig2 ]=encoder(index2,user_info2,pow2);   % Second user
%mod_sig2_n=awgn(mod_sig2,7,'measured');

user_info3=randint(1,20,2);
user_info3(user_info3==0)=-1;%polar form
[mod_sig3 ]=encoder(index3,user_info3,pow3);   % Third user
%mod_sig3_n=awgn(mod_sig3,-35,'measured');

user_info4=randint(1,20,2);
user_info4(user_info4==0)=-1;%polar form
[mod_sig4]=encoder(index4,user_info4,pow4);    % Fourth user
%mod_sig4_n=awgn(mod_sig4,10,'measured');


mix_sig= mod_sig1  + mod_sig2 + mod_sig3 + mod_sig4 ;
%mix_sig= mod_sig1_n  + mod_sig2_n + mod_sig3_n + mod_sig4_n ;
mix_sig=awgn(mix_sig,-25,'measured');
amp_estimate=demodulator(mix_sig);

[info_branch1  ]=decoder(amp_estimate,index1);
[info_branch2  ]=decoder(amp_estimate,index2);
[info_branch3  ]=decoder(amp_estimate,index3);
[info_branch4  ]=decoder(amp_estimate,index4);
R1=[info_branch1;info_branch2;info_branch3;info_branch4];

user_recv_info1=sign(info_branch1);
user_recv_info2=sign(info_branch2);
user_recv_info3=sign(info_branch3);
user_recv_info4=sign(info_branch4);

% For the function biterr, we convert to binary

user_info1(user_info1==-1)=0;       %%**** Logical addressing faster than find function
user_recv_info1(user_recv_info1==-1)=0;

user_info2(user_info2==-1)=0;       
user_recv_info2(user_recv_info2==-1)=0;

user_info3(user_info3==-1)=0;       
user_recv_info3(user_recv_info3==-1)=0;

user_info4(user_info4==-1)=0;       
user_recv_info4(user_recv_info4==-1)=0;

numerrs1 = biterr(user_info1,user_recv_info1); % Errors in the first user
numerrs2 = biterr(user_info2,user_recv_info2); % Errors in the second user
numerrs3 = biterr(user_info3,user_recv_info3); % Errors in the third user
numerrs4 = biterr(user_info4,user_recv_info4); % Errors in the fourth user

numerrs_cd=[numerrs1;numerrs2;numerrs3;numerrs4];



⌨️ 快捷键说明

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