dec_gen.m

来自「THIS matlab code is STTD」· M 代码 · 共 43 行

M
43
字号
% decimal data generator for modulator

function [D, L, M, bit_n] = dec_gen(chip_data, M)

% D : dec_data
% L : chip_data Length
% chip_data : generated data by chip_gen
% M : Modulation M - QAM


bit_n = log2(M);            % bit number / symbol
L = length(chip_data);      % input data length
D = zeros(L/bit_n,1);       % decimal deta

% binary to decimal
% general function

for i=1:L/bit_n
    a = 0;
    for jj=bit_n*i-(bit_n-1):bit_n*i
        if rem(jj,bit_n)==1
            int(jj) = chip_data(jj)*(2^(bit_n-1));
            a = int(jj);
        elseif rem(jj,bit_n)==2
            int(jj) = chip_data(jj)*(2^(bit_n-2));
            a = a + int(jj);
        elseif rem(jj,bit_n)==3
            int(jj) = chip_data(jj)*(2^(bit_n-3));
            a = a + int(jj);
        elseif rem(jj,bit_n)==4
            int(jj) = chip_data(jj)*(2^(bit_n-4));
            a = a + int(jj);
        elseif rem(jj,bit_n)==5
            int(jj) = chip_data(jj)*(2^(bit_n-5));
            a = a + int(jj);
        else
            int(jj) = chip_data(jj);
            a = a + int(jj);
        end
    end
    D(i) = a;
end

⌨️ 快捷键说明

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