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);