1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 4.86 out of 5)
Print Print


Krishna Sankar Madhavan Pillai

Krishna Sankar M is a Signal Processing Engineer based out of Bangalore, India. His typical activities on a working day involve identifying and modeling digital signal processing algorithms for wireless receivers.
View Krishna Sankar Madhavan Pillai's profile on LinkedIn


The blog started some in February 2007 on the free Blogger platform and was hosted at http://dsplog.blogspot.com with the following objective:

Explain and discuss the basic text book concepts in digital signal processing and digital communication using simple Octave scripts.

Seeing consistent increase in traffic over the 6-7 months from inception, it was decided to move to an independent platform hosted at www.dsplog.com.

Target audience

(a) Students taking courses in digital signal processing/digital communication and requiring help to understand some of the concepts.
(b) Practicing engineers who are fresh to the domain of digital signal processing and requiring help.
(c) Ofcourse, the experienced engineers can share tips and tricks associated with the digital signal processing trade. :)

Probable contents

(a) Understanding basic concepts pertaining to FIR/IIR filtering
(b) Sample rate conversion
(c) Bit and Symbol error probabilities for typical digital communicatio
(d) Orthogonal Frequency Division Multiplexing
(e) more… :)

Contact via Email

For any queries, clarification, please contact the author at

Subscribe for the feed via Email

Please click here.

Subscribe for the feed via RSS

Please click here

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.

{ 82 comments… read them below or add one }

Shwetha March 5, 2015 at 6:49 pm

hello sir,
i am doing project on cooperative communication.
can u provide code for ofdm-mimo network using cooperative diversity technique


pay per click agency August 26, 2014 at 11:38 pm

I’m amazed, I must say. Rarely do I encounter a blog that’s both educative and
amusing, and let me tell you, you’ve hit the nail on the
head. The problem is something which not enough people are speaking intelligently about.

Now i’m very happy that I came across this during my search for something regarding this.


Boca Raton CPAt test locations August 13, 2014 at 8:59 pm

When using such a solution, you will be asked to talk about the events that affected
you in the year, marriage, new baby, move to a new house,
started college, changed employment status, etc. But there
is an exception if the caregiver is your parent. Every year, thousands of vacancies
open up in the public sector.


george beach insurance marketing August 10, 2014 at 10:22 am

Cynthia Minnaar is a full-time internet marketer and
owner of She invites you to visit her internet marketing
training website for more link building tips. If a person is interested in what they see on your Facebook page, it’s crucial that they have your contact information to
learn more. The last thing to consider in regards to the idea of seo tools is that there
is an algorithm that is continually changing.


wholesale Brand name August 3, 2014 at 7:00 am

If he needs time to think about it, give him a
deadline so he knows that you are serious. So don’t make a fool of yourself by stalking his friends as it will
only end in tears. Is a Slower Realization of the
Truth Better for You.


Phillipp July 12, 2014 at 1:31 am

Create a well spun comment related to your niche


the truth about fat burning foods ebook July 8, 2014 at 3:42 pm

These foods will also help in increasing the Thyroid Hormone (T3), which helps in burning fat.


Boca Raton CPAt test california July 7, 2014 at 2:30 pm

Then visit this endorsed web-page and discover how Accountant Burnsville can benefit you.
Here are 4 things bookkeeping and accounting services do for their customers:.
There are many accounting software available these days.


MANISH JAISWAL July 2, 2014 at 9:50 pm

I am working on Power line communication channel.
Can u help me in MATLAB Coding for multipath channel simulation.


Heike June 25, 2014 at 8:18 pm

You should receive a quote from each one of the SEO company concerning the web design services.
I thought these folks were the strangest sounding words when I first heard them.
I personally think an e-mail program mustn’t be used to send e-mail
to 200 or maybe more people.


mannenkapsels June 23, 2014 at 6:07 pm

I visited several web pages however the audio quality for audio songs existing at this
web page is in fact marvelous.


best orbital sander April 29, 2014 at 8:09 am

Having read this I thought it was rather informative.
I appreciate you finding the time and effort to put this short article together.
I once again find myself spending a lot of time both reading and posting comments.
But so what, it was still worthwhile!


Dr Drum Beat Maker April 27, 2014 at 3:23 pm

It has inputs for guitar, bass, and even expression pedals.
I can make so percussive brush effects for really quiet jazz.


siri April 21, 2014 at 7:34 pm

Sir i am doing project on energy effieciency by using virtula mimo for wireless sensor networks,so i need matlab code for energy consumption vs distance for fixed and variable distances of mimo


siri April 22, 2014 at 8:29 pm

Sir i am doing project on energy effieciency by using virtula mimo for wireless sensor networks,so i need matlab code for energy consumption vs distance for fixed and variable distances of mimo


Shakeera April 21, 2014 at 2:44 pm

Hai sir I am working on Cooperative communication.I struck at 8psk coding and decoding.How I can code the bits in 8psk.

Thank You Sir


Ericka April 19, 2014 at 2:16 am

Great items from you, man. I’ve consider your stuff previous to
and you’re just too wonderful. I actually like what you have received here,
certainly like what you’re saying and the way through which you assert
it. You’re making it entertaining and you continue to care
for to keep it wise. I cant wait to learn much more from you.
This is really a great website.


free google advertising April 14, 2014 at 2:04 pm

I’m really enjoying the design and layout of your website. It’s a very easy on the eyes which
makes it much more enjoyable for me to come here and visit more often.
Did you hire out a designer to create your theme? Excellent work!


Sailesh August 17, 2013 at 11:53 am

I need help for spectrum sensing in cognitive radio. Energy detection method would be great!!


Ayo July 25, 2013 at 5:07 pm

Pls. can you help with the theoretical implementation of QPSK BER for rayleigh fading with OFDM? Your response will be highly appreciated..


sujatha July 22, 2013 at 12:18 pm

Is it possible to establish a system OFDM-STBC system with dual hop(Regenerative relay) under receiver phase noise, if so will please guide me


priya July 16, 2013 at 3:44 am

i am doing project on mobile ad-hoc networks. I have already created an environment in which i assumed one transmitter and one receiver (both are stationary).i have considered Rayleigh fast fading channel and i would like to calculate the channel capacity. could you help me with the formula?
And one more question i have Error Vector Magnitude(EVM) values from which i want to calculate SNR for the channel capacity.so How to calculate SNR from EVM values for Rayleigh fading channel?please help me with the formula
Thanks in advance


seun July 2, 2013 at 6:44 pm

Please how do I perform MRC on continuous wave?


ripan June 25, 2013 at 9:46 pm

why couldn’t comment here? I commented two times & each time there were shown as ”Your comment is awaiting moderation”, And after some days I noticed that there is no comment, It is vanished.


Krishna Sankar June 26, 2013 at 6:47 am

@ripan: sorry, have not been monitoring the comment section these days


angel June 11, 2013 at 1:57 pm

dear sir iam doing my project in cognitive radio please give idea about poly phase filter realiastion


zzp June 1, 2013 at 5:53 am

Dear Krishna Sankar

I am following your blog serval months. Can you give me some zero-if receiver matlab

I don’t understand the equzilizer theory and gardner synchronous theory. Could you help this ? Thanks!


C Golin May 19, 2013 at 4:00 am

Hello Krishna, I’m a teacher of Electronics in Italian high school.
This evening I discovered your site, I like it a lot!
I had a look to your page:

I want ask you if there is a similar modulation roundup concerning spectra.

Best Regards!!


khalid April 19, 2013 at 6:16 pm

salut Mr Krishna je travaille sur OFDM et je dois réaliser deux code matlab qui générent
un signal OFDM pour le WI-FI (802.11a et b )et le WIMAX(802.16);
je serais reconnaissant si vous allez m’aider.
voila mon email : khalid.elazz@gmail.com


Michael March 30, 2013 at 3:51 am

Dear Krishna Sankar,
I am a student doing electrical and electronic engineering at Newcastle university England. I would just like to let you know how much alot of your work and the website has helped me so much. At the moment I am doing a project on cooperative communication and need some code work to help me with simulations. If you have anything what so ever to help me with this issue I would be extremely grateful.

Thank you very much for your attention sir.


Krishna Sankar March 30, 2013 at 8:11 am

@Michael: Thanks, glad to be of help. Sorry, I have not discussed much about cooperative communication in the posts.


Nam Nguyen March 22, 2013 at 12:05 pm

Hi Krishna Sankar!!!
I’m studying nonlinear distortion in M-QAM systems that using adaptive Equalization and LMS algorthism in this ones. Can u help me or instruct code of Matlab to simulate systems when they had influenced by nonlinear distortion of HPA. Thanks u so much.


Krishna Sankar March 27, 2013 at 6:05 am

@Nam Nguyen: Sorry, I do not have the matlab code.


Nam Nguyen March 27, 2013 at 6:20 am

@ Krishna Sankar!!
Can u suggest for me to write code matlab of these issues!! Thanks Krishna Sankar so much!!!


hdcheikh March 22, 2013 at 12:30 am

please Mir Krishna Sankar ! I need a Matlab simulator of MIMO STBC
Thanks a lot


Krishna Sankar March 22, 2013 at 5:47 am

@hdcheikh: please check


3Sigma February 23, 2013 at 6:26 pm

I’ve been following your blog for quite some time and liked a lot. I’ve also started blogging recently about analog design. Please checkout my blog.



Krishna Sankar February 23, 2013 at 7:52 pm

@3Sigma: Thanks. Had a look at your blog – great ! All the very best!
If you are in Bangalore, lets meet up when are not ‘iwannastay_anonymous’ :-)


seema January 21, 2013 at 9:48 pm

hi krishna,

can u plzzz get me VHDL codes for viterbi decoding both using traceback and register exchange method.thanks


Krishna Sankar January 23, 2013 at 5:29 am

@seema: sorry, do not have vhdl codes


seema January 23, 2013 at 3:54 pm

fine,thnks for reply :)


prasad December 7, 2012 at 9:53 am

…………..pls help me…..
my project on femtocell power control……..
i have theoretical knowledge but i don’t know how to simulate in MATLAB. so please help me giving sample code for power conterol in cellular communication


Krishna Sankar December 8, 2012 at 3:55 am

@prasad: Power control should be relatively easy to simulate. How’s the transmitter getting a sense of it’s transmitted power – feedback from the power amplifier and/or feedback from the receiver system?


vignesh December 4, 2012 at 8:04 pm

Hi Krishna ,

Website is very useful.
I can learn a lot.



Winston November 25, 2012 at 4:01 pm


I am working on spectrum sensing on TV band.
I need to help on how to model a digital TV signal for null and alternate hypothesis.
Pls help me with this.


Krishna Sankar November 27, 2012 at 5:44 am

@Winston: Are you using power estimate > threshold for the hypothesis?


Rui Li November 9, 2012 at 6:23 am

Hello, In this website I have learn much knowledge. Now I am studying LDPC channnel coding.
Do you have some source code about block fading channel? I can not know it exactly?


Krishna Sankar November 12, 2012 at 6:59 am

@Rui: LDPC code-decoding is one of the TODO’s. However, you can find some posts on Hamming decoder and Viterbi decoder at


raja November 3, 2012 at 6:04 pm



Hung PCanh October 17, 2012 at 8:57 pm

Hi Krishna Sankar,
I am doing research in MIMO and Transmition Antenna Selection (TAS), may you give me some links or examples matlab codes on this topic?
i am a beginer in using matlab.


Krishna Sankar October 18, 2012 at 5:42 am

@Hung: I cannot point to specific codes, but you can checkout http://www.dsplog.com/category/mimo


Thiyagi October 6, 2012 at 9:06 pm

Mr.Krishna I’m working in co-operative spectrum sensing for cognitive radios.. Currently in energy detection based on neyman-pearson criterion and likelihood ratio test.. Is there any blogs for hypothesis testing(DETECTION THEORY ) pls provide me if u have any materials or links


Krishna Sankar October 8, 2012 at 5:34 am
Dewa September 25, 2012 at 12:47 pm


is there a reason between the choosing a MIMO 2×2 with the 64-QAM constellation?
are they connected each other?
i mean, why don’t we choose 2×3 or 2×4 which have a higher throughtput?

the square configuration (MIMO 2×2) and the square constellation of 64-QAM, are they correlated each other?

thank you for your answer


Krishna Sankar September 26, 2012 at 5:26 am

@Dewa: The MIMO configuration (2×2, 3×3 etc) and the constellation (64-QAM, QPSK, 16QAM etc) are independent design choices. For eg, if you see 11n/11ac standard, can see the MIMO configurations with upto 8 antennas, with constellations from BPSK all the way to 256QAM.


snehaa diwan September 20, 2012 at 11:15 pm

sir we are implementing 2×2 MIMO system..using almouti scheme and also mrc at receiver side…actually we have to transmit text file wirelessly through zigbee module and receiver should add both the signal…i dnt knw how the SNR will increase and also the original signal should get back…


Krishna Sankar September 22, 2012 at 6:01 am

@snehaa diwan: Couple of points:
a) Using two transmit antennas and two receive antennas, you can potentially double the data rate
For articles relating the equalization with a 2x2MIMO case, please look at

b) To increase the reliability, one can chose to keep the data rate and have more antennas at the receiver
- Maximal Ratio Combining (1tx and 2 receive antennas)
- Alamouti coding (2tx and 1 receive antenna)
- Alamouti coding (2tx and 2 receive antenna)

Hope this helps


vikas negi March 30, 2012 at 10:03 pm

hi Krishna
Good to see you solving problems of technocrates
i want some suggestion from you on my project.
i am doing MSK modulation using DDS centered at 60 mhz. please suggest me some demodulation scheme at receiving End.


Krishna Sankar April 1, 2012 at 5:45 am

@vikas: please take a look at http://www.dsplog.com/tag/msk


Mat March 2, 2012 at 3:06 am

If we increase the number of subcarriers on OFDM, but keep the bandwidth the same, why do you think the BER increases with higher carriers


Krishna Sankar March 5, 2012 at 5:41 am

@Mat: If the number of subcarriers are more, then the chances of the frequency offset, phase noise affecting the orthogonality between the subcarriers gets higher.


abhsihek July 6, 2011 at 12:57 pm

Why have you stopped posting man ??


Krishna Sankar October 30, 2011 at 7:42 pm

@abhsihek: am getting lazy?


mij April 1, 2010 at 6:39 pm

Hello Mr krishna

Currently im doing research on ofdm with qpsk and 64-qam modulation technique. I also need to generate a simulation of it.
But im a little bit confuse now…what is the equation for the BER of QPSK and 64-QAM?

it will be helpful if you can guide me on how to generate the MATLAB codes.

Thanks in advance


Krishna Sankar April 4, 2010 at 3:21 am
uma March 22, 2010 at 10:38 am

hello sir,
can u provide matlab code for to undersample the pulsed UWB signal?……plz help me sir…….


Krishna Sankar March 28, 2010 at 1:52 pm

@uma: Sorry, I have not tried model UWB systems


jennifer March 12, 2010 at 11:39 am

we are trying to implemnt UWB subsampling receiver for 3.1to 10.6 ghz input signal(gaussian pulse).can u help us with matlab code for subsampling receiver..
please sir .kindly help us..


Krishna Sankar March 28, 2010 at 3:50 pm

@jennifer: Sorry, I have not tried modeling UWB. For downsampling, its as simple as take one out of two samples (for downsample by 2)


hitesh February 18, 2010 at 7:22 pm

hi dude,
i am stuck with coding in matlab of simulation environment for mobile communication system (mose) for power control in mobile radio system.
please help me


Krishna Sankar March 31, 2010 at 5:38 am

@hitesh: What is the problem which you are facing?


Pascal Renuci February 14, 2010 at 8:39 am

Just found this website. What a wonderful gold-mine! Krishna, very nicely done!



Advaith December 24, 2009 at 12:14 pm

Hi Krishna,
Yesterday I sent a mail to your address and also posted a question on forum asking about plotting eye diagram. On one of the thread I found this and had few doubts.
When you say you are plotting 2 bits I see that high and low of that bit are at center of plot. So is it plotted as half of previous bit-current bit-half of next bit


Salman Javaid December 12, 2009 at 8:55 pm

Dudes, I salute you for this. One wonderful blog.


smruthi October 20, 2009 at 3:39 pm

Do u have MATLAB code for transfering data between two computers using parallel port?


Krishna Sankar October 27, 2009 at 5:18 am

@smruthi: Sorry, I do not have. However, you might want to check the following links:
(a) MATLAB TCP/IP – code example by Steven Kolak
(b) TCP/IP Communication for Real-Time and Embedded Systems By Sam Mirsky
(c) Instrument Control Toolbox 2.9


Selvi October 5, 2009 at 10:01 pm

Mr. Kri Index to Various dashnan, I want to know , While assigning Subcarrier
Index to each data, You have used -26 to +26 neglecting 0. may know how this process is done. WHY Such change in subcarrier index is followed


Krishna Sankar October 8, 2009 at 5:26 am

@Selvi: 0th subcarrier is not used by controlling the assignment of symbols to subcarriers. In general, modulating the DC subcarrier is not preferred as the DC impairments in RF etc will corrupt the information.


Ajay Pratap Singh September 15, 2009 at 2:05 pm


While I was putting the code, I downloaded from


in the codeblocks or in Visual Studio, it gives me error.

In codeblocks, it gives error at line number 42 and 138

error: undefined reference to `_exp10′|

Could you please tell me how to resolve this.


Krishna Sankar September 18, 2009 at 5:46 am

@Ajay: I also had the same problem when I tried to compile with gcc. I worked around it by using -lm option when compiling.
Maybe, the following URI might provide you more info:
Good luck.


Bob September 1, 2009 at 2:59 pm

I have been asked to write a 1/4 soft input viterbi decoder in VHDL or Verilog (I use VHDL as I’m more familiar with it). I have a decent knowledge of Convolutional Codes and Viterbi Decoding and I have access to a 1/2 Viterbi decoder (which I didn’t create). My question is..is a 1/4 decoder much more complicated to design or is there anyway I can use the existing 1/2 decoder?


Krishna Sankar September 7, 2009 at 5:38 am

@Bob: Well, its not complex. However, you need to re-construct the trellis based on the current state-next state, input-output transition matrix for rate 1/4 code.


Leave a Comment