📄 de_map_module_adp.m
字号:
function output=de_map_module_adp(input,map_flag,groupsize,groupnumber,bit_num_ofdmsig)
output=zeros(max(bit_num_ofdmsig),size(input,2));
N_ofdm=size(input,2);
for n=1:N_ofdm
for ii=1:groupnumber
flag=map_flag(ii,n);
for jj=1:groupsize
% b=ones(1,groupsize);
% flga=kron(map_flag',b);
if flag==1
temp=(ii-1)*groupsize+jj;
output((ii-1)*groupsize+jj,n)=de_bpsk(input(temp,n));
elseif flag==2
temp=(ii-1)*groupsize+jj;
output((((ii-1)*groupsize+jj-1)*flag+1:((ii-1)*groupsize+jj-1)*flag+flag),n)=(de_qpsk(input(temp,n)))';
elseif flag==4
temp=(ii-1)*groupsize+jj;
output((((ii-1)*groupsize+jj-1)*flag+1:((ii-1)*groupsize+jj-1)*flag+flag),n)=(de_16qam(input(temp,n)))';
elseif flag==6
temp=(ii-1)*groupsize+jj;
output((((ii-1)*groupsize+jj-1)*flag+1:((ii-1)*groupsize+jj-1)*flag+flag),n)=(de_64qam(input(temp,n)))';
% elseif flag==0
% output((((ii-1)*groupsize+jj-1)+1:((ii-1)*groupsize+jj-1)+1),n)=0;
else
output((((ii-1)*groupsize+jj-1)*flag+1:((ii-1)*groupsize+jj-1)*flag+flag),n)=zeros(flag,1);
end
end
end
end
% if(flga(1)==2)
% output=de_qpsk(input(1));
% end
% if(flga(1)==3)
% output=de_8psk(input(1));
% end
% if(flga(1)==4)
% output=de_16qam(input(1));
% end
% for y=2:1:groupsize*groupnumber
%
% if(flag(y)==1)
% temp=de_bpsk(input(y));
% end
% if(flag(y)==2)
% temp=de_qpsk(input(y));
% end
% if(flag(y)==3)
% temp=de_8psk(input(y));
% end
% if(flag(y)==4)
% temp=de_16qam(input(y));
% end
% output=[output temp];
% end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -