chow_algo.m

来自「matlab编写的MIMO-OFDM仿真程序」· M 代码 · 共 23 行

M
23
字号
function [bits_alloc,energy_alloc] = chow_algo(SNR,num_subc,M)

for i = 1:num_subc
%假设每个子信道都是平坦衰落信道
%初始化每个子信道的比特数 
    tempbits        =log2(1+abs(SNR(i)));
    roundtempbits   =round(tempbits);       %取整
    
    if(roundtempbits>8)                     %将比特数限制在2~15之间
        roundtempbits = 8;
    end
    
    if(mod(roundtempbits,2) ==1&roundtempbits~=1)
        roundtempbits =roundtempbits -1;
    end
    
    if roundtempbits>0                      %计算每个子信道的功率
        energy_alloc(i)=(2^roundtempbits-1)/SNR(i);
    else
        energy_alloc(i) = 0;
    end
    bits_alloc(i) = roundtempbits;          %更新每个子信道的比特数
end

⌨️ 快捷键说明

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