www.pudn.com > space-timecodingBrankaVuceticJinhongYuan.rar > UT_IT_MIMO_System.m, change:2006-12-01,size:1783b


 
% in this programe a highly scattered enviroment is considered. The 
% Capacity of a MIMO channel with nt transmit antenna and nr recieve 
% antenna is analyzed. The power in parallel channel (after 
% decomposition) is distributed as water-filling algorithm 
 
% the pdf of the matrix lanada elements is depicted too. 
 
clear all 
close all 
clc 
 
nt_V = [2 4 6 8 10]; 
nr_V = [2 4 6 8 10]; 
 
N0 = 1e-4; 
B  = 1; 
Iteration = 1e4; % must be grater than 1e2 
 
SNR_V_db = [0:2:20]; 
SNR_V    = 10.^(SNR_V_db/10); 
 
color = ['b';'r';'g';'k';'c']; 
notation = ['-o';'->';'<-';'-^';'-s']; 
 
for(k = 1 : 5) 
    nt = nt_V(k); 
    nr = nr_V(k); 
    for(i = 1 : length(SNR_V)) 
        Pt = N0 * SNR_V(i); 
        for(j = 1 : Iteration) 
            H = random('rayleigh',1,nr,nt); 
            [S V D] = svd(H); 
            landas(:,j)  = diag(V); 
            [Capacity(i,j) PowerAllo] = WaterFilling_alg(Pt,landas(:,j),B,N0); 
            [Capacity1(i,j) PowerAllo1] = averg_allo(Pt,landas(:,j),B,N0,nt); 
        end 
    end 
 
    f1 = figure(1); 
    hold on 
    plot(SNR_V_db,mean(Capacity'),'-s',SNR_V_db,mean(Capacity1'),'-o') 
    hold on 
    
  %  f2 = figure(2); 
  %  hold on 
   % [y,x] = hist(reshape(landas,[1,min(nt,nr)*Iteration]),100); 
  %  plot(x,y/Iteration,'color',color(k,:)); 
    clear landas 
end 
f1 = figure(1) 
legend('已知信道的状态信息','未知信道的状态信息',0) 
grid on 
set(f1,'color',[1 1 1]) 
title('MIMO系统已知和未知信道状态下的信道容量') 
text(12,9,'2*2') 
text(14,17,'4*4') 
text(12,20,'6*6') 
text(12,26,'8*8') 
text(9,28,'10*10') 
xlabel('SNR in dB') 
ylabel('Capacity bits/s/Hz') 
 
%f2 = figure(2) 
%legend(legend_str) 
%grid on 
%set(f2,'color',[1 1 1]) 
%ylabel('pdf of elements in matrix landa in svd decomposition of marix H')