www.pudn.com > mimo_ofdm.rar > chow_algo.m, change:2004-11-20,size:1142b


% Chow's Algorithm
% ----------------
% This is based on the paper by Chow et al titled
%
% A Practical Discrete Multitone Transceiver Loading Algorithm 
% for Data Transmission over Spectrally Shaped Channels.IEEE Trans
% on Communications. Vol. 43, No 2/3/4, pp. 773-775, Feb/Mar/Apr 1995

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

for i = 1:num_subc
% Assuming each of the subchannels has a flat fading, we get initial estimate
% of the bits for each subchannel
  tempbits        = log2(1 + abs(SNR(i)));       % bits per two dimension. 
  roundtempbits   = round(tempbits);            % round the bits    
  
  if (roundtempbits > 8)                       % Limit them between 2 and 15
     roundtempbits = 8;
  end

  if (mod(roundtempbits,2)== 1 & roundtempbits ~= 1)
      roundtempbits = roundtempbits -1;
  end
  
  if roundtempbits > 0                            % Calculate the Energy required for the subchannel
     energy_alloc(i)  = (2^roundtempbits-1)/SNR(i) ; 
  else
     energy_alloc(i) = 0;
  end
  
  bits_alloc(i) = roundtempbits;                 % Update the BitSubChan   
end

% end of function