📄 ppm receiver.m
字号:
clear all
[bits,THcode,Stx,ref]=cp0201_transmitter_2PPM_TH;
tx=1;
c0=10^(-47/20);
d=2;
gamma=1.7;
[rx,ag]=cp0801_pathloss(tx,c0,d,gamma);
TMG=ag^2;
fc= 10e9;
[h0,hf,OT,ts,X] = cp0802_IEEEuwb(fc,TMG);
SRX0=Stx.*ag;
numpulses=3000;
exno=[0 3 6 9];
[output,noise]=cp0801_Gnoise2(SRX0,exno,numpulses);
length(Stx),length(hf),
SRX=conv(Stx,hf);
SRX=SRX(1:length(Stx));
RX(1,:)=SRX+noise(1,:);
RX(2,:)=SRX+noise(2,:);
RX(3,:)=SRX+noise(3,:);
RX(4,:)=SRX+noise(4,:);
L=5;S=5;
[G,T,NF,rec_A,rec_B,rec_D] = cp0803_rakeselector(hf,fc,ts,L,S);
L1=2;S1=2;
[G,T,NF,rec_A,rec_C,rec_E] = cp0803_rakeselector(hf,fc,ts,L1,S1);
dPPM=0.5e-9;
[mask_A] = cp0803_PPMcorrmask_R(ref,fc,numpulses,dPPM,rec_A);
[mask_B] = cp0803_PPMcorrmask_R(ref,fc,numpulses,dPPM,rec_B);
[mask_C] = cp0803_PPMcorrmask_R(ref,fc,numpulses,dPPM,rec_C);
[mask_D] = cp0803_PPMcorrmask_R(ref,fc,numpulses,dPPM,rec_D);
[mask_E] = cp0803_PPMcorrmask_R(ref,fc,numpulses,dPPM,rec_E);
numbit=3000;
Ns=1;
Ts=10e-9;
[RXbits,ABER] = cp0801_PPMreceiver(RX,mask_A,fc,bits,numbit,Ns,Ts);
[RXbits,BBER] = cp0801_PPMreceiver(RX,mask_B,fc,bits,numbit,Ns,Ts);
[RXbits,CBER] = cp0801_PPMreceiver(RX,mask_C,fc,bits,numbit,Ns,Ts);
[RXbits,DBER] = cp0801_PPMreceiver(RX,mask_D,fc,bits,numbit,Ns,Ts);
[RXbits,EBER] = cp0801_PPMreceiver(RX,mask_E,fc,bits,numbit,Ns,Ts);
semilogy(exno,ABER,'-o',exno,BBER,'-x',exno,CBER,'-*',exno,DBER,'-s',exno,EBER,'-d');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -