mapping_psdu.m
来自「基于EMCA368国际标准的物理层超宽带协议的基本仿真程序,都是自己编写的」· M 代码 · 共 29 行
M
29 行
function [out]=mapping_psdu(datain,length,rate);
p=[1,1,1,1,-1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,1,-1,1,1,1,1,1,1,-1,1,...
1,1,-1,1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,-1,-1,1,1,...
-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,1,1,-1,1,-1,1,-1,1,...
-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1];
data=double(datain);
if(isequal(rate,[0 0 0 0 0])|isequal(rate,[0 0 0 0 1]))
for i=1:(length/50)
for k=1:50
sym((i-1)*200+k)=data((i-1)*50+k);
sym((i-1)*200+101-k)=conj(data((i-1)*50+k));
sym((i-1)*200+100+k)=p(mod(i+11,127)+1)*data((i-1)*50+k);
sym((i-1)*200+100+101-k)=p(mod(i+11,127)+1)*conj(data((i-1)*50+k));
end
end
elseif(isequal(rate,[0 0 0 1 0])|isequal(rate,[0 0 0 1 1])|isequal(rate,[0 0 1 0 0]))
for i=1:(length/100)
for k=1:100
sym((i-1)*200+k)=data((i-1)*100+k);
sym((i-1)*200+201-k)=p(mod(i+11,127)+1)*(imag(data((i-1)*100+k))+j*real(data((i-1)*100+k)));
end
end
elseif(isequal(rate,[0 0 1 0 1])|isequal(rate,[0 0 1 1 0])|isequal(rate,[0 0 1 1 1]))
sym=data;
end
out=sym;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?