Code covered by the BSD License  

Highlights from
Capacity Maximization in Multiuser OFDMA system

image thumbnail

Capacity Maximization in Multiuser OFDMA system

by

 

The complete project of OFDMA system. It tries to maximize the network capacity.

Paper_ChannelStateInfo.m
% People can use the results and the codes freely if they refer to this job.
% To download the report of this job please check the following link:
% http://ens.ewi.tudelft.nl/~ramezani/Errata01.pdf
% These Matlab codes are provided by Hamid Ramezani. 
% Ver01 - 08-Dec-2011

%% bulding channel coefficients for each user 
    % generation of complex noise for building channel coefficient for each
    % tap and each user according to channel profile delay
    chan.h = 1/sqrt(2) .* repmat(sqrt(chan.PDP),1,users.N) .* ...
             ( randn(chan.L,users.N) + sqrt(-1)*randn(chan.L,users.N));
    % channel coefficients in frequency domain
    chan.H = zeros(ofdm.N,users.N);
    for k = 1 : users.N
        chan.H(1:ofdm.N,k) = chan.F(:,1:chan.L) * chan.h(1:chan.L,k);
    end

% building MMSE estimated channel coefficients
    % here, the estimated channel coeffcients are modeled H^ = H + e
    % the e is considered as a complex normal noise with the variance of
    % chan.Est.SigmaMMSE according to the reference paper
        
    chan.HhatMMSE = chan.H + ...
            1/sqrt(2) .* sqrt(chan.Est.SigmaMMSE) .* ...
            (randn(ofdm.N,users.N)+sqrt(-1)*randn(ofdm.N,users.N));
    
    % normalization of variance for MMSE channel estimation according to
    % reference [8]
    chan.HhatMMSE =  sqrt(1-chan.Est.SigmaMMSE)./sqrt(1+chan.Est.SigmaMMSE) .* ...
                     chan.HhatMMSE;
                 
%       chan.HhatMMSE =  sqrt(1-chan.Est.SigmaMMSE) * chan.H;
%       chan.H        =  chan.HhatMMSE + ...
%           sqrt(chan.Est.SigmaMMSE/2)*(randn(ofdm.N,users.N)+sqrt(-1)*randn(ofdm.N,users.N));
      
% building LSE estimation channel coefficients
    % for further analysis
    chan.HhatLSE = [];
% extracting channel response at data positions
    chan.Hdata        = chan.H(ofdm.Is,:);
    chan.HhatMMSEdata = chan.HhatMMSE(ofdm.Is,:);
    chan.HhatLSEdata  = [];
    

Contact us