In the past, we had discussed two transmit, one receive antenna Alamouti Space Time Block Coding (STBC) scheme. In this post, lets us discuss the impact of having two antennas at the receiver. For the discussion, we will assume that the channel is a flat fading Rayleigh multipath channel and the modulation is BPSK.
Alamouti STBC with two receive antenna
The principle of space time block coding with 2 transmit antenna and one receive antenna is explained in the post on Alamouti STBC. With two receive antenna’s the system can be modeled as shown in the figure below.

Figure: 2 Transmit 2 Receive Alamouti STBC
For discussion on the channel and noise model, please refer to the post on two transmit, one receive antenna Alamouti Space Time Block Coding (STBC) scheme.
The received signal in the first time slot is,
.
Assuming that the channel remains constant for the second time slot, the received signal is in the second time slot is,
where
are the received information at time slot 1 on receive antenna 1, 2 respectively,
are the received information at time slot 2 on receive antenna 1, 2 respectively,
is the channel from
receive antenna to
transmit antenna,
,
are the transmitted symbols,
are the noise at time slot 1 on receive antenna 1, 2 respectively and
are the noise at time slot 2 on receive antenna 1, 2 respectively.
Combining the equations at time slot 1 and 2,
.
Let us define .
To solve for , we know that we need to find the inverse of
.
We know, for a general m x n matrix, the pseudo inverse is defined as,
.
The term,
Since this is a diagonal matrix, the inverse is just the inverse of the diagonal elements, i.e
The estimate of the transmitted symbol is,
.
Simulation Model
The Matlab/Octave script performs the following
(a) Generate random binary sequence of +1’s and -1’s.
(b) Group them into pair of two symbols
(c) Code it per the Alamouti Space Time code, multiply the symbols with the channel and then add white Gaussian noise.
(d) Equalize the received symbols
(e) Perform hard decision decoding and count the bit errors
(f) Repeat for multiple values of and plot the simulation and theoretical results.
Click here to download Matlab/Octave script for computing BER for 2 transmit 2 receive Alamouti STBC for BPSK modulation in flat fading Rayleigh channel

Figure: BER plot for 2 transmi 2 receive Alamouti STBC
Observations
1. Can observe that the BER performance is much better than 1 transmit 2 receive MRC case. This is because the effective channel concatenating the information from 2 receive antennas over two symbols results in a diversity order of 4.
2. In general, with receive antennas, the diversity order for 2 transmit antenna Alamouti STBC is
.
3. As with the case of 2 transmit, 1 receive Alamouti STBC, the fact that is a diagonal matrix ensured that there is no cross talk between
,
after the equalizer and the noise term is still white.
Reference
[DIG-COMM-BARRY-LEE-MESSERSCHMITT] Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt
A Simple Transmit Diversity Technique for Wireless Communication Siavash M Alamouti, IEEE Journal on selected areas in Communication, Vol 16, No, 8, October 1998
Related posts
- Alamouti STBC
- MIMO with Zero Forcing equalizer
- Transmit beamforming
- Receive diversity in AWGN
- MIMO with Zero Forcing Successive Interference Cancellation equalizer
D id you like this article? Make sure that you do not miss a new article by subscribing to RSS feed OR subscribing to e-mail newsletter. Note: Subscribing via e-mail entitles you to download the free e-Book on BER of BPSK/QPSK/16QAM/16PSK in AWGN.

(4 votes, average: 4.5 out of 5)
{ 68 comments… read them below or add one }
very nice and comprehensive.
there is a small errror, at network daigram both channels are marked as h21, wheres as one is h12.
@Alvina: Thanks. Indeed, it was a typo. I corrected and uploaded the new figure.
1. h11,h21,h12,h22, are independent fadings, each of one as a rayleigh distribution variable.
2. Consider 2 independent systems:
a. (TX#1 and TX#2) and RX#1 with h11 h21 fadings.
b. (TX#1 and TX#2) and RX#2 with h12 h22 fadings.
Each of both systems are treated like the simple 2×1 Alamouti case including the detection and symbol obtaining (yHat1 and yHat2)
3. The detection rule for MRC and Alamouti are the same (the estimated symbol equation).
With all this considerations i think is correct to take the sum of yHat1 and yHat2 (obtaining maximal ratio combining) and then apply the “hard decision decoding”.
Any comments??
@Joe: hmm… i had thought about it (infact, i recall your earlier comment to Alvina suggesting the same). However, I think that approach is not the optimal way to combine the information from two receive antennas.
I think what you have proposed is like equal gain combining, where as what is discussed in this post is like maximal ratio combining. I would think maximal ratio combining provides better performance. Do you agree? Kindly share your thoughts.
how u r getting theory results? any proof for formulae u have been used?
@SUCHITRA: For the theoretical results on 1 transmit, 1 receive Rayleigh channel, you may refer to the posts
(a) http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/
(b) http://www.dsplog.com/2009/01/22/derivation-ber-rayleigh-channel/
For the results with with Ntx=1, NRx=2 MRC, I used the equations provided in the textbook. The simulations are provided in
(c) http://www.dsplog.com/2008/09/28/maximal-ratio-combining/
And ofcourse, Ntx=2, NRx=1 Alamouti STBC is 3dB poorer than the 1Tx x 2Rx MRC case.
(d) http://www.dsplog.com/2008/10/16/alamouti-stbc/
Hope this helps.
hi Krishna Pillai.
i want thank u in the first about this info.second i want to know about modulation and De-mod 16-PSK. if u ca help me plz.
Regards
@mustafa: Please refer to the post on Symbol error rate for 16PSK
http://www.dsplog.com/2008/03/18/symbol-error-rate-for-16psk/
i want to simulate the SNR vs frequency offset in ofdm.krishna plz help me.
@sasmita: I believe you want to calculate the SNR degradation due to introduction of the frequency offset. A probable quick way is as follows:
(a) Define modulation values for subcarriers in frequency domain X(F). Create the time domain symbol (x) by using IFFT.
(b) Introduce frequency offset at by multiplying x(t) with exp(j*2*pi*f_d*t), where f_d is the frequency offset, y(t) = x(t).*exp(j*2*pi*f_d*t)
(c) Take FFT of y(t) to find Y(F). Find the absolute difference between X(F) and Y(F)
Error Vector Magnitude, EVM = mean(|X(F) – Y (F)|^2
EVM, dB = 10*log10(EVM).
And EVM is good indication of the SNR degradation. Hope this helps.
Hi Krishna,
Any suggest on how to combine MIMO with OFDM?
@student: extending a single antenna OFDM multiple antenna is reasonably straight forward. At the transmitter, we should have nTx iFFT’s and at the receiver we should have nRx FFT’s. Ofcourse, for each tx/rx chain, we should have the other miscellaneous blocks like filters, cyclic prefix insertion etc.
dear sir,
I have given a task to be done in just three days. Please can you help me doing it as it will be helpful to understand all the subject. apprecuated and here is all the question.
MIMO-OFDM: VBLAST versus STBC
The objective here is to compare VBLAST and Alamouti STBC in the context of MIMO-OFDM operating over frequency-selective Rayleigh fading channels. Consider a 2×2 system with N=64 carriers and a cyclic prefix long enough to avoid interblock interference. QPSK is used in STBC and BPSK is used in V-BLAST in order to have the same spectral efficiency. The discrete-time channels are assumed to be mutually uncorrelated and have L taps each. The taps are uncorrelated and obey an exponential power delay profile, i.e. E{|hk|2} = C.exp(- k) where C is a constant; take =0.2. It is assumed that the channel does not vary over two OFDM symbols. Assuming perfect knowledge of the channels at the receiver, provide simulations results depicting the average BERs for the two systems versus the average SNR in the cases where L=1, L=4, L=8, and L=16. Comment on the obtained results.
@Solo: I do not have the precise simulations which you were looking for, but I do have articles on MIMO and on STBC using BPSK on a flat fading Rayleigh channel. It should be reasonably easy for you to adapt to the OFDM case.
http://www.dsplog.com/2008/10/24/mimo-zero-forcing/
http://www.dsplog.com/2008/10/16/alamouti-stbc/
Hope this helps. Good luck.
Hello,
why do you multiply for 1/sqrt(2) in the line…
“sCode = 1/sqrt(2)*kron(reshape(s,2,N/2),ones(1,2)) ;”??
Thanks you.
@mimo: To make the total transmit power from both the antenna to be equal to 1.
hello,
I’m thinking that why don’t you multiply for this factor in your post “MIMO with MMSE equalizer” in VBLAST??
thanks you.
@MIMO: Well, in the MIMO case, we have two transmit streams and the time duration to send N bits is reduced by 2. Hence we do multiply by 1/sqrt(2). Agree?
Hello,
I am using real measures of h AND stbc and see that the channel (h) doesn’t influence in the BER. The simulation SNR-BER is always the same. Why is it??
thanks you.
@mimo: In this simulation, we are assuming independent Rayleigh fading channel and the channel remains the same for two symbols. What’s your assumption on the channel model?
I have measures from a tunel and I have simulated for SNR =10dB the grafic BER-DISTANCE (50-500Metres). This figure is plane, that is to say that the channel doesn’t influence in Alamouti 2×2. Is it because is orthogonal??
thanks you.
@MIMO: Sorry, I was unable to follow your question.
What is the expression for theoritical BER for 2 Rx antennas?
@UP: Did you mean theoretical BER for 2 rx antennas with STBC or with MRC only. If it’s MRC alone, you may refer to the post
http://www.dsplog.com/2008/09/28/maximal-ratio-combining/
why no titles for STBC with
1) 4 or more transmitters
2) QPSK coding method
exists~?
what if it’s theoretical BER for 2 rx antennas with STBC? what is the expression. Thank you.
@Marcus: Am just guessing…. I would think that the theoretical BER for Alamouti STBC with 2 rx antennas will be 3dB poorer than the theoretical BER for 1 transmit 4 receive MRC case. Do you agree?
please would you help me?
i need a very simple code which uses only for loops or while loops for alamouti stbc for BPSK likehood…..not with hard decision…..sorry if i’m bothering you….please help me……thanx
@fof: I think, it should be reasonably easy for you to modify the current code and make it into for-loops.
ok thanx alot……it’s done
)
would you help me??
i need a very simple code which uses only for loops or while loops….for alamouti STBC (likelihood detection)….for BPSK
sorry if i’m bothering you…..please help me…..thanx
Hello there!
Great codes! Is there a way to calculate the theoretical value of BER VS SNR for the 2X2 Alamouti Scheme?
Thanks alot!
@Ken: Well, I would expect that Alamouti with 2 receive antennas will perform 3dB poorer than 1-transmit 4-receive Maximal Ratio Combining case. Agree?
how can i calculate the transmitted power while using 2*2 Alamouti scheme. where BW, data rate,Path loss and distance between transmitter and receiver is given,,,,,
is there any formula available to calculate that,,,
sorry am bothering you,, please help me…
@mohammed: Well, the transmit power is something which is controlled by power amplifier in the transmitter. I am guessing that your question is, given the value of transmit power, path loss, distance etc, how can i calculate the power received at the receiver. For computing the received power, you may refer to the path loss equations @
http://en.wikipedia.org/wiki/Log-distance_path_loss_model
Hope this helps.
Thanks for the great website, it is very helpful.
I observe that if we use only AWGN channel, and omit the Rayleigh channel, Alamouti scheme yields
- about 3dB better for 2×2 case compared to SISO,
- but yields the same performance as SISO for 2×1 case.
Could you comment on why that happens?
@Ustun: By AWGN channel for 2×2 MIMO case, I believe you used a diagonal channel, right? That is equivalent to having two single channel SISO case.
One question: How did you make a 2 transmit, 1 receive AWGN channel?
hi krishna,
u r doing very good job…
i have a one doubt plz find some time to clarify that.
tell what is the physical significance of using “KRON” that is based on the kronecker product while implementing ALMOUTI
surbhi
@surbhi: kron does not have any physical significance in understanding Alamouti STBC. However, I used it to make the matlab code run faster by performing matrix operations (instead of for loops).
thanks very much ..this post is very helpful can u plz tel me the name of the book ur following ..so i can read about it in much detail as well as if i need i can reference it in my report.. can i get access that book online for free..
plz reply me
Many thanks in advance.
Hi Krishna, i’m working on Diversity exploitation in MIMO-OFDM (using STBC). I want to make a simulation with the help of Matlab of 2×2 system.
Any ideas or help regarding this subject?
Can i use OFDM instead of BPSK and if yes how can i do that?
P.S Your post are great!
Thanks in advance.
@WiMAX: Yes, you can use BPSK sent over OFDM. You may look at an example OFDM BER simulation in Rayleigh channel @
http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/
hi sir,
Is there any ieee (or any conference) papers published on this work?
@praneeth: The contents are discussed in text books, so am sure that IEEE papers should be available. However, I have not done the search and hence unable to provide you pointers.
Thanks Krishna, i will work on it!
Dear kreshna:
I am a student work on OFDM.I know the bit error rate increase when the channel is frequency selective fading more than flat fading channel by using any modulation techniques like binary phase shift key in transmission the data. Can you help me writing a program by MATLAB show that.
I also need to show that OFDM is effective technique in case frequency selective fading channel because it improves the bit error rate.
Dear kreshna:
I am najat i work on OFDM.I know the bit error rate increase when the channel is frequency selective fading more than flat fading channel by using any modulation techniques like binary phase shift key in transmission the data. Can you help me writing a program by MATLAB show that.
I also need to show that OFDM is effective technique in case frequency selective fading channel because it improves the bit error rate.
@najat: Please refer to the post
http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/
It shows that BER for OFDM with a 10 tap Rayleigh channel is equivalent to flat fading case.
Hallo Krishna ,first of all congradulations for your posts,are really enlightening.One thing i cant understand is the calculation of H(hermitian)*H which is critical to show diversity of 4 for this alamouti scheme,Could you be more detailed and show this calculation..thnks!!!!
@sotiiis: One way to look at that is:
If you see the y = Hx + n equation, we can see that we have four copies of x1 and four copies of x2 at the receiver. Since the code is orthogonal, they do not interfere with each other. Hence the diversity order is four.
Does this help?
hi
my dear
Krishna Sankar
can you provide me simulink model for STBC MIMO OFDM in wimax IEEE802.16e
thanks
@wosamw: Sorry, I have not discussed STBC used in 802.16e
thanks for your good website and codes, If I want to use lognormal distribution fading channel instead of rayleigh how do I generate the lognormal fading symbols?
@martin: I have not discussed log-normal distribution in posts till date. Hope the wiki entry helps you
http://en.wikipedia.org/wiki/Log-normal_distribution
hi
ok but how can implemention ofdm and ofdma in STBC withot discuss about 802.16e
thanks
hi,
I’m trying with Alamouti 2*2 and QPSK modulation. I used your code, but change at the part of creating signal and the part of counting the errors to suitable to QPSK. I think the channels and the noise are still the same, rite?
but i could not get the result.
don’t know why.
could u give me some suggestions?
@apanong: Are you getting zero BER with no noise and the channel taps as unity?
I got BER as a line at 10^-0.6 with no noise and the channel taps as unity. so do u know what is my problem?
@apanong: hmm… getting 25% error in ideal condition is not desirable, though I am unable to guess what is wrong. Are you using BPSK modulation?
Thank you for the post, i was going to ask you..what if we transmit the same symbol at the same time on the two different antennas,i.e. tranmitting s0 and s0 instead of s0 and s1 in 2tx and 1rx alamouti scheme?please can you explain what happens in this case?
Thank you,
@Dobs: If we transmit the same symbol on both the antennas, then there will be no diversity gain. You can see a brief discussion on this in the post on beamforming
http://www.dsplog.com/2009/04/13/transmit-beamforming/
Dear Sir;
I just want to know why you change the matlab code for making the Alamouti STBC from the previous (Alamouti STBC) you used
“sCode = zeros(2,N);
sCode(:,1:2:end) = (1/sqrt(2))*reshape(s,2,N/2); % [x1 x2 ...]
sCode(:,2:2:end) = (1/sqrt(2))*(kron(ones(1,N/2),[-1;1]).*flipud(reshape(conj(s),2,N/2)));”
and now you use
“sCode = 1/sqrt(2)*kron(reshape(s,2,N/2),ones(1,2));”
Thank you
Regards
Hi,
My question would be that why there is no transmission power in the received signal equations? Or are the signal powers assumed to be one on all transmit antennas? Or are they comprised in the H channel matrix?
Thanks in advance.
hi sir………….
hi krishna……….
i wanted to ask u…………
how to combine stbc+mimo or stbc+ofdm??if it could??
you”ve tried it??where i can get tutorial about it??
in alamouti stbc with 2 antenna transmitter and receiver, if I want to add an antenna to be many, for example, 1 transmitter with many receiver or transmitter and receiver of many, which one should be changed in your program?
thanks before…………..
hiii
in alamouti matrix why complex conjugate is taken for complex signal??
any technical reason????
how to put the correlation at the transceiver or receiver…where should i put the function? plizzz help me..
Hi Krishna, i have the same question with wap.
Can you guide us?