Convolutional code

Coding is a technique where redundancy is added to original bit sequence to increase the reliability of the communication. In this article, lets discuss a simple binary convolutional coding scheme at the transmitter and the associated Viterbi (maximum likelihood) decoding scheme at the receiver. Update: For some reason, the blog is unable to display the…

Read More

Matlab or C for Viterbi Decoder?

Are you bothered by speed of the speed of the simulations which you develop in Matlab/Octave? I was not bothered much, till I ran into the Viterbi decoder. If you recall, the Matlab/Octave simulation script for BER computation with hard soft decision Viterbi algorithm provided in post Viterbi with finite survivor state memory took around…

Read More

Scaling factor in QAM

When QAM (Quadrature Amplitude Modulation) is used, typically one may find a scaling factor associated with the constellation mapping operation. It may be reasonably obvious that this scaling factor is for normalizing the average energy to one. This post attempts to compute the average energy of the 16-QAM, 64-QAM and M-QAM constellation (where is a…

Read More

Maximal Ratio Combining (MRC)

This is the third post in the series discussing receiver diversity in a wireless link. Receiver diversity is a form of space diversity, where there are multiple antennas at the receiver. The presence of receiver diversity poses an interesting problem – how do we use ‘effectively‘ the information from all the antennas to demodulate the…

Read More

GATE-2012 ECE Q36 (math)

Question 36 on math from GATE (Graduate Aptitude Test in Engineering) 2012 Electronics and Communication Engineering paper. Q36. A fair coin is tossed till a head appears for the first time. The probability that the number of required tosses is odd, is (A) 1/3 (B) 1/2 (C) 2/3 (D) 3/4 Solution Let us start by…

Read More