qamdemod2.asv
来自「OFDM系统仿真」· ASV 代码 · 共 57 行
ASV
57 行
%qamdemod2.m
%16QAM解调程序
function[demodata]=qamdemod2(idata,qdata,para,nd,ml)
%******************variables*************************
%idata:I信道输入数据
%qdata:Q信道输入数据
%demodata:解调出的数据
%para:并行信道数
%nd:数据数
%ml:调制数
%(QPSK->2 16QAM->4)
%*****************************************************
k=sqrt(10);
idata=idata.*k;
qdata=qdata.*k;
demodata=zeros(para,ml*nd);
m2=ml/2;
count2=0;
for ii=1:nd
for kk=1:para
a=1;
b=1;
i_lngth=0;
q_lngth=0;
for jj=1:m2
if jj~=1
if demodata(kk,jj-1+count2)==1
a=-a;
end
if demodata(kk,m2+jj-1+count2)==1
b=-b;
end
i_lngth=i_lngth+i_plrty.*2.^(m2-jj+1);
q_lngth=q_lngth+q_plrty.*2.^(m2-jj+1);
end
if idata(kk,ii)>=i_lngth
demodata(kk,jj+count2)=a>=0;
i_plrty=1;
else
demodata(kk,jj+count2)=a<=0;
i_plrty=-1;
end
if qdata(kk,ii)>=q_lngth
demodata(kk,m2+jj+count2)=b>=0;
q_plrty=1;
else
demodata(kk,m2+jj+count2)=b<=0;
q_plrty=-1;
end
end%for jj=1:m2
end%kk=1:para
count2=count2+ml;
end%for ii=1:nd
%********************end of file***************************
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?