energytableinit.m

来自「汪裕民的OFDM关键技术与应用中仿真MIMO-OFDM的源代码」· M 代码 · 共 22 行

M
22
字号
function energytable = EnergyTableInit(SNR,M);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   根据SNR值,针对每个信道产生一个能量增加的表
%   输入:
%       subcar_gains    子载波增益
%       M               最大星座大小
%       Gap             系统Gap
%       Noise           噪声功率
%   输出:
%       energytable     能量表
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%   根据子载波增益,计算1,2,4,6,8bit给每个子载波传输所需要的能量
energytable = abs((1./SNR)'*(2.^([1:M+1]-1)));
energytable = abs((1./SNR)'*(2.^([1:M+1])))-energytable;

%   增加能量,从M增加到一个未分配的更高的值
energytable(:,M+1) = Inf*ones(size(energytable(:,M+1)));
for i =3:2:M
    energytable(:,i) = (energytable(:,i)+energytable(:,i+1))/2;
    energytable(:,i+1) = energytable(:,i);
end

⌨️ 快捷键说明

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