⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qamdemod2.m

📁 信道编码采用卷积码
💻 M
字号:
% qamdemod2.m
% 16QAM解调的函数

function [demodata]=qamdemod2(idata,qdata,para,nd,ml)

%****************** variables *************************
% demodata : 解调出的数据 (para-by-nd matrix)
% idata    : Ich路输入数据
% qdata    : Qch路输入数据
% 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 + -