📄 conv_detector.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 + -