📄 mapping_ofdm_qpsk2p.m
字号:
function T=mapping_ofdm_qpsk(data_tx)
A(1:28)=0;
A(230:256)=0;
pad=randint(1,110);
pad_index=1;
for kk=2:2:110
if (pad(kk-1)==0)&(pad(kk)==0)
pad_m(pad_index)=1+j;
elseif (pad(kk-1)==0)&(pad(kk)==1)
pad_m(pad_index)=-1+j;
elseif (pad(kk-1)==1)&(pad(kk)==0)
pad_m(pad_index)=1-j;
else
pad_m(pad_index)=-1-j;
end
pad_index=pad_index+1;
end
A(1:28)=pad_m(1:28);
A(230:256)=pad_m(29:end); %为什么要调制两个保护带的数据啊?
pilot_index=[29 41 53 65 77 89 101 113 125 137 149 161 173 185 197 209];
%pilot_index1=[29 53 77 101 125 149 173 197];
%Pilot_index2=[41 65 89 113 137 161 185 209];
DC_index=129;
pilot_num=16;
pilot_flag=1;
DC_flag=1;
data_index=1;
k=29;
while k<=229
if pilot_flag<=pilot_num
if k==pilot_index(pilot_flag)
A(k)=0;
k=k+1;
pilot_flag=pilot_flag+1;
end
end
if DC_flag==1
if k==DC_index
A(k)=0;
k=k+1;
DC_flag=0;
end
end
temp=data_index*2;
if (data_tx(temp-1)==0)&(data_tx(temp)==0)
A(k)=1+j;
elseif (data_tx(temp-1)==0)&(data_tx(temp)==1)
A(k)=-1+j;
elseif (data_tx(temp-1)==1)&(data_tx(temp)==0)
A(k)=1-j;
else
A(k)=-1-j;
end
k=k+1;
data_index=data_index+1;
end
T=A;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -