No BSD License  


4.4 | 16 ratings Rate this file 120 Downloads (last 30 days) File Size: 2.63 KB File ID: #19315

MIMO Channel Capacity



24 Mar 2008 (Updated )

This function calculates ergodic and outage capacity of correlated MIMO channels

| Watch this File

File Information

This function calculates the ergodic and outage capacity of a MIMO Rayleigh
channel considering no CSIT (equal power allocation) and perfect CSIT
(waterfilling power allocation). In both cases perfect CSIR is assumed. The
channel is assumed to be spatially correlated according to a Kronecker
 model but temporally uncorrelated.

MATLAB release MATLAB 7.5 (R2007b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (28)
07 Oct 2014 praveen

some error in this code

02 Oct 2014 ikaza

Got it Omid,

Thank You Once Again for excellent Code :D

02 Oct 2014 ikaza

Hello Omid ,

The code was excellent but am getting a small error

Error :

>> MIMOCapacity (1)
Error using MIMOCapacity (line 24)
Not enough input arguments.

Am a newbie In Matlab Could anyone plz Help in this aspect.

Suggestions would be highly Appreciated

Thank You :)

14 Jan 2014 Hao

Good code!

15 Dec 2013 gagan kalita

can anyone write a code regarding the capacity of cooperative mimo having one relay node

05 Jun 2013 Charles

Omid, Good code! Kronecker model requires that you divide the H by the square-root of the trace of the matrix R_r! Where is the computation of the determinant of (.)? Comment

25 Dec 2012 fibrlink,com lu

sorry for 'statistical'

25 Dec 2012 fibrlink,com lu

Hello, Omid,
So funny to get the outage problity using statically method

29 Oct 2012 fahmy

very good

31 May 2012 yan weijun

thank you for your help

31 May 2012 yan weijun

thank you for your help

13 Feb 2012 dchris

Many thanks for sharing this code.
Could you give us a short explanation for the outage capacity calculation?
Why is the outage capacity, the i = (Pout*nsamp) element of the ordered matrix?
I am trying to understand the physical interpretation of this.

10 Feb 2012 oufouanas

the outage is to calculate the capacity.

31 Dec 2011 Ying Liu

The idea to calculte the outage capacity is excellent, thanks a lot.

17 Oct 2011 xiaomeng peng

very good code thx a lot

20 Apr 2010 Hakan

I have a MIMO system with 3 Tx antenna and 2 Rx antenna.
-The channel is Rayleigh
-the channel length is L
hij=[h(0) h(1) h(L)] channel responses between ith Tx antenna and jth Rx antenna.
How can I obtain theses channel responses which are Rayleigh distributed?

12 Apr 2010 shree bade

when i run this code i many undefined variables. i tried to change and add even though it shown mistakes .can any one provide this correct code.

03 Mar 2010 Jing

Thanks! very helpful!

25 Feb 2010 Rajaa lakshmanan

I dont Know , there is error in first line SNR=10^(SNR/10) then SNR should be predermined ? Can any one help me in this... Jus now I m Working in Matlab .. i think the function MIMO capacity is missing is it,, i need to complete My work ... please help me....

29 Dec 2009 wing ??

thank you for your share!

12 Nov 2009 Aydar Zimaliev

Yes, the code is nice!
I think there is one little bug in the line 40: instead of SNR/n_t it should be something like SNR/n_l where n_l = min([n_r, n_t]).
Thanks again!

15 Feb 2009 jia fen

why the code ie not running in MATLAB´╝čplease comment!!!!!thank you!!!

25 Sep 2008 Reza Mohammadkhani

Dear Omid,
Your style of programming is excellent!
Thank you for your codes. It help me to complete my codes (water-filling func).

10 Apr 2008 Omid Darvishi

Thanks Yong, but I know very little about optimal transmission strategy with respect to outage capacity (power allocation over a subset of antennas) and also suboptimal subset selection techniques. I may add that in my code later when I know more about those schemes.
Thank you Tahir too, sorry for the mistake in writing your name in my reply to your answer.

10 Apr 2008 Omid Darvishi

Thanks Yong. That gain over SISO channels in presence of fully-correlated antennas is due to array gain (beamforming). In other words, in fully correlated channels, though the correlation matrices become rank-1 and hence no multiplexing gain can be extracted, multiple antennas at the receiver can capture more power through optimal combining and multiple antennas at the transmit side can focus the transmitted power through beamforming (in case of perfect CSI at the transmitter).

09 Apr 2008 Tahir Khan

The code is very good. However when I use it for a 4*4 MIMO with perfect correlation the capacity it gives is still higher then for and SISO system. Can you please explain to me why?

07 Apr 2008 Yong Chang

Thanks very much!
This code is very nice!
But, I want to ask do you have any code to caculate the channel capacity after MIMO antenna subset selection.
My email is
Best regards

04 Apr 2008 Omid Darvishi

Hi all,
If you are using my code, please kindly take your time to write a review and rate it.

Contact us