📄 qam解调.m
字号:
%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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -