www.pudn.com > mimo_ofdm.rar > BitLoad.m, change:2005-04-15,size:1302b


function [bits_alloc,energy_alloc]  = BitLoad(subchan_gains,total_bits,num_subc,gap,noise,M)

% Bit Loading Algorithm
% ---------------------
%
% Inputs :
%          subchan_gains    : SubCarrier Gains
%           total_bits     : Total Number of bits 
%            num_subc      : Number of Subcarriers
%            gap           : Gap of the system
%            noise         : Noise Power
%               M          : Max Constellation Size
% Outputs:
%          bits_alloc      : Bits allocation for each subchannel
%          power_alloc     : Total Power allocation 
% ---------------------------------------------------------------

% Compute SNR's for each channel
SNR = ComputeSNR(subchan_gains,noise,gap);

% This function just initializes the system with a particular bit 
% allocation and energy allocation using Chow's Algorithm. This is 
% further efficientize using Campello's Algorithm

[bits_alloc, energy_alloc] = chow_algo(SNR,num_subc,M);

% Form the Energy Increment Table based on the present channel
% gains for all the subchannels in order to be used by Campello
% Algorithm

energytable = EnergyTableInit(SNR,M);

% Efficientize the algorithm using the Campello's algorithm
[bits_alloc,energy_alloc] = campello_algo(bits_alloc,energy_alloc,energytable,total_bits,num_subc,M);