energytableinit.m

来自「code for signal Processing in OFDM calcu」· M 代码 · 共 32 行

M
32
字号
function energytable = EnergyTableInit(SNR,M);

% Inputs:
%   subcar_gains : Subcarrier Gains
%              M : max Constellation Size
%            Gap : Gap of the system
%          Noise : Noise Power
%  Outputs:
%    energytable : Energytable         
%
% Based on the Subcarrier Gains, we calculate the energy
% increment required by each subcarrier for transmitting
% 1,2 ,4 ,6,8 bits.
% Energy = 2^(i-1)/subcar_gains;
% ------------------------------------------------------

%subcar_gains = (subcar_gains.^2)/(Gap*Noise);

energytable = abs((1./SNR)'*(2.^([1:M+1]-1)));

% Increase the energy value for constellation size of more than M to 
% a very high value so that it is not assigned.

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

%energytable = [ones(1,size(energytable,1))' energytable];

⌨️ 快捷键说明

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