• 大小: 24KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-04-20
  • 语言: Matlab
  • 标签: qam  球形  

资源简介

16QAM,64QAM,256QAM调制下的球形译码

资源截图

代码片段和文件信息

function output_frame = demodulation1(input_modu index)
% demodulation for IEEE802.11a
% Input:    input_modu complex values representing constellation points
%           index
% Output:   output_frame output bit stream (data unit is one bit)
  
% In this version increase the quatilization levels into 8.
% note: Matlab index starts from 1
guiyi=[1 sqrt(2) sqrt(6) sqrt(10) sqrt(20) sqrt(42)];
input_modu=input_modu*guiyi(index);
Q_length=length(input_modu);
Q_length=length(input_modu);
QAM_input_I = real(input_modu);
QAM_input_Q = imag(input_modu);
output_frame = zeros(1length(input_modu)*index);
switch index
case 1
    BPSK_Demodu_I = [0 1];      %f(m)=(m+1)/2 + 1 so I=-1 ---> 1 I=1 ---> 2
    idx = find(QAM_input_I>1);
    QAM_input_I(idx) = 1;
    idx = find(QAM_input_I<-1);
    QAM_input_I(idx) = -1;
    output_frame = BPSK_Demodu_I(round((QAM_input_I+1)/2) + 1);
case 2
    QPSK_Demodu_IQ = [0 1];     %f(m)=(m+1)/2 + 1 so I=-1 ---> 1 I=1 ---> 2
    idx = find(QAM_input_I>1);
    QAM_input_I(idx) = 1;
    idx = find(QAM_input_I<-1);
    QAM_input_I(idx) = -1;
    idx = find(QAM_input_Q>1);
    QAM_input_Q(idx) = 1;
    idx = find(QAM_input_Q<-1);
    QAM_input_Q(idx) = -1;
    output_frame(1:2:end) = QPSK_Demodu_IQ(round((QAM_input_I+1)/2) + 1);
    output_frame(2:2:end) = QPSK_Demodu_IQ(round((QAM_input_Q+1)/2) + 1);
case 3
    mapping=[3+i 1+i -3+i -1+i -3-i -1-i 3-i 1-i];
    remapping=[0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1].‘;
    a=ones(18);
    for j=1:Q_length
      b = mapping-input_modu(j)*a;
      [gk k1]=min(abs(b).^2);
      output_frame((1+(j-1)*3):(3+(j-1)*3))=remapping((1+3*(k1-1)):(3+3*(k1-1)));
    end 
case 4
    QAM_16_Demodu_IQ = [0 1 3 2];   %f(m)=(m+3)/2 + 1 so I=-3 ---> 1 I=1 ---> 3
    idx = find(QAM_input_I>3);
    QAM_input_I(idx) = 3;
    idx = find(QAM_input_I<-3);
    QAM_input_I(idx) = -3;
    idx = find(QAM_input_Q>3);
    QAM_input_Q(idx) = 3;
    idx = find(QAM_input_Q<-3);
    QAM_input_Q(idx) = -3;
    tmp = round((QAM_input_I+3)/2) + 1;
    output_frame(1:4:end) = bitget(QAM_16_Demodu_IQ(tmp)2);
    output_frame(2:4:end) = bitget(QAM_16_Demodu_IQ(tmp)1);
    tmp = round((QAM_input_Q+3)/2) + 1;
    output_frame(3:4:end) = bitget(QAM_16_Demodu_IQ(tmp)2);
    output_frame(4:4:end) = bitget(QAM_16_Demodu_IQ(tmp)1);
case 5
    mapping=[5+i 3+i 1+i 5+3*i 3+3*i 1+3*i 3+5*i 1+5*i -5+i -3+i -1+i -5+3*i -3+3*i -1+3*i -3+5*i -1+5*i -5-i -3-i -1-i -5-3*i -3-3*i -1-3*i -3-5*i -1-5*i 5-i 3-i 1-i 5-3*i 3-3*i 1-3*i 3-5*i 1-5*i];
    remapping=[0 0 0 0 0;0 0 0 0 1;0 0 0 1 0;0 0 0 1 1;0 0 1 0 0;0 0 1 0 1;0 0 1 1 0;0 0 1 1 1;
                0 1 0 0 0;0 1 0 0 1;0 1 0 1 0;0 1 0 1 1;0 1 1 0 0;0 1 1 0 1;0 1 1 1 0;0 1 1 1 1;
                1 0 0 0 0;1 0 0 0 1;1 0 0 1 0;1 0 0 1 1;1 0 1 0 0;1 0 1 0 1;1 0 1 1 0;1 0 1 1 1;
                1 1 0 0 0;1 1 0 0 1;1 1 0 1 0;1 1 0 1 1;1 1 1 0 0;1 1 1 0 1;1 1 1 1 0;1 1 1 1 1].‘;
    a=ones(132);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3985  2012-06-05 22:08  sphere decoding modulation by QAM\demodulation.m

     文件       1056  2012-06-05 22:08  sphere decoding modulation by QAM\mapping.m

     文件       2336  2012-06-05 22:08  sphere decoding modulation by QAM\modulation.asv

     文件       2376  2012-06-05 22:08  sphere decoding modulation by QAM\modulation.m

     文件        992  2012-08-09 16:37  sphere decoding modulation by QAM\ray_doppler.m

     文件       3165  2012-06-05 22:08  sphere decoding modulation by QAM\SD_16.asv

     文件       3239  2012-10-20 09:35  sphere decoding modulation by QAM\SD_16.m

     文件       3916  2012-08-11 19:31  sphere decoding modulation by QAM\sd_16qam.asv

     文件       3936  2012-08-11 19:33  sphere decoding modulation by QAM\sd_16qam.m

     文件       4224  2012-06-05 22:08  sphere decoding modulation by QAM\SD_256.asv

     文件       4415  2012-06-05 22:08  sphere decoding modulation by QAM\SD_256.m

     文件       3936  2012-06-05 22:08  sphere decoding modulation by QAM\sd_256qam.asv

     文件       3937  2012-06-05 22:08  sphere decoding modulation by QAM\sd_256qam.m

     文件       3823  2012-06-05 22:08  sphere decoding modulation by QAM\sd_2_16qam.asv

     文件       3818  2012-06-05 22:08  sphere decoding modulation by QAM\sd_2_16qam.m

     文件       3666  2012-06-05 22:08  sphere decoding modulation by QAM\SD_64.m

     文件       3786  2012-06-05 22:08  sphere decoding modulation by QAM\sd_64qam.asv

     文件       3936  2012-06-05 22:08  sphere decoding modulation by QAM\sd_64qam.m

     文件      10990  2012-08-31 10:16  sphere decoding modulation by QAM\SEA_det.m

     目录          0  2013-03-22 15:10  sphere decoding modulation by QAM

----------- ---------  ---------- -----  ----

                71532                    20


评论

共有 条评论