📄 ljq_ppmreceiver.m
字号:
%/*---------------------------接收积分检测---------------*/
function [RXbits]=ljq_PPMreceiver(R,mask,fc,numbit,Ns,Ts,HDSD)
[N,L]=size(R);
RXbits=zeros(N,numbit);
dt=1/fc;
framesamples=floor(Ts./dt);
bitsamples=framesamples*Ns;
for n=1:N
rx=R(n,:);
mx=rx.*mask
if HDSD==1 %硬判决
for nb=1:numbit
mxk=mx(1+(nb-1)*bitsamples:bitsamples+(nb-1)*bitsamples);
No0=0;
No1=0;
for np=1:Ns
mxkp=mxk(1+(np-1)*framesamples:framesamples+(np-1)*framesamples);
zp=sum(mxkp.*dt);
if zp>0
No0=No0+1;
else
No1=No1+1;
end
end
if No0>No1
RXbits(n,nb)=0;
else
RXbits(n,nb)=1;
end
end
end
if HDSD==2 %软判决
for nb=1:numbit
mxk=mx(1+(nb-1)*bitsamples:bitsamples+(nb-1)*bitsamples);
zb=sum(mxk.*dt);
if zb>0
RXbits(n,nb)=0;
else
RXbits(n,nb)=1;
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -