Understanding Shannon’s capacity equation

Let us try to understand the formula for Channel Capacity with an Average Power Limitation, described in Section 25 of the landmark paper A Mathematical Theory for Communication, by Mr. Claude Shannon.

Further, the following writeup is based on Section 12.5.1 from Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi

Continue reading “Understanding Shannon’s capacity equation”

BPSK BER with OFDM modulation

Oflate, I am getting frequent requests for bit error rate simulations using OFDM (Orthogonal Frequency Division Multiplexing) modulation. In this post, we will discuss a simple OFDM transmitter and receiver, find the relation between Eb/No (Bit to Noise ratio) and Es/No (Signal to Noise ratio) and compute the bit error rate with BPSK.

Continue reading “BPSK BER with OFDM modulation”

16QAM Bit Error Rate (BER) with Gray mapping

Let us derive the theoretical 16QAM bit error rate (BER) with Gray coded constellation mapping in additive white Gaussian noise conditions. Further, the Matlab/Octave simulation script can be used to confirm that the simulation is in good agreement with theory.

Continue reading “16QAM Bit Error Rate (BER) with Gray mapping”

Binary to Gray code for 16QAM

In the previous post on Binary to Gray code conversion for PSK, I had claimed that “for a general M-QAM modulation the binary to Gray code conversion is bit more complicated“. However following a closer look, I realize that this is not so complicated. 🙂

The QAM scenario can be treated as independent PAM modulation on I arm and Q-arm respectively. For example, let us consider 16-QAM scenario.

Continue reading “Binary to Gray code for 16QAM”

Update: Correction in Matlab code for raised cosine filter

Thanks to the keen observation by Mr. Phan Minh Hoang, I was notified that the Matlab/Octave scripts provided along with the topic raised cosine filtering was not behaving properly.

Reason: I was not taking care of the division by zero when creating the raised cosine filter taps. 🙁 Continue reading “Update: Correction in Matlab code for raised cosine filter”

Article in DSPDesignLine.com: M-QAM symbol error

Its been a nice week for me, wherein I guest posted an article in DSPDesignLine.com. 🙂

The article derives the theoretical symbol error rate for M-QAM modulation. The theoretical results are further supplemented by Matlab/Octave simulation scripts.

Those who are familiar with derivation of symbol error rate for 16-QAM modulation will find the equations easy to interpret. As we did for 16-QAM,

Continue reading “Article in DSPDesignLine.com: M-QAM symbol error”

Bit error rate for 16PSK modulation using Gray mapping

In this post, let us derive the theoretical bit error probability for 16PSK modulation using Gray coded mapping. For deriving the equation, we will refer material from the following posts:

(a) Symbol Error Rate for 16PSK

(b) Gray code to Binary code conversion for PSK

(c) Binary to Gray code conversion for PSK

As discussed in the previous posts, the key feature of Gray code is that adjacent symbols differ by only one bit. The 16PSK constellation with Gray mapping can be as shown in the figure below.

Continue reading “Bit error rate for 16PSK modulation using Gray mapping”

Gray code to Binary conversion for PSK and PAM

Given that we have discussed Binary to Gray code conversion, let us discuss the Gray to BInary conversion.

Conversion from Gray code to natural Binary

Let be the equivalent Gray code for an bit binary number with representing the index of the bit.

1. For ,

i.e, the most significant bit (MSB) of the Gray code is same as the MSB of original binary number.

2. For ,

i.e, bit of the Binary number is the exclusive-OR (XOR) of of the bit of the Gray code and of the bit of the binary number. Continue reading “Gray code to Binary conversion for PSK and PAM”

Binary to Gray code conversion for PSK and PAM

In this post, let us try to understand Gray codes and their usage in digital communication. Quoting from Wiki entry on Gray code [Gray-Wiki],

The reflected binary code, also known as Gray code after Frank Gray, is a binary numeral system where two successive values differ in only one digit.

In a digital communication system, if the constellation symbols are Gray encoded, then the bit pattern representing the adjacent constellation symbols differ by only one bit. We will show in another post that having this encoding structure gives a lesser probability of error than the ‘natural binary ordering’. However, in this post, let us try to figure out the conversion of natural binary representation to Gray code. Continue reading “Binary to Gray code conversion for PSK and PAM”

OT: Migration to a Deep Blue template

After almost 6 months with the Smashing Theme template, its time for a change. Recently I stumbled upon the Deep Blue template from DailyBlogTips. I liked the clean blue-green-white combination and and felt it might be a good fit for www.dsplog.com. Hope you agree.

One key feature which I like is addition of tag cloud in the sidebar. Hopefully navigating to the relevant posts became simpler. Have a look around.

Of course, your valuable comments and criticism are welcome. 🙂

Eye diagram with raised cosine filtering

We have discussed about probable transmit pulse shaping filter and have observed that raised cosine filtering filtering allows a simpler implementation, albeit at the cost of increased bandwidth. Let us know understand the eye diagram, which is a useful graphical tool to quantify the degradation of the signal due to filtering.

Eye diagram

An eye diagram is generated in an oscilloscope operating in the persistence mode by observing the output of the filter with the symbol timing serving as the trigger. The observation window can be set as 2 times the symbol period. (Refer. Section 5.1.3 in [DIG-COMM-BARRY-LEE-MESSERSCHMITT]).

Continue reading “Eye diagram with raised cosine filtering”

MCDES 2008 at Indian Institute of Science, Bangalore

Thanks to Prof. K V S Hari, I was informed that the centenary year for Indian Institute of Science (IISc), Bangalore starts on May 27th 2008.

As part of the event, a conference with the theme Managing Complexity in a Distributed World (MCDES) is to be held at IISc from May27th to 31st 2008. Continue reading “MCDES 2008 at Indian Institute of Science, Bangalore”

Raised cosine filter for transmit pulse shaping

In the previous post on transmit filtering using Nyquist pulse, we had briefly learned that the information symbol with a symbol period can be transmitted without inter symbol interference (ISI) by using Nyquist pulse,

.

The resultant waveform is ideally bandlimited to frequencies from Hz to Hz.

However, in typical transmission schemes, we do not hear of pulse shaping using sinc() filters. Rather, pulse shaping using raised cosine filter is frequently used. In this post, objective is to understand the motivation behind using raised cosine filtering for pulse shaping.

Continue reading “Raised cosine filter for transmit pulse shaping”

OT: Prof. Randy Pausch’s lecture in Oprah show

In the past, I have wondered about discussing personal thoughts in this blog. The answer in my mind was NO and I ve been focusing only on technical topics till date. However, there is a change of mind, thanks to my friend Manoj.

Thanks to him, I happened to see Prof. Randy Pausch’s brief 10 minute lecture in Oprah show. The contents of video is very powerful and motivated me to have a rethink. Please find the YouTube video embedded below.

Continue reading “OT: Prof. Randy Pausch’s lecture in Oprah show”