Articles

# MIMO with ML equalization

We have discussed quite a few receiver structures for a 2×2 MIMO channel namely,

(b) Minimum Mean Square Error (MMSE) equalization

From the above receiver structures, we saw that MMSE equalisation with optimally ordered Successive Interference Cancellation gave the best performance. In this post, we will discuss another receiver structure called Maximum Likelihood (ML) decoding which gives us an even better performance. We will assume that the channel is a flat fading Rayleigh multipath channel and the modulation is BPSK.

## 2×2 MIMO channel

In a 2×2 MIMO channel, probable usage of the available 2 transmit antennas can be as follows:

1. Consider that we have a transmission sequence, for example ${x_1, x_2, x_3, \ldots, x_n }$

2. In normal transmission, we will be sending $x_1$in the first time slot, $x_2$in the second time slot, $x_3$ and so on.

3. However, as we now have 2 transmit antennas, we may group the symbols into groups of two. In the first time slot, send $x_1$and $x_2$from the first and second antenna. In second time slot, send $x_3$ and $x_4$from the first and second antenna, send $x_5$ and $x_6$in the third time slot and so on.

4. Notice that as we are grouping two symbols and sending them in one time slot, we need only $\frac{n}{2}$ time slots to complete the transmission – data rate is doubled ! ðŸ™‚

5. This forms the simple explanation of a probable MIMO transmission scheme with 2 transmit antennas and 2 receive antennas.

Figure: 2 Transmit 2 Receive (2×2) MIMO channel

Let us now try to understand the math for extracting the two symbols which interfered with each other. In the first time slot, the received signal on the first receive antenna is,

$y_1 =h_{1,1}x_1 + h_{1,2}x_2 + n_1 = [h_{1,1} h_{1,2}] \left[\begin{eqnarray}x_1\\ x_2 \end{eqnarray}\right]+n_1$.

The received signal on the second receive antenna is,

$y_2 = h_{2,1}x_1 + h_{2,2}x_2 + n_2 = [h_{2,1} h_{2,2}] \left[\begin{eqnarray}x_1 \\ x_2\end{eqnarray}\right]+n_2$.

where

$y_1$, $y_2$ are the received symbol on the first and second antenna respectively,

$h_{1,1}$ is the channel from $1^{st}$ transmit antenna to $1^{st}$ receive antenna,

$h_{1,2}$ is the channel from $2^{nd}$ transmit antenna to $1^{st}$ receive antenna,

$h_{2,1}$ is the channel from $1^{st}$ transmit antenna to $2^{nd}$ receive antenna,

$h_{2,2}$ is the channel from $2^{nd}$ transmit antenna to $2^{nd}$ receive antenna,

$x_1$, $x_2$are the transmitted symbols and

$n_1, n_2$ is the noise on $1^{st}, 2^{nd}$ receive antennas.

We assume that the receiver knows $h_{1,1}$, $h_{1,2}$, $h_{2,1}$and $h_{2,2}$. The receiver also knows $y_1$ and $y_2$. The unknown s are $x_1$and $x_2$.

For convenience, the above equation can be represented in matrix notation as follows:

$\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & = & {\left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]}\left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right]+\left[\begin{eqnarray}n_1 \\ n_2 \end{eqnarray}\right]\end{eqnarray}$.

Equivalently,

$\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}$

## Other Assumptions

1. The channel is flat fading – In simple terms, it means that the multipath channel has only one tap. So, the convolution operation reduces to a simple multiplication. For a more rigorous discussion on flat fading and frequency selective fading, may I urge you to review Chapter 15.3 Signal Time-Spreading from [DIGITAL COMMUNICATIONS: SKLAR]

2. The channel experience by each transmit antenna is independent from the channel experienced by other transmit antennas.

3. For the $i^{th}$ transmit antenna to $j^{th}$ receive antenna, each transmitted symbol gets multiplied by a randomly varying complex number $h_{j,i}$. As the channel under consideration is a Rayleigh channel, the real and imaginary parts of $h_{j,i}$ are Gaussian distributed having mean $\mu_{h_{j,i}=0$ and variance $\sigma^2_{h_{j,i}}=\frac{1}{2}$.

4. The channel experienced between each transmit to the receive antenna is independent and randomly varying in time.

5. On the receive antenna, the noise$n$ has the Gaussian probability density function with

$p(n) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{\frac{-(n-\mu)^2}{2\sigma^2}$ with $\mu=0$ and $\sigma^2 = \frac{N_0}{2}$.

7. The channel $h_{j,i}$ is known at the receiver.

## Maximum Likelihood (ML)Receiver

The Maximum Likelihood receiver tries to find $\hat{\mathbf{x}}$ which minimizes, $\mathbf{J} = \left| \mathbf{y} - \mathbf{H}\mathbf{\hat{x}} \right|^2$

$\mathbf{J} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & {\left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]}\left[\begin{eqnarray}\hat{x}_1 \\ \hat{x}_2 \end{eqnarray}\right]\end{eqnarray} \right|^2$

Since the modulation is BPSK, the possible values of $x_1$is +1 or -1 Similarly $x_2$ also take values +1 or -1. So, to find the Maximum Likelihood solution, we need to find the minimum from the all four combinations of $x_1$and $x_2$.

$\mathbf{J_{+1,+1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}+1 \\ +1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

$\mathbf{J_{+1,-1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}+1 \\ -1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

$\mathbf{J_{-1,+1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}-1 \\ +1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

$\mathbf{J_{-1,-1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2} \\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}-1 \\ -1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

The estimate of the transmit symbol is chosen based on the minimum value from the above four values i.e

if the minimum is $\mathbf{J_{+1,+1} \Rightarrow [1 \ 1 ]$,

if the minimum is $\mathbf{J_{+1,-1} \Rightarrow [1 \ 0 ]$,

if the minimum is $\mathbf{J_{-1,+1} \Rightarrow [0 \ 1 ]$ and
if the minimum is $\mathbf{J_{-1,-1} \Rightarrow [0 \ 0 ]$.

## 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 and send two symbols in one time slot

(c) Multiply the symbols with the channel and then add white Gaussian noise.

(d) Find the minimum among the four possible transmit symbol combinations

(e) Based on the minimum chose the estimate of the transmit symbol

(h) Repeat for multiple values of $\frac{E_b}{N_0}$ and plot the simulation and theoretical results.

FIgure: BER plot 2×2 MIMO Rayleigh channel with Maximum Likelihood equalisation

## Summary

1. The results for 2×2 MIMO with Maximum Likelihood (ML) equalization helped us to achieve a performance closely matching the 1 transmit 2 receive antenna Maximal Ratio Combining (MRC) case.

2. If we use a higher order constellation like 64QAM, then computing Maximum Likelihood equalization might become prohibitively complex. With 64QAM and 2 spatial stream we need to find the minimum from $64^2 = 4096$combinations ! In such scenarios we might need to employ schemes like sphere decoding which helps to reduce the complexity.

## 97 thoughts on “MIMO with ML equalization”

1. Vaibhav says:

Hi Krishna, its a great work done by you, I am trying to modify your code for 3X3 MIMO case everything is fine till i got finding the minimum from the four alphabet combinations , but thereafter I could not understand the part related to mapping the minima to bits
ref = [1 1; 1 0; 0 1; 0 0 ];
ipHat = zeros(1,N);
ipHat(1:3:end) = ref(dd,1);
ipHat(2:3:end) = ref(dd,2);
This I have modified as
ref = [1 1 1; 1 1 0; 1 0 1;1 0 0; 0 1 0;0 0 1;0 0 0];
ipHat = zeros(1,N);
ipHat(1:3:end) = ref(dd,1);
ipHat(2:3:end) = ref(dd,2);
but getting flat response for all Eb/No

Could you elaborate this part

Thanks

1. @Vaibhav: Are you getting zero BER for no-noise case? One can use that for debugging the code.
Then as you said, one need to find the cost function Jxxx for all the 2^3=8 combinations and then try to find the minima among them.

2. raj says:

Hi,
sir you told that For the 2Ã—1 STBC system, the zero forcing equalizer should have given the same performance as ML equalizer, but zero forcing have some disadvantage .so can you provide me a refr. for coding in which ML is use for 2Ã—1 STBC system.
Thank u….

1. @raj: For 2×1 STBC, the zero forcing equalizer is optimum as there is no interfering term.

3. sera says:

Hi mr. khrisna
why we should change 0 into -1? is there any reason?

4. Gidy Florez says:

Hi Khrisna!

Do you know any equalizer which doesnÂ´t need to know the channel?

1. @Gidy Florez: Well, am guessing that you are referring to equalizer estimation algorithms.

5. piyush says:

STBC 2×2 and 2×1 both system receiver use block= antenna— combiner—– ml decoder—-out put(ref by book space time coding branka vucetic, jinhong yuan John Wiley & Sons Ltd)

1. which type combiner use?
2. combiner and ml decoder are same and they work combine

1. @piyush: For the 2×1 STBC system, the zero forcing equalizer should have given the same performance as ML equalizer

6. Raj says:

Dear Krishna,
How can we make sur that this results is correct. Is there any theoretical analysis for ML, that we can plot and compare with the simulation??

7. sara says:

Hi Krishna!
man i am such a big fan of yourz… your make the incomprehensible seem topics quite easy and understandable.
I am working on blind channel equalization (i am trying to simulate CMA and RCA in MATLAB for time varying, multipath rayleigh channel). just wanted to ask have you tried this domain? can you provide me some guidance in this area? any idea about some good website which may help me in my Matlab simulation of said algos. Its urgent coz I am stuck at some point and couldnt find any way out.

1. @sara: Thanks. Have not looked into the blind equalization topic, sorry.

8. student says:

Dear Mr. Krishna
I was sent an message to your email. I need your help about this post but use QPSK modulation. Hope you can read my message.
Thank You

1. student says:

thanks. I have been able to modify it with qpsk modulation

9. reza says:

Hi Krishna.
1. what does “2*ip-1;” means? whether 2 represent number of bpsk constellation?
2. i have tried this program with 3×3 and 4×4 Rx/Tx combination, it’s the result : http://cdn-u.kaskus.us/71/joci0gkv.jpg . is it true?
3. can this program use for qpsk, 16qam, and 64qam constellation?
Thanks for the attention.

1. reza says:

thanks for the feedback.
– I have tried for use combination of 1×1 Tx-Rx in this project, but I must get an error in “Channel and noise addition” part. Why?
– Which part should be change for use QPSK modulation beside changing the combination of sHat?

10. Anky says:

hi Krishna,do you have any code for MIMO OFDM using Sphere Detection?

i’m sorry for my question that out of topic

thank you

1. Anky says:

oh that’s great

can you spare me some clue to solve this method?

11. faisal says:

Hi Krishna, Do have any information and matlab code for Semidefinite program (SDP) relaxation detector (optimization problem).

1. faisal says:

Thanks Krishna for quick reply and time

12. faisal says:

Please can u give 16QAM code instead of BPSK using ML ?

1. faisal says:

Thanks Krishna for time and help

13. benza says:

can you explain me this lines

EbN0Lin = 10.^(Eb_N0_dB/10);
theoryBer_nRx1 = 0.5.*(1-1*(1+1./EbN0Lin).^(-0.5));
p = 1/2 – 1/2*(1+1./EbN0Lin).^(-1/2);
theoryBerMRC_nRx2 = p.^2.*(1+2*(1-p));

???

14. eng_dina says:

please Mr. Krishna Sankar Iwant to build simple mimo ofdm system to simulate snr vs. ber but I want it the mimo system to be flexable not only 2×2 so ican change the number of transmitter and recievers please help me if you have the matlab code please send it to me

1. @eng_dina: In most of the articles which I have discussed I have used 2Ã—2 MIMO case. And to increase the speed of the Matlab simulations, I have not used inv() operation in Matlab. You can try using inv() operation and increase the speed of the simulations

15. murat says:

I study PAPR REDUCTION for MIMO-OFDM. AND I need matlab code for papr reductÄ±on for MIMO-ofdm. Ä±f you have any matlab code for thÄ±s subject, please send me…… pls…

16. leslie says:

Why is my comment deleted ??

17. Vahid says:

Hi,
I have already read your articles about the ZF, MMSE and ML detection methods in MIMO.
I wish to know whether the ML solution for Y = HX+Z (either X or H to be unknown) has a closed form expression or not. Although I know it does not, but of my surprise is that I have come across some papers indicating that the ML solution for the above equation has a closed form similar to what you have mentioned in ZF equalization. Is ZF method equivalent to ML?

1. @Vahid: I believe the ZF solution is equivalent to ML only if the channel is orthognonal. In other cases, ML is able to combat the interference terms, whereas ZF does not do a good job at that.

18. deepak says:

hi,
can u just tell me that whether ur matlab code for ml equalisation utilises viterbi algorithm aur something else??

please reply it is really very important.
thanks

19. eng_dina says:

please reply my massege it’s really important
thanks

20. eng_dina says:

Idonâ€™t try to simulte cfo for mimo system only but for mimo ofdm I propose a new scheme that targets MMIO OFDM systems which have unsynchronized oscillators such that CFO of individual paths have to be estimated separately. This scheme may also apply to OFDM systems with multi-user access. The new method, which is similar to Mooseâ€™s method, estimates the CFO by measuring the carrier phase difference between 2 identical successive training sequences embedded in the preambles. In order to make CFO estimates be more time efficient,I allow 2 transmitter antennas transmit their training sequence concurrently in every time period, except the first and the last period. I use Frank-Zadoff code with different phase shifts in the training sequences in different antennas. Due to the good correlation property of Frank-Zadoff code, it helps reduce the interference caused by the concurrent transmissions from other antennas.
cfo for mimo only but for mimo ofdm system

21. eng_dina says:

Idonâ€™t try to simulte cfo for mimo only but for mimo ofdm system After examining some synchronization I propose a new scheme that targets MMIO OFDM systems which have unsynchronized oscillators such that CFO of individual paths have to be estimated separately. This scheme may also apply to OFDM systems with multi-user access. The new method, which is similar to Mooseâ€™s method, estimates the CFO by measuring the carrier phase difference between 2 identical successive training sequences embedded in the preambles. In order to make CFO estimates be more time efficient,I allow 2 transmitter antennas transmit their training sequence concurrently in every time period, except the first and the last period. I use Frank-Zadoff code with different phase shifts in the training sequences in different antennas. Due to the good correlation property of Frank-Zadoff code, it helps reduce the interference caused by the concurrent transmissions from other antennas.

22. eng_dina says:

Idonâ€™t try to simulte After examining some synchronization I propose a new scheme that targets MMIO OFDM systems which have unsynchronized oscillators such that CFO of individual paths have to be estimated separately. This scheme may also apply to OFDM systems with multi-user access. The new method, which is similar to Mooseâ€™s method, estimates the CFO by measuring the carrier phase difference between 2 identical successive training sequences embedded in the preambles. In order to make CFO estimates be more time efficient,I allow 2 transmitter antennas transmit their training sequence concurrently in every time period, except the first and the last period. I use Frank-Zadoff code with different phase shifts in the training sequences in different antennas. Due to the good correlation property of Frank-Zadoff code, it helps reduce the interference caused by the concurrent transmissions from other antennas.
cfo for mimo only but for mimo ofdm system

23. Umashankar Dewangan says:

Hello sir,
i am new to simulation. i want to simulate uplink multiuser MIMO-OFDM detection. i have to do this for LS, MMSE, SIC, V-BLAST and ML. BER comparision and complexity comparision has to be done.
Users have only single antenna and BS has multiple antenna.
my system model is as follows- first generate data then mapping (i m using BPSK ) then serial to parallel converter then ifft (i m taking size-128) then cp (i m taking 10% of ifft size) then parallel to serial then transmit it. i have doubt in all the bracket values why and what value should we choose?
I have to transmit this multiple user data through Rayleigh frequency selective fading channel. how to generate this channel?
and at the BS should we use OFDM demodulation just before MUD block at each receive antenna?
Sir please help me?and Kindly give me steps and approach for simulation?

24. doris says:

hi,
your site has been very useful to me. thank u so much. but i have a question abt the MIMO ML Equalizer matlab code.

what does ipHat(1:2:end) = ref(dd,1) do/mean? i am new with matlab.

thanks

1. @doris: Based on which variable minimized the error, am picking the data bits accordingly.

25. raj says:

thank you for reply,sir

Is there any formula or program to count number of multipliers and division to form an estimate of complexity?

how can we measure the diversity orders of all these detectors?

Should i get program or formula for maximum likelihood (ML) with sphere decoder(SD)?

bye.

1. @raj: My replies
1/ Hand calculate ðŸ˜‰
2/ Based on the BER performance, one can get an estimate. Please refer text books for precise details
3/ I have not yet discussed sphere decoding.

1. raj says:

Ok sir,

but should i have to calculate operations based on mathematics? and suppose if i am sending 1000000 sybols, than operations have to multiply with 1000000 or not?
i have read somewhere that the slope of BER vs SNR gives diversity order, is it true? and which book give the detail regarding to diversity order?

26. raj says:

Happy dipavali & happy new year sir,
Thanks for giving me the equation for inverse of 4*4 matrix, i m still not apply it, but it will work surely, but the complexity may also incresed so,

1. How can i measure the complexity?
2. Which operations have to considering during complexity calculation?

once again greate thx for helping me.
bye

1. @raj: Happy dipavali.
1/ You can count the number of multipliers and division to form an estimate of complexity
2/ Multipliers and divisions

27. parkks says:

hi krishna.
i am doing project on mimo so please if possible provide me a ml detect code .
i wanna m file.
thx

28. park ks says:

hi krishna
i am doing project on mimo ofdm so please if possible provide me a code at ml detector. i wanna m file
thx

1. @park: Using this ML code as a reference, you might be able to overlay an OFDM tx-rx on top of this. Good luck.

29. Faisal says:

Hi Krishna Pillai,
I hope you are OK,
Could you help me how I can can derive the BER of SC-FDMA system?

Thanks,
faisal

1. @Faisal: The SC-FDMA is close to OFDM, no? So, wont the BER of underlying modulation scheme hold good?

30. raj says:

Sir, the inverse of 2*2 matrix is 1/(ad-bc) [d -b: -c a],

I am search lot but i am not getting the inverse of 4*4 matrix, so please can you tell me what is inverse of 4*4 matrix and whts the procedure to obtain it?

31. Coldfish says:

Thanks for your sharing..It’s really useful for understanding ML decoder in order to decode for MIMO cases.

If possible, can you show us how a linear orthogonal decoder works?

Thanks a lot!

1. @Coldfish: Can you plz give me an example of linear orthogonal decoder.

1. Coldfish says:

As far as I know, orthogonal space-time codes can be decoded with a linear orthogonal decoder. I am not %100 percent sure but in spite of using ML decoder at the receiver, we can use the equivalent H channel matrix to decode the symbols. If the code matrix is an orthogonal design, without using all combinations of matrix (ML decoder), we can decode as well with equivalent H matrix easily.

Specifically, I stated that how we can decode OSTBC and QOSTBC designs? Is it possible to give some examples about that? I think QOSTBC are decodable with Pairwise ML decoder.

1. @Coldfish: Yes, if the code is orthogonal we can do with linear equalizer (as we discussed in STBC case, https://dsplog.com/tag/stbc). I have discussed only a simple Alamouti case, which is an orthogonal code. I need to read up more on non-orthogonal STBC cases and QOSTBC (Q for Quasi?).

32. Sivam says:

Its me again! Thanks for all your wonderful help!! Based on your MIMO 2×2 codes, apparently it cannot work if i just change the nTX & nRX if say i want to do for 4×4 scenario. Is it possible to modify your codes to fit 4×4 or will it be extremely tough? Pls advise!!Thank u!!

1. @Sivam: By simply changing nTx, nRx to 4 wont enable a 4×4 MIMO scenario. Reason being, the equalizer which is currently an inversion of a 2×2 channel does not scale up gracefully. When changing to a 4×4 MIMO link, pay close attention to the equalizer part. Good luck.

33. Kon says:

Hi!
Can you describe the sphere decoding algorithm in detail?
(Or as an m file?)

1. @Kon: I have not yet discussed Sphere decoding. I will add that to the to-do list

34. Bob says:

hi, have you thought about if the modulation scheme of one of the transmiter is unknown, how can I calculate the BER? Here is something with modulation classification.

1. @Bob: Well, if we do not know the type of modulation, it might be a bit too difficult, no? In general, we know the modulation type ie. BPSK/QPSK/QAM etc and based on that information, we define the demodulation structure.

Btw, am curious: can you plz specify some more details about the scenario in which were the modulation scheme of the transmitter is unknown at the receiver. Thanks.

35. Chi Pham says:

Hi Krishna Pillai,
Thanks a lot for your sequence of knowledge about MIMO receivers.
As your results about different methods, it can be seen that receive diversity with MRC gives better performance than any kinds of MIMO receiver (ZF, ZF SIC, MMSE, MMSE SIC, ML), is it right? Pls explain me about this.

1. @Chi Pham: Well, I do not think that the statement “it can be seen that receive diversity with MRC gives better performance than any kinds of MIMO receiver” – is correct. Receive diversity with MRC is applicable even in non-MIMO cases also, for eg, 1 transmit 2 receive MRC case.

36. maya says:

Hey sir,u have sed dat for mimo 1 has to pair up data n den transmit it,cant we send a copy of data at both transmitters and den at da detectr side select the bit with more power u can say,is it da right approach or not??

37. yazeed says:

Hi
with regard to 2×2 MIMO with ML eqaulization what the changs in the simulation code if there are 8 transmit antenna instead of 2.
Thank you

1. @yazeed: Does 8 trnamsit antennas mean 8 parallel data streams? In that case, the complexity of the ML increases alarmingly

38. yaxeed says:

1. @yaxeed: Did you mean, you would want to find out the result, if we use QPSK instead of BPSK. Good luck in your algorithm explorations.

39. ramu says:

In reshape matrix i think that sMod size and [ntx,nrx,N/ntx] size should be same ,sMod size is 1000000 but [ntx,nrx,N/ntx] size is 2000000 .how is it possible ..what is the use of squeeze

1. @ramu: sMod is a three dimensional matrix. The squeeze function enables us to remove one of the dimensions in an n-dimensional matrix.

40. lily says:

I’m concerning about mimoML on time and frequency selective fading, could you give me some tips? Thank you very much!

1. @lily: The simulations which I provided above are for flat fading time invarient channel. I have not worked much on MIMO with time/frequency selective fading channel.

41. ilhami says:

Hello,

Could you explain how we can calculate the min J if we use 16QAM instead of BPSK?

Thanks,
Ilhami

1. @ilhami: For 16-QAM it becomes a bit exhaustive. For each spatial dimension, there are 16possible inputs. So, with 2 spatial streams, we need to find the minimum from 16^2 = 256 combinations.

42. Grigoras Christian says:

Hello I must simulated the influence of BER in WLAN. Could you help me with some books? tutorial? I must simulat in a program called ADS (Advanced System Design). PLs help. contact me on me email address. 10x

43. shravani says:

i am doing project on mimo ofdm so please if possible provide me a code

44. shravani says:

please suggest a code for MIMO OFDM

1. @shravani: I have not posted on MIMO plus OFDM. Seems to be a good addition. I will add that.

2. balu says:

hi sravani
i am also doing project on mimo ofdm.
what is your project title. so that we can discuss on this.

45. Liran says:

Hi,
Can you please show what changes to do in your codes in order to get Symbol Error Rate instead of BER?

Thank you!

1. @Liran: Depends on the modulation scheme. For BPSK, BER is equal to symbol error rate. For higher order modulations symbol error can result in multiple bit errors (depending on the bit assigned to each symbol). For finding the symbol error rate, we define decision boundaries around each symbol. When ever the received symbol is outside the boundary, then the symbol is in error.

You may look at some posts on QAM symbol error rate calculation in AWGN for reference.

Symbol Error Rate (SER) for QPSK (4-QAM)

Symbol Error Rate (SER) for 16-QAM

Hope this helps.

46. brahhmaji T.A.R.K. says:

very good
useful

47. brahhmaji T.A.R.K. says:

very good