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