qammod2.m

来自「OFDM系统在QPSK与16QAM调制下」· M 代码 · 共 38 行

M
38
字号
%qammod2.m
%16QAM调制程序
function[iout,qout] = qammod2(paradata,para,nd,m1);
%*************************variables********************************
%paradata:输入数据
%iout
%qout
%para:并行信道数
%nd:OFDM数据数
%m1:调制数(4)      QPSK为2;16QAM为4
%*******************************************************************
%the constellation power
%m1 = 4;nd = 2;para = 4;paradata = [1 1 1 1 0 0 0 0;0 1 0 1 0 1 0 1;0 0 0 0 1 1 1 1;1 0 1 0 1 0 1 0];
%测试数据
k = sqrt(10);
iv = [-3 -1 3 1];

m2 = m1/2;
count2 = 0;
for ii = 1:nd
    
    isi = zeros(para,1);
    isq = zeros(para,1);
    
    for jj = 1:m1
        if jj <= m2;
            isi = isi + 2.^(m2 - jj).*paradata((1:para),count2 + jj);
        else
            isq = isq + 2.^(m1 - jj).*paradata((1:para),count2 + jj);
        end
    end
    
    iout((1:para),ii) = reshape(iv(isi + 1)./k,para,1);
    qout((1:para),ii) = reshape(iv(isi +1 )./k,para,1);
    
    count2 = count2 + m1;
end
%end of file**********************************************************************

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?