📄 main.asv
字号:
g=19;%二进制转化为十进制
state=1;
N=128 ; % Number of data bits(bit rate)
noise_offset=0;
chip_rate = 20000 %chip rate
fcarr=20000 %carrier frequency in Hz (0 to 40kHz)
td=[0:Ts:(N*T)-Ts];
[data,data2,Isymbols,Qsymbols]=serial_to_parallel(N);
Isymbols=Isymbols';
Qsymbols=Qsymbols';
[seq1,seq2]=a_prnseq(chip_rate);
%seq1
%seq2
%[pt]=mgen(g,state,chip_rate); %pt是m序列 有两个码片的延时
%pt=2*pt-1;%双极性码
%pt1=chouyang(pt,chip_rate,2);
%seq1=pt1;
%seq2=pt1;
[sig1,sig2]=spreader(Isymbols,Qsymbols,seq1,seq2,N);
%sig1
%sig2
[msumiq,sumiq,cs_t,sn_t,tiq]=qpsk_mod(sig1,sig2,Isymbols,Qsymbols,N,fcarr);
%transmitted signal at this point
[rnd_noise,nb_noise]=noise(sumiq,tiq,N,noise_offset);
nb_noise=0;
no_noise_sumiq=sumiq;sumiq=sumiq+nb_noise;
no_noise_msumiq=msumiq;msumiq=msumiq+nb_noise;
sumiq=conv(sumiq,[1,0,1]);
ssumiq(1)=sumiq(1)+sumiq(40001);
ssumiq(2)=sumiq(2)+sumiq(40002);
for i=3:40000
ssumiq(i)=sumiq(i);
end
sumiq=ssumiq;
%Received signal
%[bit_errs_qpsk,bitout1,bitout2,ycfo1,ycfo2]=demod(msumiq,cs_t,sn_t,tiq,data,N,fcarr);
%[bit_errs_qpsk,bitout1,bitout2,ycfo1,ycfo2]=demod1(msumiq,cs_t,sn_t,tiq,data,N,fcarr);
[bit_errs_ss,i_out,q_out]=despread(tiq,sumiq,cs_t,sn_t,seq1,seq2,data,N,fcarr);
[bit_errs_ss,i_out1,q_out1]=despread1(tiq,sumiq,cs_t,sn_t,seq1,seq2,data,N,fcarr);
i_out=(i_out+i_out1)/2;
q_out=(q_out+q_out1)/2;
bit5=sign(i_out);%+/-1
bit6=sign(q_out);%+/-1
shaped_ibit=bit5 >0;%0 and 1
shaped_qbit=bit6 >0;%0 and 1
i_out=[shaped_ibit]';%transpose
q_out=[shaped_qbit]';%transpose
figure(15)
subplot(2,1,1)
plot(tiq,i_out)
axis([0 20/N -2 2]);
grid on
xlabel(' Time')
ylabel('Amplitude')
title(' I Channel Data')
subplot(2,1,2)
plot(tiq,q_out)
axis([0 20/N -2 2]);
grid on
xlabel(' Time')
ylabel('Amplitude')
title(' Q Channel Data')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -