You are on page 1of 71

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Home About Articles Contact Subscribe DSP log Signal Processing for Communication

Powered by

Translate

802.11ac Capacity Channel Random Variables Diversity DSP Error Rate Filter News Miscellaneous Objective Quiz Receiver Transmitter
Ads by Google

(26 votes, average: 4.69 out of 5)

TV Channel

Channel Management

Eye Diagram

Ber

Print

BER for BPSK in Rayleigh channel


by Krishna Sankar on August 10, 2008

Server not found

Long back in time we discussed the BER (bit error rate) for BPSK modulation in a simple AWGN channel (time stamps states August 2007). Almost an year back! It high time we discuss the BER for BPSK in a Rayleigh multipath channel.

1 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

In a brief discussion on Rayleigh channel, wherein we stated that a circularly symmetric complex Gaussian random variable is of the form, , where real and imaginary parts are zero mean independent and identically distributed (iid) Gaussian random variables with mean 0 and variance . The magnitude which has a probability density,

is called a Rayleigh random variable. This model, called Rayleigh fading channel model, is reasonable for an environment where there are large number of reflectors.

System model
The received signal in Rayleigh fading channel is of the form, , where is the received symbol, is complex scaling factor corresponding to Rayleigh multipath channel is the transmitted symbol (taking values +1s and -1s) and is the Additive White Gaussian Noise (AWGN) 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 is randomly varying in time meaning each transmitted symbol gets multiplied by a randomly varying complex number . Since is modeling a Rayleigh channel, the real and imaginary parts are Gaussian distributed having mean 0 and variance 1/2. 3. The noise has the Gaussian probability density function with with and .

4. The channel is known at the receiver. Equalization is performed at the receiver by dividing the received symbol by the apriori known i.e.

where is the additive noise scaled by the channel coefficient.

Bit Error Rate

2 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

The equations listed below refers Chapter 14.3 in [DIGITAL COMMUNICATION: PROAKIS] If you recall, in the post on BER computation in AWGN, the probability of error for transmission of either +1 or -1 is computed by integrating the tail of the Gaussian probability density function for a given value of bit energy to noise ratio . However in the presence of channel probability for a given value of is, , , the effective bit energy to noise ratio is . So the bit error . The bit error rate is,

where

. , one must evaluate the conditional probability density .

To find the error probability over all random values of function over the probability density function of Probability density function of

From our discussion on chi-square random variable, we know that if is a Rayleigh distributed random variable, then is chi-square distributed with two degrees of freedom. since is chi square distributed, is also chi square distributed. The probability density function of is, . Error probability So the error probability is, .

Somehow, this equation reduces to . Note: 1. I have not yet figured out the math to reduce the above integral to the answer. If some one knows, kindly drop in a comment. 2. Another way for finding the bit error rate might be to find the pdf of . However, I do not know how to find pdf following the division of two random variables.

3 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Simulation Model
It will be useful to provide a simple Matlab/Octave example simulating a BPSK transmission and reception in Rayleigh channel. The script performs the following (a) Generate random binary sequence of +1s and -1s. (b) Multiply the symbols with the channel and then add white Gaussian noise. (c) At the receiver, equalize (divide) the received symbols with the known channel (d) Perform hard decision decoding and count the bit errors (e) Repeat for multiple values of and plot the simulation and theoretical results.

Click here to download Matlab/Octave script for BER computation of BPSK in Rayleigh fading channel

Figure: BER plot of BPSK in Rayleigh fading channel When compared to the AWGN case, around 25dB degradation due to the multipath channel (at the point). This is both good and bad: bad because we need to spend so much energy to get a reliable wireless link up (in this era of global warming), and good because we signal processing engineers are trying to figure out ways for improving the performance.

Reference
[DIGITAL COMMUNICATION: PROAKIS] Digital Communications by John Proakis Tagged as: AWGN, PSK, Rayleigh

4 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Server not found

Related posts
1. 2. 3. 4. 5. BER for BPSK in OFDM with Rayleigh multipath channel Derivation of BPSK BER in Rayleigh channel Rayleigh multipath channel model Deriving PDF of Rayleigh random variable Equal Gain Combining (EGC)

Max Chickering's Papers maxchickering.com/pubs.html PDF versions of selected papers. Available free of charge! HD Mixing Matrix www.kensence.com N-Mix High Definition Mixing Matrix network signal transmission+switch Generation of Source Code www.sparxsystems.com .NET, Java, C++, XSD, DDL, PHP, CORBA, Python & more. Free Trial! Radar, Cellular, Wireless www.narda-nra.com Monitoring of any Radio Services with Narda NRA Spectrum Analyzer

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.
Ads by Google

Channel 21 MATLAB Design Ion Channel HBO Channel

{ 237 comments read them below or add one }

1 Lealem Tamirat August 19, 2008 at 6:11 pm I have seen the simulation code which u used to simulate a Rayleigh fading channel. But i would like u to ask a hit how to simulate a frequency selective Rayleigh fading channel for OFDM application. I think the above simulation out put is a flat Rayleigh fading. Thank you!!! Reply

2 Researcher Publication Opportunity August 21, 2011 at 1:01 pm One who is interested in including his/her name in 3 research conferences in international IEEE conference should reply on email address me_researcher@yahoo.com. Both papers are related to

5 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

mobile communication. Total of 3 authors list will be included in each Paper. 2 author names have already been included. Interested candidates who want to include his/her name at 3rd position will be required to pay for the registration fee. Matlab Code as well as the full paper will be sent to the individual after acceptance of paper from the conference. Fee submission will be through Freelancer and elance. Candidate name will be included in Paper after milestone payment is released by him/her. Milestone payment is one which is in the custody of broker (Freelancer or Elance authority) and not in the custody of either party. After the paper is accepted and the client is conformed about the acheivement, only then he will be allowed to pay. Time is short so the policy of 1st come 1st serve will be entertained. Reply

3 Krishna Pillai August 21, 2008 at 1:18 pm @Lealem: Yes, the above simulation is for a flat Rayleigh fading channel. In the OFDM case, though the total channel is a frequency selective channel, the channel experienced by the individual subcarriers will still be flat fading channel. Am expecting that a rayleigh channel having a duration less than the cyclic prefix, the expected BER performance in OFDM will be the same as the results obtained in the above plot. I will run simulations to check and confirm. Reply

4 JERRY April 7, 2009 at 5:35 pm Reply

5 Krishna Pillai April 11, 2009 at 6:38 am @JERRY: You may refer to the post on Derivation of BER for BPSK in Rayleigh channel for the proof. http://www.dsplog.com/2009/01/22/derivation-ber-rayleigh-channel/ Further, this is discussed in Chapter 11.3 of Digital Communications by Barry, Lee, Meesserschmit. Reply

6 balaji May 27, 2009 at 7:09 pm Hi mate i went through your code and it was great. Im just learning about mimo equalization and all. Will you be able to help me generate a code for 22 MIMO equalised using svd?please mail me if you can. thanks in advance. cheers.

6 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Reply

7 Krishna Pillai May 31, 2009 at 8:34 pm @balaji: I have written some posts on MIMO. You may look up them @ http://www.dsplog.com/tag/mimo In those posts, you may use the MIMO with Zero Forcing Equalizer as the most simplest example. When you said, equalizing MIMO by SVD, did you mean pre-compensing the transmitted matrix by V matrix such that the channel experienced by the MIMO channel is diagonal? [U S V] = svd(H) Reply

8 leslie April 25, 2010 at 8:05 am Its useful~~Thank you! Reply

9 ALI July 25, 2010 at 11:54 pm hi, i need few matlab codes oF MIMO AND SISO SYSTEMS ON AWGN FADING CHANNEL AND RICIAN FADING CHANNEL. MANY THANKS Reply

10 Krishna Sankar July 26, 2010 at 6:47 am @Ali: You may refer posts @ http://www.dsplog.com/tag/mimo These are flat faiding Rayleigh channel Reply

11 Ali July 26, 2010 at 3:32 pm Hi Krishna , Thanks for the reply ! Well as we have detailed information about rayleigh fading channel on this link http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ can i have a similar information about rician and awgn, as i have already gone through the link which you have posted me unfortunately i couldnt find what exactly i am looking for .

7 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Thanks Reply

12 Krishna Sankar July 27, 2010 at 7:09 am @Ali: The BER for BPSK in AWGN can be found @ http://www.dsplog.com/2007/08/05/bit-error-probability-for-bpsk-modulation/ Sorry, I have not written anything on Rician channel as on today.

13 Krishna Sankar July 27, 2010 at 7:09 am @Ali: The BER for BPSK in AWGN can be found @ http://www.dsplog.com/2007/08/05/bit-error-probability-for-bpsk-modulation/ Sorry, I have not written anything on Rician channel as on today

14 lealemta August 21, 2008 at 1:36 pm Thank you! Kirishna, hope fully ur script is very very help full for my work but still i have doubt on how to write a matlab script to simulate a frequency selective fading channel. for example a channel of 120 Hz Doppler frequency. Reply

15 leslie April 24, 2010 at 7:45 pm You may use the BEM channel model for it.It is great to simulate the Jakes channel model. Reply

16 Krishna Sankar April 27, 2010 at 5:19 am @Ok, thanks Reply

17 khurshid September 7, 2008 at 12:09 am hello! i go through your posts of matlab code, these are very helpful. please help me to solve the following writing the matlab code. Assume BPSK modulation with equal user transmit powers. The channels between users (interuser) and to the base station (uplink) are mutually independent with flat, Rayleigh fading that remains constant over each source block

8 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

(quasi-static fading). Each receiver has perfect CSI and employs coherent detection, and we quantify the quality of each channel by its average received SNR. We use the RCPC code family with memory M = 4 and puncturing period P = 8 and choose overall code rate R = 1/4 with source block size K = 128 bits. if more detail is needed please inform me it is very urgent for me. if u could do it for me i would be very thankful to you. thanks khurshid Reply

18 Krishna Pillai September 8, 2008 at 9:47 am @khurshid: Sorry, I can help with your coding but not do coding for you. As a first step, you may try to create a packet error rate simulation environment with the above mentioned parameters. Are you using OFDM? Reply

19 khurshid September 8, 2008 at 6:58 pm thanks krishna actually i have to show the performance comparison of different strategies of cooperative communication.. different combining techniques at receiver may also be considered but not compulsory.. it is quit similar to relaying.. i have sent some matlab codes on krishna at dsplog com it shows some error which i fail to removed. please help me in removing these errors Reply

20 V Varun October 2, 2008 at 4:15 pm Hi, In order to find probability of error in a rayleigh fading channel we will average the conditional probability of error of the particular modulation scheme in AWGN channel over the rayleigh probability density function. Why we do this ? Please give explanation. Thanks and Regards, V Varun. Reply

9 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

21 Krishna Pillai October 2, 2008 at 8:14 pm @Varun: Because of Rayleigh fading, the instantaneous SNR for a particular channel realization is |h|^2*Eb/N0. So, to find the average bit error rate, we need to average over all channel realization. Hence we average over the conditional error probability. Does that help? Reply

22 V Varun October 3, 2008 at 8:45 am @Krishna Pillai Thanks a lot for giving me a reply. So this is similar to finding the mean of a random variable right !!! Here the random variable is instantaneous SNR right !!! Comment on this statement Sir !!! Reply

23 Krishna Pillai October 4, 2008 at 10:14 am @Varun: Yes, here the random variable is instantaneous SNR. Btw, do you know how to complete the proof? I have not figured that out. Kindly let me know, if you can prove the equation. Thanks. Reply

24 V Varun October 4, 2008 at 12:05 pm @ Pillai Which equation ? Is it the probability of error in a Rayleigh fading channel or the probability of error in a AWGN channel ? Let me know so that i can come up with a solution if i know Reply

25 nano686 October 6, 2008 at 8:16 pm Hi, I dont know simulate Rayleigh channel by Matlab. Can you help me? Thanks and Regards. Reply

26 Krishna Pillai October 7, 2008 at 5:01 am @nano686: This post does the simulation with a Rayleigh channel. Further, there are quite a few posts on

10 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Rayleigh channel URI: http://www.dsplog.com/tag/rayleigh/ Hope this helps. Reply

27 Krishna Pillai October 7, 2008 at 5:01 am @Varun: Probability of error in Rayleigh fading channel. Reply

28 Jussi Poikonen October 15, 2008 at 12:42 am You will find that the missing steps in the derivation above can be completed by writing open the final (double) integral, and changing the order of integration. That is, integrate first with respect to gamma from 0 to x^2 (where x is the argument of the complementary error function), and then with respect to x from 0 to infinity. The integration problem is finally reduced to single integrals from 0 to infinity over zero-mean Gaussian distributions. Reply

29 Krishna Pillai October 16, 2008 at 9:26 pm @Jussi Poikonen: Thanks for the guidance. Let me try to go over the steps per your suggestion. Reply

30 Sairam October 16, 2008 at 10:05 pm Sir How to derive the probability error of Non-coherent Non-Orhogonal modulation. TRhanking you sir!! Reply

31 Krishna Pillai October 17, 2008 at 10:16 pm @sairam: By non-coherent, hope you meant a scheme like DBPSK. Correct? I have not tried to discuss the deivation for BER with non-coherent modulation in any blog post yet. Something for me to look at. Can you give an example for non-orthogonal modulation? Reply

32 Sairam October 18, 2008 at 3:27 pm

11 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

it can be obtained if the orthogonal condition is not satisfied. But the derivations become more complicated. the advantage is that it provide high spectral efficiency. ok sir thank u for ur fast response Reply

33 Krishna Pillai October 19, 2008 at 6:42 pm @Sairam: Ok, thanks. Are there some practical systems taking advantage of non-orthogonality to improve spectral efficiency. Can you please point me to the same. Reply

34 Sairam October 20, 2008 at 10:32 pm yES SIR IT IS USED IN OPTICAL COMMUNICATIONS. Reply

35 Abrar October 25, 2008 at 8:36 am Hi Kirshna: hoping u r fine. I just want to ask about equlization which u have done here just by dividing by channel. is it another method of equlization. can u give some explation about equlization or refer some material about it, bec, I want to understand it. Tahnks and take care. abrar Reply

36 davis October 27, 2008 at 2:34 am Hello Kirshna I doing project on bfsk with rayleigh multipath chanel i wish to ask you if I use not an envelop but modulated fsk 0->cos(f1*t) and 1->cos(f2*t) how can I simulate rayleigh multipath chanel for bfsk in this case? thank you Davis Reply

37 Krishna Pillai October 29, 2008 at 9:51 am @Abrar: Sorry for the delayed response, I got bogged down by viral fever. Yes, this is a simple form equalization, which basically tries to make the effective channel as impulse.
12 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Since this a simple one tap channel, the equalization becomes just a division. This can be classified as a simple zero-forcing linear equalization. You can read more about equalization in Chapter 8 of Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt. Hope this helps. Reply

38 Krishna Pillai October 29, 2008 at 9:55 am @davis: Sorry for the delayed response, I was down with viral fever. I had written a post on BFSK some time in the past. URI: http://www.dsplog.com/2007/08/30/bit-error-rate-for-frequency-shift-keying-with-coherentdemodulation/ The post describes BFSK in AWGN case. You can convolve the transmit signal x with the impulse response of the channel (lets say h) before adding the noise n. Reply

39 Leon Craven November 3, 2008 at 12:08 pm Hi Krishna, Jussi Poikonen is correct, you can determine the double integral in this fashion to obtain the desired result. Reply

40 Krishna Pillai November 5, 2008 at 5:34 am @Leon: Thanks. The derivation has been pending for a while from my side. Let me try to go over it by over the week. Reply

41 Sky Stradlin November 6, 2008 at 7:32 pm Hi, Could you please explain on how you get h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; for Rayleigh? Coz I think, it should be just randn(1,N) + j*randn(1,N) Thanks Reply

42 Krishna Pillai November 7, 2008 at 6:43 am

13 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

@Sky: 1/sqrt(2) is for normalizing the channel gain to unity. I think it is required, as the derivations are for unity channel gain. Reply

43 Abrar November 10, 2008 at 3:42 am Hi Kirshna thanks for ur reply and sorry for the t I am saying thanks very late bec i am busy in my exam.Hoping U r fine, may GOD bless u. I am doing Postgraduate diploma in Massey University New Zealand. I am doing simulation on MC-CDMA. So I need ur help in modeling frequency selective channel. if u have any code about frequency selective chanel estimation, it will helpful for me. I am try to do so I will send u code if I have have succeded to some extent. waiting for ur reply. Thanks nad Take care. abrar Reply

44 Muhammad November 14, 2008 at 12:45 am I am Muhammad from Pakistan, I was in need to compute the Bit error rate of BPSK and QPSK in AWGN and Rayleigh fading channel. After finding this document, i was very happy as it improve my knowledge and releive my burden. Thanks for all Reply

45 Tahmid November 14, 2008 at 1:30 pm Hi Krishna, I am trying to follow this tutorial and extend it further to simulations for 4-QAM over Rayleigh fading channels. Could you please tell me how the code to apply the fading channel would change from the BPSK case. thanks Reply

46 Krishna Pillai November 15, 2008 at 8:01 am @Abrar: Thanks for the comment. Sorry for the delayed response. I was travelling. Typically for channel estimation, we send a known sequence (called preamble). Using the knowledge of the known sequence and what we received, we can estimate the channel. For eg, in a multi-carrier OFDM system, the system model can be written as
14 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Y = HX + N where Y is the received symbol on subcarrier k H is the channel on subcarrier k X is the transmitted symbol on subcarrier k N is the noise on subcarrier k Since X is known, the estimate of H is, H^ = Y/X Does this help? Reply

47 Krishna Pillai November 15, 2008 at 8:17 am @Muhammad: Thanks. Glad that you are finding http://www.dsplog.com useful for your studies. Happy learning! Reply

48 Krishna Pillai November 15, 2008 at 8:27 am @Tahmid: Moving the simulation to 4-QAM should be reasonably simple. First thing is that we will be sending information on both real and imgainary arms. Correspondingly, use the information from both real and imaginary arms while demodulating. You can use the Matlab model provided here http://www.dsplog.com/2007/11/06/symbol-error-rate-for-4-qam/ as reference. Hope this helps. Reply

49 Shefo666 November 21, 2008 at 5:18 am Dear Krishna Pillai, Thanks for the very interesting blog .. I am wondering whether it makes any sense to apply MMSE and ML equalization on SISO communication systems in order to get over the ZF equalization major problem of noise enhancement (when channel is in deep fade). In such a case, how is the theoretical BER performance of BPSK (for instance) over flat rayleigh (given by proakis, Digital communications) affected ? can u reccommend any papers that calculate the theoretical BER performance of ML and MMSE equalization over flat fading .. Most papers i got assume ZF equalization when it comes to SISO systems ! Reply

15 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

50 Krishna Pillai November 22, 2008 at 7:40 am @Shefo666: I think the ZF equalizer is optimal in SISO systems. With a simple Matlab/Octave script may I try to show that ZF and MMSE equalizer gives the same BER. Infact, am not sure whether we can call it as ZF/MMSE equalization as there is no interference terms. % Matlab/Octave code snippet for comparing zero forcing and MMSE equalization for SISI clear N = 10^4 % number of bits or symbols ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; Eb_N0_dB = 3; n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Rayleigh channel % Channel and noise Noise addition y = h.*s + 10^(-Eb_N0_dB/20)*n; % equalization yHat_zf = y./h; % zf equalization yHat_mmse = 1./(h.*conj(h)+ 10^(-Eb_N0_dB/10)).*conj(h).*y; % mmse equalization % receiver hard decision decoding ipHat_zf = real(yHat_zf)>0; ipHat_mmse = real(yHat_mmse)>0; % counting the errors nErr_zf = size(find([ip- ipHat_zf]),2) nErr_mmse = size(find([ip- ipHat_mmse]),2) Can see that nErr_zf and nErr_mmse is the same. Hope this helps. Reply

51 WirelessNewbie September 3, 2009 at 3:43 pm Hi Krishna could you please refer : http://books.google.com/books?id=3DY6OAIGu0kC&printsec=frontcover& source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false (Introduction to Space Time Communications) Which gives a comparison of ZF, MMSE,etc for SISO It shows MMSE is better than ZF for SISO. Regards Reply

16 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

52 WirelessNewbie September 3, 2009 at 3:44 pm Page 141 Reply

53 Krishna Sankar September 9, 2009 at 5:32 am @WirelessNewbie: Sorry, the page 141 is not available from the link you provided. Let me try to get the book from the library, and I will respond. One query: Is the claim that ZF is better than MMSE for SISO for a flat fading channel? Reply

54 Alex December 17, 2008 at 8:14 pm hi there, First, thanks for sharing the understanding of this subject. Regarding the missing part, one can find it on Page 823 in the book, CDMA System Engineering Handbook. It is all about some mathematic manipulations, while the Q(.) function is used to replace the erfc function in the expression. Reply

55 Krishna Pillai December 18, 2008 at 6:15 am @Alex: Thanks. Let me try to get my hands on the book. Reply

56 R.Ramya December 18, 2008 at 7:23 am Sir, I saw your Matlab code for BER_simulation_BPSK_Rayleigh_channel. As Rayleigh channel is modelled as |h| |h|=1/sqrt(2).sqrt(X^2+Y^2)=1/sqrt(2).abs(X+jY) if X & Y are two gaussian R.Vs with zero mean and Variance of 1/2 each. In the Matlab code, % white gaussian noise, 0dB variance n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Rayleigh channel h= 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; My question are: 1.Both the above lines are same ( even though complex guassian R.V.s were used)

17 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Whether the line given below is correct. Rayleigh R.V. h=1/sqrt(2).*abs([randn(1,N) + j*randn(1,N)]); if it is not correct kindly explain me, why abs should be used? 2.After modelling h, from the Power delay profile, we get the Tap weights in dB .(In our case as theory suggest, since flat fading has been used no. of taps will be only one) Shall we convert tap weights in dB to linear scale and multiply with h and txmitted signal s (since inourcase only one tap is being considered for flat fading, convolution becomes multiplication) and add gaussian noise(which is implemented by mutiplying with Guassian Noise with linear scale Eb_No) 3. For flat fading, since the no. of taps is one. my question is whether that particular will occur at 0 microseconds 0r 0 ns i.e., without delay.or shall that tap can occur after some particular delay. Am i correct in this regard. sorry for troubling U sir, as i am struggling to get hold of things right.This is my first sincere effort in learning digital comm conceps clearly. waiting for your reply. Reply

57 Krishna Pillai December 19, 2008 at 6:32 am @Ramya: 1. With the Rayleigh channel, it is assumed that the phase distortion caused by the channel can be uniformly distributed between 0 to 2pi. Hence we model it as independent complex Gaussian random variable for real and imaginary component Please look at http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/ for bit more details. 2. I agree that since we are assuming flat fading, the power delay profile has only one tap. We should scale the variance of channel h in accordance with the gain of the power power delay profile. Note that you should use 10^(-tapWeightdB/20) and not 10^(-tapWeightdB/10) . A quick Matlab/octave code snippet to illustrate: tapWtdB = -15 h = 10^(tapWtdB/20)*1/sqrt(2)*[randn(1,10^4) + j*randn(1,10^4)]; estTapWt = 10*log10(h*h/length(h)) 3. Typically there will be small delay. However, typical receivers will be having a packet detection circuit which can estimate the start of the symbol. Hence for modeling purpose we can assume that there is zero delay. Reply

58 R.Ramya December 18, 2008 at 11:10 pm Sir, I understood & got the answer for the last two questions Which i have posted previously. Please Check Whether the answers are right. question :2

18 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

After modelling has absolute value of complex gaussian R.Vs, from the Power delay profile, we have the Tap weights in dB. Since the variance of rayleigh R.V. h is 1. Tap_weight_db here in our case is = 0 dB. In linear scale its value is 1. Tap_weight = h*(10^(Tap_weight_db)/10 )=h*1=h As per theory,the received signal r is written as r=(Tap_weight * s) + n; question 3: whether the tap (in flat fading)will occur at 0 microseconds 0r 0 ns i.e., without delay.or shall the tap occur after some particular delay? The tap doesnt actually occur at 0 microseconds. These delays are relative to the delay of the tap to which demodulator synchronizes. But my first question was In BER_simulation_BPSK_Rayleigh_channel Matlab Code: given two lines seems to be same n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)];% WGN,0dB variance h= 1/sqrt(2)*[randn(1,N) + j*randn(1,N)];% Rayleigh channel From theory, h=sqrt(X^2+Y^2)=abs(X+jY); Why abs have not been included ? Waiting for your reply. Reply

59 R.Ramya December 20, 2008 at 3:51 pm Thank you for your response sir. In the last post You wrote: Incase of flat fading, Matlab/octave code snippet to illustrate: tapWtdB = -15 h = 10^(tapWtdB/20)*1/sqrt(2)*[randn(1,10^4) + j*randn(1,10^4)]; estTapWt = 10*log10(h*h/length(h)) estTapWt is obtained very close to -15dB. I think length(h) in estTapWt is Normalisation factor. In case of Multiple taps tapWtdB = [0 -20 -21]; tapWtdB_linear=10.^(tapWtdB/20); h = 1/sqrt(2)*[randn(10^4,length(tapWtdB)) + j*randn(10^4,length(tapWtdB))]; taps_weights = h.*repmat(tapWtdB_linear, 10^4,1); z=mean(abs(taps_weights/sum(tapWtdB_linear)).^2);estTapWt=10*log10(z);estTapWt

19 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

estTapWt = -1.5181 -21.4893 -22.5174 PowerdB level is someWhat close to the original tapWtdB. This happens becuase of the Normalisation (1/sqrt(2)) in h line in tha Matlab code. But, if the tapWtdb is [-15 -20 -21]; tapWtdB = [-15 -20 -21]; tapWtdB_linear=10.^(tapWtdB/20); h = 1/sqrt(2)*[randn(10^4,length(tapWtdB)) + j*randn(10^4,length(tapWtdB))]; taps_weights = h.*repmat(tapWtdB_linear, 10^4,1); z=mean(abs(taps_weights/sum(tapWtdB_linear)).^2);estTapWt=10*log10(z);estTapWt estTapWt = -6.3169 -11.3482 -12.2874 Here the difference between the consecutive taps power level (db) is satisfied. estTapWt value is not closer to original original value. My question is Whether the first tap necessarily be 0dB or someother dB value.If we can have some other value of power dB for the first tap then Can U please correct the Matlab code inorder to get original tapWtdB. Reply

60 Krishna Pillai December 25, 2008 at 7:23 am @Ramya: In the case of multiple taps, there are two aspects: 1. Firstly, one would want to normalize each tap such that the relative power is as per the tap weight. This can be accomplished by scaling each tap as in the example which I have shown earlier. 2. Secondly, to normalize the received power, one may want to make the average power from many such channel realizations to unity. Hope this helps. Reply

61 R.Ramya December 28, 2008 at 10:15 pm Sir, Thank you for giving me the hint. As you said, 2.TO NORMALIZE THE RECEIVED POWER, % Calculation of normalization factor to %make the average power of output signal to 1 norm_fact = sqrt(sum(tap_weights_ln.^2)); 1.TO NORMALIZE EACH TAP WEIGHT: I divided taps_weights by sqrt(length(tap_Weight_ln)).

20 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

tapWtdB = [ -5 -10 -15 -20 -25]; tap_weights_ln = 10.^(tapWtdB/20); taps=1/sqrt(2)*(randn(10^4,length(tapWtdB)) + j*randn(10^4,length(tapWtdB))); taps_weights = taps.*repmat(tap_weights_ln, 10^4,1); norm_each_tap_weight=taps_weights/sqrt(length(tap_weights_ln)); norm_fact = sqrt(sum(tap_weights_ln.^2)); taps_norm = 1/norm_fact*norm_each_tap_weight; z=mean(abs(taps_norm ).^2); est_tap_weight_db=10*log10(z) total_path_gain_of_channel=sum(mean(abs(taps_norm).^2,1)) o/p: est_tap_weight_db = -8.6703 -13.5813 -18.6063 -23.6805 -28.6429 total_path_gain_of_channel = 0.1991 Here, the total path gain of the channel is not close to one.(very less comparatively) (but the estimated tap weight is close to the original tapweight(dB) ,ofcourse, its value is less because of normalisation) since,total path gain of the channel is not close to 1. Is it acceptable one Sir? Waiting for your reply. Reply

62 Abrar January 6, 2009 at 8:37 am Hi Kirshna I am away some time from country , now come back and start working. As u made equilization by just dividing the received signal through channel, any other way to equilizing. if channel become zero then wht happen if we used equlization by dividing. I have defined the channel as x=transdata1; taps=3; p1=1; p2=0; p3=0; gain1=sqrt(p1/2)*[randn(1,length(x)) + j*randn(1,length(x))]; gain2=sqrt(p2/2)*[randn(1,length(x)) + j*randn(1,length(x))]; gain3=sqrt(p3/2)*[randn(1,length(x)) + j*randn(1,length(x))]; n=1:length(x); delay1=1; delay2=2; for n=delay1+1:length(x) x1(n)=x(n-delay1); end for n=delay2+1:length(x) x2(n)=x(n-delay2); end transdata=gain1.*x+gain2.*x1+gain2.*x2;

21 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

%Addition of noise noise = 1/sqrt(2)*[randn(1,length(x)) + j*randn(1,length(x))]; % Noise snr = [0:10]; % multiple Eb/N0 values ps=mean(abs(x).^2); % Power of the transmitted signal for i = 1:length(snr) y = transdata + (sqrt(3*ps)*10^(-snr(i)/20))*noise; % At receiver how I equlize it. Reply

63 Krishna Pillai January 10, 2009 at 9:06 am @Abrar: If the channel becomes close to zero, equalization by dividing by the channel results in noise amplification. Reply

64 shoumi January 8, 2009 at 3:24 pm Dear sir At first i want to give you thank for this interesting blog..i go through ur posts of matlab code these are really helpfull for me. As i am a new user of matlab i faced some problem during coding. i will be very grate full to you if u help me to coding this using matlab: Calculate path loss between 3 wireless node.By considering the following parameters: BPSk modulation, AWGN channel, transmitter power 15 dB, frequency 2.4 Ghz, patloss exponent 3, refercence distance 1 km. Assume that one node A is transmitting and 2nd node B is receiving signal,as the 3rd node C is located near to the node B it also recieve some signal . i have to calculate the recieved signal to noise ratio at node B and C. It would be nice if u help me by giving some code or any suggestion. I can not understand how to start Please reply me..i am waiting for your reply with regards shoumi. Reply

65 Krishna Pillai January 10, 2009 at 9:24 am @Shoumi: From your problem statement, it seems like you are looking for finding the path loss from between A to B and A to C. Given that you know the transmit power, path loss exponent, and the distance, it should be reasonably easy to find the received signal power. Once the received power is known, based on the noise floor of each receiver (ideally depending on noise bandwidth), SNR can be computed. The link in wiki on path loss might be helpful http://en.wikipedia.org/wiki/Log-distance_path_loss_model

22 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Hope this helps. Reply

66 shoumi January 15, 2009 at 2:47 pm Thank u for ur reply. Yes i calculate the received power for each node. Now for calculating the SNR for each receiving node ..i have to know the noise at each each receiver. Please inform me what do you mean by noise flooris it AWGN noise???.. Awgn noise is a complex value..and the recived signal is in dBm unit. for calculating the SNR these unit must be samehow can i conver the awgn noise into dBm..Please help me regarding this. Reply

67 Krishna Pillai January 16, 2009 at 6:24 am @shoumi: Yes, the noise is complex. But the noise power can be represented in dBm. For example, assume the receiver bandwidth is 20MHz. The noise floor in dBm = -174+10*log10(20e6) = -101dBm. You may find bit more details on the equation @ http://en.wikipedia.org /wiki/Thermal_noise Hope this helps. Reply

68 Abrar January 11, 2009 at 7:48 am Hi Kirshna i have three taps and showing below the channel description. I produced the delay of one and two samples in 2nd and third taps. can u guide me how I equlize the channel now. x=transdata1; taps=3; p1=1; p2=0.8; p3=0.5; gain1=sqrt(p1/2)*[randn(1,length(x)) + j*randn(1,length(x))]; gain2=sqrt(p2/2)*[randn(1,length(x)) + j*randn(1,length(x))]; gain3=sqrt(p3/2)*[randn(1,length(x)) + j*randn(1,length(x))]; n=1:length(x); delay1=1; delay2=2; for n=delay1+1:length(x) x1(n)=x(n-delay1); end for n=delay2+1:length(x)

23 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

x2(n)=x(n-delay2); end transdata=gain1.*x+gain2.*x1+gain2.*x2; %Addition of noise noise = 1/sqrt(2)*[randn(1,length(x)) + j*randn(1,length(x))]; % Noise snr = [0:10]; % multiple Eb/N0 values ps=mean(abs(x).^2); % Power of the transmitted signal for i = 1:length(snr) y = transdata + (sqrt(3*ps)*10^(-snr(i)/20))*noise; % Thanks. Reply

69 Krishna Pillai January 13, 2009 at 5:52 am @mabrarbari: If I may, I find the code snippet which you have provided bit confusing. Some questions: 1. Why is each path gain1, gain2, gain3 having length of the input vector. I would have thought that each path is a single element. 2. Instead of using the for loops you could have used a convolutional operator. In the code snippet, your channel is not a flat fading channel. Need to formulate the multipath channel as matrix and solve the equation. Reply

70 Abrar January 13, 2009 at 11:03 am Thanks Kirshna; Yes I have created frequency selective fadded channel in which there is a one sample delay in taps.if i made power of tap 2 and 3 zero it becomes flat fadding and zeroforcing equlizer can be used. but if these two taps are used then how i equilize the channel. 1- Can I go for normalize the channel. 2- can u give me any othe alternate to represent frequency selective channel. Take care. Reply

71 Krishna Pillai January 16, 2009 at 6:18 am @Abrar: May I try to provide you a simple Matlab code snippet for equalization in the case of a 3 tap channel. clear all;close all x = 2*(rand(1,7)>0.5)-1 % input sequence h = [ 1 2 3]; % channel op1 = conv(x,h); % output of channel

24 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

hM = toeplitz([h(1) zeros(1,length(x)-1) ], [h zeros(1,length(x)-1) ]); % writing the channel using toeplitz matrix op2 = x*hM ; % finding the output using the matrix multiplication way op1 op2; % verifying that both the outputs are the same. This confirms that toeplitz way of representing h is correct. xHat = op2*pinv(hM) % dividing received symbol with pseudo inverse of the channel to perform equalization The code performs the simple zero forcing equalization. To represent mathematically, the convolution operation is represented as product a vector and a matrix. At the receiver, we divide by the matrix to get the equalized channel estimate. This is described in detail in Chapter 3.4.3 of Digital Communications: Fundamentals and Applications by Bernard Sklar Hope this helps. Reply

72 dean January 11, 2009 at 8:36 am please help me to solve the following writing the matlab code about RCPC code family with memory M = 4 and puncturing period P = 8 and choose overall code rate R = 1/4 with source block size K = 128 bits. it is very urgent for me. if u could do it for me i would be very thankful to you. thanks dean Reply

73 Krishna Pillai January 13, 2009 at 5:45 am @dean: Am sorry, I typically help people in their simulation model development rather than code myself. You may look at the post on convolutional coding, Viterbi decoding and hopefully modify them to suit your requirements. Good luck. Reply

74 Fang January 16, 2009 at 8:50 am Hi! For those who are looking for a more accurate model of the fading coefficients can read the paper by Christos Komninakis and download the program he wrote at: http://www.ee.ucla.edu/~chkomn/RayleighFiles/files.html

25 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Its very accurate for fast fading channels! Reply

75 Krishna Pillai January 17, 2009 at 8:53 am @Fang: Thanks for the link Reply

76 Abrar January 22, 2009 at 10:45 am Hi Kirshna Thanks for ur reply. Please see this code , I am confused how i added the two version of signal received from two Taps with one sample delay.Initially I have done IFFT of the signal with Four subcarriers.Please guide me. x=transdata1; taps=2; p1=1; p2=0.8; gain1=sqrt(p1/2)*[randn(1,length(x)) + j*randn(1,length(x))]; gain2=sqrt(p2/2)*[randn(1,length(x)) + j*randn(1,length(x))]; channel_ifft=ifft([gain1,gain2],length(x)); n=1:length(x); delay1=1; for n=delay1+1:length(x) % Delay of one sample in second tap x1(n)=x(n-delay1); end transdata=channel_ifft.*(x+x1); % confusing here %Addition of noise noise = 1/sqrt(2)*[randn(1,length(x)) + j*randn(1,length(x))]; % Noise snr = [0:10]; % multiple Eb/N0 values ps=mean(abs(x).^2); % Power of the transmitted signal for i = 1:length(snr) y = transdata + (sqrt(3*ps)*10^(-snr(i)/20))*noise; %Addition of Noise %Receiver recdata=y; rx0=recdata.*(1./(channel_ifft)); %Equilizatiom Take care. Reply

77 vasundhara January 29, 2009 at 10:50 pm IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 56, NO. 2, FEBRUARY 2008 213 Soft Handover Overhead Reduction by RAKE Reception with Finger Reassignment

26 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Seyeong Choi, Member, IEEE, Mohamed-Slim Alouini, Senior Member, IEEE, Khalid A. Qaraqe, Senior Member, IEEE, and Hong-Chuan Yang, Senior Member, IEEE AbstractWe propose and analyze in this paper a new finger assignment technique that is applicable for RAKE receivers when they operate in the soft handover (SHO) region. This scheme employs a new version of generalized selection combining (GSC). More specifically, in the SHO region, the receiver uses by default only the strongest paths from the serving base station (BS) and only when the combined signal-to-noise ratio (SNR) falls below a certain pre-determined threshold, the receiver uses more resolvable paths from the target BS to improve the performance. Hence, relying on some recent results on order statistics we attack the statistics of two correlated GSC stages and provide the approximate but accurate closed-form expressions for the statistics of the output SNR. By investigating the tradeoff among the error performance, the path estimation load, and the SHO overhead, we show through numerical examples that the new scheme offers commensurate performance in comparison with more complicated GSC-based diversity systems while requiring a smaller estimation load and SHO overhead. Index TermsFading channels, diversity techniques, RAKE receiver, generalized selection combining (GSC), performance analysis. Reply

78 Leona January 25, 2012 at 6:23 pm Hi I am looking for generalized selection combining for QPSK (or for anything else). Any help please where can I find it? Reply

79 Krishna Sankar January 26, 2012 at 6:27 am @Leona: You can look at the post on Selection Diversity for BPSK case http://www.dsplog.com/2008/09/06/receiver-diversity-selection-diversity/ Reply

80 Arvind February 16, 2009 at 10:06 am Hi Krishna, How do you consider the effect of interference in this simulation ?. Suppose the interference is another BPSK modulated signal. Can you replace SNR with SINR to compute BER ?. Your thoughts, Arvind

27 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Reply

81 Krishna Pillai February 21, 2009 at 7:08 am @Arvind: Yes, the signal can be corrupted by another BPSK modulated signal. However, I would think that the BER performance will be poorer in that case. Reply

82 ranjay February 19, 2009 at 2:32 pm hi.can u plz tell me how can i find the ber of a qpsk in rayleigh fading channel. Reply

83 Krishna Pillai February 21, 2009 at 7:37 am @ranjay: Did you want to try modify the Matlab code for BPSK and extend to QPSK case. Reply

84 Filbert February 22, 2009 at 1:45 pm Hi Krishna, How are you? I hope you are fine. I tried to simulate BER for OFDM transmission via Rayleigh channel. I wonder if in OFDM receiver i need equalization? I did not use equalization and i got poor BER. Thank you Reply

85 Krishna Pillai February 22, 2009 at 2:31 pm @Filbert: Yes, we need equalization. Without equalization, the random gain and phase error introduced by the channel results in high BER. Reply

86 Filbert February 23, 2009 at 9:50 am Khrisna, Thank you for your response. There is a problem about your Matlabs script i do not understand. For Rayleigh channel you write: h = 1/sqrt(2)*[randn(1,N)+j*randn(1,N)] I notice that the formula for h and n (AWGN) is the same. Why?

28 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

I think you just generate random complex number for Rayleigh channel. Is it suppose to have its own model, not just random complex number? Thank you Reply

87 Krishna Pillai February 24, 2009 at 5:34 am @Filbert: Well, the Rayleigh channel can be modeled as independent Gaussian random variables on the real and imaginary compnents. The factor 1/sqrt(2) to normalize the power of h to unity. You may look @ http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/ for bit more details. Further, note that h is multiplied on the transmit signal, whereas n is added to the transmit signal. So the effects of h and n are different. Hope this helps Reply

88 Jamil November 6, 2010 at 12:19 am Hi Krishna.. Good day. You told that sqrt(1/2) is used to make the variance unity. However, in Matlab. by default, when you use randn, it creates gaussian random variables with zero mean and variance 1. So does it really necessary to multiply with sqrt(1/2)? Looking forward to your reply. Thanks. -Jamil Reply

89 Krishna Sankar November 14, 2010 at 10:37 am @Jamil: Recall, we create two random variables, one for real and another one for imaginary. So to make the variance of the total variance to unity, the factor of 1/sqrt(2) is used. Reply

90 Filbert February 24, 2009 at 8:27 am Khrisna, Thank you for your explanation. But i think we should consider the Doppler shift in Rayleigh channel. What do you think? Thank you Reply
29 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

91 Krishna Pillai February 26, 2009 at 5:59 am @Filbert: I have not tried modeling Doppler. Let me try to do some reading and get back to you. Reply

92 Street hawk August 27, 2009 at 7:04 pm The fading considered in your program is Flat and Slow rayleigh fading where there is no doppler spread i.e. max doppler shift (fm=v/lamda) is zero. Am I right? Reply

93 Krishna Sankar September 7, 2009 at 5:14 am @Street hawk: Its flat fading, no doppler spread. However, the channel varies randomly from each symbol. So its fast fading. Reply

94 giro82 December 21, 2009 at 4:10 am I think that if channel is changing every symbol it is mean that it is slow fading (To>Ts, where To- channel coherence time; Ts -symbol duration). Fast fading is when channel is changing several times during symbol (To<Ts).

95 VINCENT February 25, 2009 at 9:19 pm My program is fixed and reference to your program,I am trying to set a topology of M nodes which is 250,and then randomly pick 2 nodes and repeat 1000 times for each time,pick two nodes as tramitter and receiver and tranmsitt N=10^6 bits to the channel between them and calculate error performance.The error performance of the whole network is calculated and sum up all the d gives the total transmission power. Now I would like to assume each node has a total pt= 100 so that for each pick up,each node used some of its energy to transmit and then therefore each node is different with the saved energy.i want to calculate the number of nodes that give zero in pt so that to plot a graph how many nodes alive against the time.my program is below: thank for you help % Script for computing the BER for BPSK modulation in a Rayleigh fading channel clear N = 10^6 % number of bits or symbols % Transmitter ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0

30 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Eb_N0_dB = [-3:96]; % multiple Eb/N0 values %Generate M nodes M=250; x1 = rand(1,M); x2 = rand(1,M); y1 = rand(1,M); y2 = rand(1,M); % initalize the total power totalpwr = 0; for ii = 1:length(Eb_N0_dB) % Channel and noise Noise addition n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Rayleigh channel % randomly pick two nodes and calculate the distance between them i = randint(1,1,[1,100]); u = randint(1,1,[1,100]); d = sqrt((x1(i)-x2(u)).^2 + (y1(i)-y2(u)).^2); d totalpwr = totalpwr+d^4; y = d.^-2.*h.*d.^2.*s + 10^(-Eb_N0_dB(ii)/20)*n; % equalization yHat = y./h; % receiver hard decision decoding ipHat = real(yHat)>0; % counting the errors nErr(ii,1) = size(find([ip- ipHat]),2); end % error performance of the whole network whole_error = sum(nErr)/N; whole_error totalpwr simBer = nErr/N; % simulated ber theoryBerAWGN = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % theoretical ber EbN0Lin = 10.^(Eb_N0_dB/10); theoryBer = 0.5.*(1-sqrt(EbN0Lin./(EbN0Lin+1))); % plot close all figure semilogy(Eb_N0_dB,theoryBer,bp-,'LineWidth,2); hold on semilogy(Eb_N0_dB,simBer,mx-,'LineWidth,2); axis([-3 96 10^-5 0.5]) grid on legend(Rayleigh-Theory, Rayleigh-Simulation); xlabel(Eb/No, dB);

31 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

ylabel(Bit Error Rate); title(BER for BPSK modulation in Rayleigh channel); Reply

96 VINCENT February 27, 2009 at 10:15 pm Hi Kirshna ; could you give me some hints on how to solve the problem or give guideance on how to solve,thank you very much.your help is much considerable as i really frustrated about this question for long Reply

97 Krishna Pillai February 28, 2009 at 7:57 am @Vincent: Sorry, I am not familiar with the scenario which you are proposing (and hence unable to help). Reply

98 VINCENT February 28, 2009 at 10:05 am Krishna, I am glad to receive your reply,however i received your bad news about your reply,but i really dont understand what is the relationship between your familiarity and my scenairo.Since i really dont know how to continue write or fix my program,or may you give some any others useful link or reference so that i know more details about what happened?your reply is appreciate. Reply

99 Krishna Pillai March 1, 2009 at 6:58 am @vincent; I just realized a typo in my message. I wanted to say I was not familiar with the scenario which you presented (and hence unable to help).

100 Kenny March 1, 2009 at 12:13 pm Do you still need the solution to simplify the Pb in Rayleigh Fading? I have the answer. Reply

101 Krishna Pillai March 5, 2009 at 4:27 am @Kenny: Thanks. However, Mr. Jose Antonio Urigen kindly shared his findings. The URL:

32 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

http://www.dsplog.com/2009/01/22/derivation-ber-rayleigh-channel/ Reply

102 Martin March 2, 2009 at 8:47 am Hi~ Who can tell me how to establish communicate with basestation 1*m error rate, m is receiver it is randomly pick one user Please help, I am doing my final year project, i have 1 months only, i still have many tasks havent done yet Reply

103 Krishna Pillai March 5, 2009 at 4:56 am @Martin: You question is vague. Typically, one would want to have the error rate as low as possible. Reply

104 Martin March 3, 2009 at 11:38 am Hi~ Who can tell me how to establish communicate with basestation 1*m error rate, it means 1 transmitter and m receivers it is randomly pick one user Please help, I am doing my final year project, i have 1 months only, i still have many tasks havent done yet Reply

105 Krishna Pillai March 5, 2009 at 5:18 am @Martin: You question is vague. Please state your requirement in bit more details to enable a reader to help. Reply

106 Martin March 10, 2009 at 9:06 am i need to produce a program like this requirement we have m receivers and n users randonly pick one user and communicate with Basestation we need to cal.the 1*m error rate 1 mean 1 transmitter, m is receivers and then run it 10^6 times, find out the error rate

33 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

also in this simulation, we need to use MRC it is a cellular system only. please help me, because i need to produce distributed antenna system also. Please, i have not enough time to produce Reply

107 Martin March 12, 2009 at 10:49 am i try to produce it am i right?? % Script for computing the BER for BPSK modulation in a % Rayleigh fading channel clear N = 10^6 % number of bits or symbols % Transmitter ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0 nRx = [1 2]; Eb_N0_dB = [-3:35]; % multiple Eb/N0 values, ratio of transmission power per bit to noise density x1 = rand; x2 = rand; y1 = rand; y2 = rand; for jj = 1:length(nRx) for ii = 1:length(Eb_N0_dB) n = 1/sqrt(2)*[randn(nRx(jj),N) + j*randn(nRx(jj),N)]; % white gaussian noise, 0dB variance h = 1/sqrt(2)*[randn(nRx(jj),N) + j*randn(nRx(jj),N)]; % Rayleigh channel % Channel and noise Noise addition d = sqrt((x1-x2).^2 + (y1-y2).^2); sD = kron(ones(nRx(jj),1),s); y = d^-2*h.*sD + 10^(-Eb_N0_dB(ii)/20)*n; % equalization maximal ratio combining yHat = sum(conj(h).*y,1)./sum(h.*conj(h),1); % receiver hard decision decoding ipHat = real(yHat)>0;

34 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

% counting the errors nErr(jj,ii) = size(find([ip- ipHat]),2); end end simBer = nErr/N; % simulated ber 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); theoryBer_nRx2 = p.^2.*(1+2*(1-p)); % plot close all figure semilogy(Eb_N0_dB,theoryBer_nRx1,bp-,'LineWidth,2); hold on semilogy(Eb_N0_dB,simBer(1,:),mo-,'LineWidth,2); semilogy(Eb_N0_dB,theoryBer_nRx2,rd-,'LineWidth,2); semilogy(Eb_N0_dB,simBer(2,:),ks-,'LineWidth,2); axis([0 35 10^-5 0.5]) grid on legend(nRx=1 (theory), nRx=1 (sim), nRx=2 (theory), nRx=2 (sim)); xlabel(Eb/No, dB); ylabel(Bit Error Rate); title(BER for BPSK modulation with Maximal Ratio Combining in Rayleigh channel); Reply

108 Krishna Pillai March 21, 2009 at 7:12 am @Martin: Sorry, due to time constraints, its increasingly hard for me to debug the code. Good luck in your algorithm explorations.

109 Krishna Pillai March 21, 2009 at 7:00 am @Martin: Sorry, I am not familiar with the system model which you proposing. Reply

110 wap March 11, 2009 at 2:43 pm hi krishna we meet again .. I have problems,can you help me, 1.what impact BPSK in high frequency? 2.in this script program have one error, I confused.can you fix the error?

35 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

this the program % BER_sic=sim_sic_fn(SNR_dB, P, Nb, code_matrix, chan_type) % return bit error rate of the sic receiver in AWGN or rayleigh fading % % PARAMETER: % SNR_dB=signal-ti-nopise ratio in dB % P=power control vector, P(i)=transmitted power of i-th user % Nb=number of transmitted bit % code_matrix=matrix of the spreading code used % chan_type=channel type(1=AWGN, 2=rayleigh fading channel) % % output: % BER_sic=bit error of the sic receiver % function BER_sic=sim_sic_fn(SNR_dB, P, Nb, code_matrix, chan_type) BER_sic=zeros(size(SNR_dB)); K=length(P); %number of user N=size(code_matrix,2); %spreading factor G(:,1)=code_matrix(33,:); G(:,2:K)=code_matrix(1:K-1,:); %generate the crosscorrelation matrix R R=G*G; for p=1:length(SNR_dB), SNR=10^(SNR_dB(p)/10); SNRchip=SNR/N; disp(processing..) error_count=0; %loop for Nb symbol bits for n=1:Nb, %generate a bernoulli symbol, i.e. b=1 or 0 b=input_symbols(K,1); if chan_type==1 A=sqrt(P); elseif chan_type==2 A=rayleigh(1,K).*sqrt(P); else disp(invalid channel type); dbquit; end %transmitted sinal X=G*(A.*b); %generate the observed data

36 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

r=awgn_chan(x,SNRchip); %assume that the codes are known and that they are %perfectly synchronized %matched filter output y=G*r; %short users according tho their received powers [y_sorted,sort_order]=sort(y.^2); user_index=find(sort_order==1); y_sorted=y(sort_order); A_sorted=A(sort_order); R_sorted=R(sort_order,sort_order); %detect users successively b_hat=zeros(K,1); b_hat(K)=sign(y_sorted(K)); for u=K-1:-1:1, b_hat(u)=sign(y_sorted(u)-sum(A_sorted(u+1:K).*R_sorted(u+1:K,u).*b_hat(u+1:K))); end b_hat(1)=sign(y_sorted(1)-interference_estimate(1)); %if detected symbol is incerrect, increment the error_count %if b_hat(user_index)~=b(1) error_count=error_count+1; end end %carculating Bit Error rate i.e. the percentage of erroneous %symbol estimates BER_sic(p)=error_count/Nb; end thank before. Reply

111 Krishna Pillai March 21, 2009 at 7:07 am @wap: My replies: 1. Hmm I dont think there is impact. By high frequency, were you refering to carrier frequency. 2. Sorry, in general. I refuse to debug the code. If you have explicit qs I can try to answer them. Hope this helps. Reply

112 w@p March 25, 2009 at 5:57 pm

37 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

thank khrishna for your answer.. how in the code_matrix so that the program is replaced with the gold code? gold code so that this function can be called by sic.. thanks Reply

113 Krishna Pillai April 4, 2009 at 7:46 am @ w@p: Sorry, am not familiar with the code which you provided. Thanks. Reply

114 pradip panchal March 18, 2009 at 10:53 pm Hello sir, Sir, I am Student of Research area, working on MIMO Adaptive equalizer, How to start in this area? pls, help me if you have any matlab based simulation plz, send me guidelines. thanks -pradip Reply

115 Krishna Pillai March 21, 2009 at 3:49 pm @pradip: Sorry, I have not tried simulatiing MIMO with adaptive equalizers. Were you looking for a channel tracking scheme? Reply

116 Martin March 19, 2009 at 12:09 pm hi all i have 3 for-loops here for kk=users for jj=receiver for ii=Eb_N0_dB nErr(jj,ii) = size(find([ip- ipHat]),2); end end end

38 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

figure semilogy(Eb_N0_dB,simBer(1,: ,mo-,'LineWidth,2); ..code.. y-axis is bit_error, x-axis is dB if i want to show what the error rate for each useris. What should i put in nErr(??,??)???? Reply

117 Krishna Pillai March 21, 2009 at 3:51 pm @Martin: Maybe you should make a three dimensional matrix. nErr(kk,jj,ii) = size(find([ip- ipHat]),2); Both Matlab and Octave supports multi dimensional matrices. Reply

118 rim March 23, 2009 at 10:01 pm hello every body, I am doing search on multiuser detection and I need some help to simulate CDMA system over multipath rayleigh fading channel, Reply

119 Krishna Pillai March 25, 2009 at 5:47 am @rim: We have not yet written posts on CDMA systems. However, the multiuser detection problem can in general be viewed as a MIMO V-BLAST transmission scenario, where each spatial dimension acts as interferers for the other dimensions. Some equalization structures for a 22 MIMO with V-Blast are discussed in http://www.dsplog.com/tag/mimo Hope this helps. Reply

120 Ahmed March 25, 2009 at 1:45 pm Greetings Krishna. Thank you for all these efforts. I want to ask you if there is a matlab code about using matched filter as an optimum binary detection. How can this simulated?Also equivalently the correlator reciever. How can I simulate the integrator? Thank you very much. Ahmed Reply

39 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

121 Krishna Pillai April 4, 2009 at 7:41 am @Ahmed: Thanks. In most of the simulation models, I have assumed flat fading channels and did not use filtering. However, there are two post on transmit pulse shaping filters: http://www.dsplog.com/2008/04/14/transmit-pulse-shape-nyquist-sinc-rectangular/ http://www.dsplog.com/2008/04/22/raised-cosine-filter-for-transmit-pulse-shaping/ You may modify one of these to adapt to BER computation using matched filtering at receiver. You may simulate the integrator as a convolution function. % example matlab code snippet to show matched filtering with a rectangular tx pulse shaping filter clear all N=7 am = 2*(rand(1,N)>0.5)-1 + j*(2*(rand(1,N)>0.5)-1); % generating random binary sequence fs = 10; % sampling frequency in Hz % recatangular filter gt1 = ones(1,fs); amUpSampled = [am;zeros(fs-1,length(am))]; amU = amUpSampled(:).; % received seqeunce rt = conv(amU,gt1); % matched filter yt = conv(rt,gt1/10); % extracting the samples at = yt(10:10:end-10) err = at-am Hope this helps. Reply

122 R.Ramya March 27, 2009 at 10:08 pm Hi, I want to change it from slow fading to a fast fading. % For Slow Fading, Channel coefficients are the same over block transmission; h_10 = sqrt(1 / 2) * abs(randn + j * randn) * ones(1, N); h_20 = sqrt(1 / 2) * abs(randn + j * randn) * ones(1, N); what should i do for fast fading? (For Fast Fading, Channel coefficients changes from one symbol to the other ) thanks a lot in advance. Reply

123 R.Ramya March 27, 2009 at 10:53 pm

40 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

i got the answer: for which i have posted previously: % For Slow Fading, Channel coefficients are the same over block transmission; h_10 = sqrt(1 / 2) * abs(randn + j * randn) * ones(1, N); h_20 = sqrt(1 / 2) * abs(randn + j * randn) * ones(1, N); % For Fast Fading, Channel coefficients changes from one symbol to the other h_10 = sqrt(1 / 2) * abs(randn(1, N) + j * randn(1, N)); h_20 = sqrt(1 / 2) * abs(randn(1, N) + j * randn(1, N)); But my question is: As we all know small scale fading (based on Doppler spread) is divided in to 1.Slow Fading 2.fast fading for fast fading, there is high doppler spread , channel variations are ofcourse faster than signal variations, coherance time symbol period , channel variations are slower than signal variations How can one write code for simulating doppler spread ???? Can U help me by giving hint.. thanks a lot in advance Reply

124 Krishna Pillai April 4, 2009 at 8:32 am @R.Ramya: I have not tried simulating doppler, hence unable to help. Sorry. Reply

125 mohammed April 2, 2009 at 9:01 pm hi kirshina for both bpsk and ofdm using bpsk on multipath your BER curve is alomst the same,and ofdm is said to superior in multipath can you explaine this to me thanks Reply

126 Krishna Pillai April 4, 2009 at 4:53 pm @mohammed: The BPSK simulation was using flat fading channel and the OFDM simulations, thanks to cylcic prefix is also having a flat fading channel. Hence both the simulations are having identical performance. However, if you modified the BPSK simulation to have a multipath channel, the performance will be much poorer than with OFDM.

41 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Reply

127 mohammed April 5, 2009 at 2:09 pm thanks kirshina modifying BPSK do you mean using channels other than flat fadding for bpsk (give me an example)and OFDM i think is assumed flat fading . thanks once againe Reply

128 Krishna Pillai April 11, 2009 at 6:12 am @mohammed : Yes, channels other than flat fading for BPSK. Reply

129 mohammed April 5, 2009 at 2:14 pm your simulation on the top was for BPSK in multipath and has 35dB at 10-4 which is the same value also for OFDM for multipath.if we were to say OFDM is better we expect to get a value less than this thanks Reply

130 Krishna Pillai April 11, 2009 at 6:13 am @mohammed: As I said in my previous comment in both the cases the signal experiences flat fading. Hence the BER performance is comparable. Reply

131 S. Alam April 6, 2009 at 3:03 am Hello Sir, I am working on multi-relay cooperative communication system. I consider two hop communication and rayleigh fading channel with decode and forward relaying. Could you please send me the matlab program to determine the end-to-end (i.e., from source to relay and from relay to destination)outage probability under different relay selection strategy where all the relay nodes are distributed according to homogeneous Poisson point process in a circle of infinity radius. Reply

132 Krishna Pillai April 11, 2009 at 6:16 am

42 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

@Alam: Sorry, I have not worked on co-operative communications. Reply

133 Assad Abbasi May 22, 2009 at 4:50 pm Dear S,Alam, I am also worikng on multi-hop relay network. I am new in this area and need some help from you. if you can give meur email address please. my email is assad.abbasi@yahoo.com. ill wait for ur reply,plz contzct me on my email. thanks Reply

134 hayle April 8, 2009 at 8:35 am hello sir if we were to extende ofdm to ofdma how do i divide the sub carriers to say two users thanks Reply

135 Krishna Pillai April 11, 2009 at 6:58 am @hayle: Simplistically, I can think of two approaches - interleaved : where all even subcarriers are assigned to one user and odd subcarriers to another user - block : where -ve subcarriers are asisgned to one user and +ve subcarriers to another user. And between these two approaches, there can be lots of permutations possible. Reply

136 Ahmed April 18, 2009 at 4:33 pm Thank you Krishna for all your efforts. The information you have posted about matched filter are very intersting for me Reply

137 wafaa May 5, 2009 at 1:59 pm hi all, im modeling a SUI channel,ive already found a model that gives a matrix of the channel coefficients, but

43 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

i dont know how to add the channel effect to my OFDM modulated signal thanks for anyone gives me a hand Reply

138 Krishna Pillai May 12, 2009 at 5:05 am @wafaa: You can just convolve the ofdm time domain signal with the channel taps. Agree? You may use the code in the post http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/ for reference. Reply

139 fof May 19, 2009 at 12:32 am hii saw youe code for alamouti STBC..its a great one..but i need a simpler one eventhough its too long i dont know how to use functions equivelent to those you used with your code. i need a very simple code using very simole function.. so can anyone help me please?? Reply

140 Krishna Pillai May 20, 2009 at 5:45 am @fof: Good luck. Reply

141 nikitha May 23, 2009 at 9:56 am hi krishna. First i would like to thankyou for answering the questions of all the people like me.. I have written a code for modelling OFDM using BPSK where the channel taps are given by h1=1 h2=0.5 h3=0.3 and i have used awgn channel. I am unable to figure out the mistake i have done in the code.Can u please help me??here is the code nsubc=4; nsym=1; N=nsubc*nsym; SNR=4; a=sign(rand(1,N)-0.5); a_vec=reshape(a,nsubc,nsym) a_fft=sqrt(nsubc)*ifft(a_vec); h=[1 0.5 0.3]; hnorm=h./norm(h); chanipac=[a_fft(nsubc-1,:); a_fft(nsubc,:); a_fft]; for j=1:nsym

44 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

p=chanipac(:,j); chanresp(:,j)=conv(p,hnorm); end; n=1/sqrt(2)*(randn(nsubc+4,nsym)+i*randn(nsubc+4,nsym)); y=chanresp+10^(-SNR/20)*n; for i=1:nsubc cprem(i,:)=y(i+2,:); end; hfreq=fft(h,nsubc); hfreqinv=1./hfreq; hdiag=diag(hfreqinv); o_fft=(1/sqrt(nsubc))*fft(cprem); fde=hdiag*o_fft; o=fde>0; op_vect=2*o-1; op=reshape(op_vect,1,N); ber=size(find(a-op),2) berrat=ber/N Reply

142 Krishna Pillai May 31, 2009 at 8:08 pm @nikitha: I did not probe deeply. However, from a quick look it seems that there are issues in subcarrier assignment. You may refer to the post on BER for BPSK in OFDM with Rayleigh channel @ http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/ Hope this helps. Reply

143 Ideal May 26, 2009 at 10:20 pm Dear Krishna, can you tell me how to plot the power angular profile for an incoming signal. Reply

144 Krishna Pillai May 31, 2009 at 8:30 pm @Ideal: Sorry, am not familiar with modeling angular profile. Reply

145 bluray June 18, 2009 at 5:27 am In the simulation model above, every fading coefficient is uncorrelated and affects only 1 bit. So, is it

45 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

consider as uncorrelated fast fading? What are some of the ways to estimate the channel since we need it for equalization? Reply

146 Krishna Pillai June 21, 2009 at 12:41 pm @bluray: Yes, this is uncorrelated fast fading Typically, there will be a preamble sequence which is known by both transmitter and receiver, using which receiver can form an estimate of the channel. Reply

147 hugh June 24, 2009 at 4:35 pm Hi Krishna, I used your script for BER with FSK modulation in AWGN channel and modified to get BER with FSK modulation in Rayleigh channel. But there is some problem inside, i dont know that, following code which I changed is % Matlab Script for computing the BER for Binary FSK modulation in a Rayleigh fading channel clear N = 10^5 % number of bits or symbols T = 10; % symbol duration t = [0:1/T:0.99]; % sampling instants tR = kron(ones(1,N),t); % repeating the sampling instants Eb_N0_dB = [0:11]; % multiple Eb/N0 values for ii = 1:length(Eb_N0_dB) % generating the bits ip = rand(1,N)>0.5; % generating 0,1 with equal probability freqM = ip+1; % converting the bits into frequency, bit0 -> frequency of 1, bit1 -> frequency of 2 freqR = kron(freqM,ones(1,T)); % repeating x = (sqrt(2)/sqrt(T))*cos(2*pi*freqR.*tR); %generating the FSK modulated signal % noise n = 1/sqrt(2)*[randn(1,N*T) + j*randn(1,N*T)]; % white gaussian noise, 0dB variance h = 1/sqrt(2)*[randn(1,N*T) + j*randn(1,N*T)]; % Rayleigh channel % coherent receiver y = h.*x + 10^(-Eb_N0_dB(ii)/20)*n; % additive white gaussian noise equalization yHat = y./h; op1 = conv(yHat, sqrt(2/T)*cos(2*pi*1*t)); % correlating with frequency 1 op2 = conv(yHat, sqrt(2/T)*cos(2*pi*2*t)); % correlating with frequency 2 % demodulation ipHat = [real(op1(T+1:T:end)) < real(op2(T+1:T:end))]; % nErr(ii) = size(find([ip - ipHat]),2); % counting the number of errors end simBer = nErr/N; theoryBerAWGN = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % theoretical ber EbN0Lin = 10.^(Eb_N0_dB/10); theoryBer = 0.5.*(1-sqrt(EbN0Lin./(EbN0Lin+2))); %theoretical BER % plot

46 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

close all figure semilogy(Eb_N0_dB,theoryBerAWGN,'r-','LineWidth',2); hold on semilogy(Eb_N0_dB,theoryBer,'b-'); hold on semilogy(Eb_N0_dB,simBer,'mx-'); axis([0 11 10^-4 0.5]) grid on legend('theory:AWGN','theory:fsk-coh', 'sim:fsk-coh'); xlabel('Eb/No, dB') ylabel('Bit Error Rate') title('Bit error probability curve') But why the theory and simulation curves are separated each other, they should cling tightly. Can you do me a favour to check and find a problem to get them closely? Thanks, Reply

148 joel July 2, 2009 at 8:56 pm Dear Krishna, I have a question related to Rayleigh Multipath Channel. Lets assume that there is no white noise caused by the channel. Additionaly the transmitted signal will be up-mixed and then down-mixed, exactly as you described in the IQ-Imbalance article, but without the phase imbalance. So the structure looks like this : Guard Insertion -> Up-Convertion -> Multipath Channel -> Down-Convertion -> Guard Removal -> Equalizer The problem is that the received signal is disturbed. Since we have no AWGN, the signal is ideally equalized, right ? So, what can be resposible for the signal distortion , down-converter ? How could I repair the signal then ? Can you see any problems with the transmission/reception path I described ? Regards Joel Reply

149 Krishna Pillai July 6, 2009 at 5:24 pm @joel: The multipath channel causes a phase and amplitude distortion to the channel. That has to be removed (aka equalization) prior to demodulation. I do no see issues with the chain which you have described. Reply

150 joel July 8, 2009 at 1:47 am The thing is, that the equalizer removes the multipath distortion by dividing the output by the

47 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

channel impule response. Since there is no noise, the qualization is ideal , i.e. Y = X*H/H = X. I actually suspected that the down-convertion introduces additional phase rotation which spoils the equalization. I hoped that you negate or confirm my assumptions. Regards Reply

151 Krishna Pillai July 15, 2009 at 4:47 am @joel: What you said is probable. How are you estimating the channel. If you are estimating the channel by defining a known sequence (in frequency domain) at the transmitter, makes it pass through the model which you have described above, then estimate the channel @ the receiver, then the estimated channel will include the effects of multipath + phase rotations which may have occurred. Reply

152 Hemanth July 29, 2009 at 5:14 pm Hi Krishna, When you derived an expression for the average probability of symbol error in a rayleigh channel, you obtained a linear relationship(approximation for higher Eb/N0s) between the logBER and the average Eb/N0(as you have shown in the plots). This derivation gives the average BER for a rayleigh channel with no mention of an EQ anywhere in the derivation. But when you simulate, you are getting the theoretical result of a linear dependence after having used an EQ. Not using an EQ would give very poor BER since the phase of the received points is now uniformly distributed and when you use a BPSK, you would have a only a 50% chance that the transmitted point would be received correctly. So although i understand the importance of using an EQ, what i dont follow is the gap between the theoretical derivation for average BER with no mention of the effects of an EQ, and the simulation which uses it. Please tell me what you think about what im saying. Thanks. Reply

153 Krishna Sankar July 30, 2009 at 5:39 am @Hemanth: You are not correct when you mentioned that the theoretical derivation of BER in Rayleigh channel did not include the effect of equalizer. Recall that, we started of the derivation by assuming that the instantaneous SNR is |h|^2Eb/N0. Its onlu after equalization the instantaneous SNR is |h|^2Eb/N0. Note: y = hx + n After equalization, xhat = y/h = (h*/|h^2|)y = h*(hx+n)/(|h|^2) = (|h|^2x + n)/(|h|^2) Do you agree? Reply

154 Hemanth July 31, 2009 at 10:39 am

48 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Hi Krishna, I agree with your explanation for where the EQ comes in. I was looking at it in a different way which lead to my confusion. It stems from the fact that the instantaneous SNR is (|h|^2)Eb/No, even when the EQ is not used(dont agree with you on this point ) Since y=hx+n, Received signal power = E[(hx)(hx)^h](^h is hermittian), = E((hx)(x^hh^h)], =h(Px)(h^h) =Px(|h|^2) Noise power remains the same as before. So, you can see that the signal energy is scaled by a factor of |h|^2, because of which the received SNR is going to be (|h|^2)Eb/No. So whether or not you use this kind of an EQ(ZFE), your SNR remains the same. I think where we have used the EQ implicitly, is when we say the average BER is obtained by taking an expectation over the old expression for a BPSK ber, i.e. 0.5*erfc(sqrt(gamma))(the instantaneous ber in this case). This has been derived assuming noise adds only along a single direction, while the effect of a random channel(with uniform phase distribution) would be to throw the constellation point anywhere in the signal space. So if you say the instantaneous BER is 0.5*erfc(sqrt(gamma)), then the channel model is x+n or utmost kx+n where k is real and n is Gaussian and using a zfe restores our situation to this model. Tell me if this sounds right to you. Thanks. Reply

155 Krishna Sankar August 5, 2009 at 5:45 am @Hemanth: Some comments: It stems from the fact that the instantaneous SNR is (|h|^2)Eb/No, even when the EQ is not used [krishna] We can have different types of receivers. The most simplest type wont even consider that there was a channel and just do hard decision decoding on the received symbols. We might loose around 50% of the symbols, but still thats one type of receiver. Another receiver type, which does division by the channel h, results in instantaneous SNR of (|h|^2)Eb/No. So your statement that the instantaneous SNR is independent of equalizaton is not correct. This has been derived assuming noise adds only along a single direction [krishna] Its a kinda loose sentence, which I am finding difficult to comprehend. But, yes the noise is additive and not multiplicative. Note that additive noise can result in the transmitted signal to be anywhere in the signal space. Reply

156 lumingui August 10, 2009 at 10:46 am Hi Krishna, When compared to the AWGN case, around 25dB degradation due to the multipath channel (at the

49 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

point). This is both good and bad: bad because we need to spend so much energy to get a reliable wireless link up (in this era of global warming), and good because we signal processing engineers are trying to figure out ways for improving the performance. 1. I think because we signal processing engineers are trying to figure out ways for improving the performance can be undestandbe that if channel estimation is perfect, we can try to combat effect of rayleigh channel and get Ber vs EbN0 much closer to that of AWGN. 2. in your code for BER for BPSK modulation in a Rayleigh fading channel , there is only one rayleigh path, so the channel is flat. % Channel and noise Noise addition y = h.*s + 10^(-Eb_N0_dB(ii)/20)*n; % equalization yHat = y./h; you try to simulate as having a perfect channel estimation and then equalizes it. But the performance is still too far away from that of AWGN. What is the better channel estimation and equalization method for it to get close to performance in AWGN? Reply

157 Krishna Sankar August 11, 2009 at 4:55 am @lumingui: You are right in saying that, in this current simulations where we know the perfect channel and equalization, we are having optimal performance. However, think about the case where we have (a) Multiple receive antennas. http://www.dsplog.com/2008/09/28/maximal-ratio-combining/ Maximal Ratio Combining and bring down the BER by quite a bit. And theoretically, if we have infinite receive antennas, I think we reach close to AWGN performance (b) Multiple transmit antennas with Beamforming http://www.dsplog.com/2009/04/13/transmit-beamforming/ (c) Multiple transmit antennas with Space Time Block Coding (STBC) http://www.dsplog.com/2008/10/16/alamouti-stbc/ Does this answer your concern? Reply

158 lumingui August 11, 2009 at 12:05 pm ok. What you said is one of solution for it. After I read sklars book again for fading, I know the anwser , thanks! Reply

159 vikas September 3, 2009 at 6:31 am hi I have a doubt.within coherence time channel coffecients are constant if I am correct than why we are multiplying each data bit by rayleigh variable..?? h = 1/sqrt(2)*[randn(nTx,N) + j*randn(nTx,N)]; % Rayleigh channel

50 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

sr = (1/sqrt(nTx))*kron(ones(nTx,1),s); % Channel and noise Noise addition hEff = h.*exp(-j*angle(h)); y1 = sum(h.*sr,1) + 10^(-Eb_N0_dB(ii)/20)*n; please reply Reply

160 Krishna Sankar September 8, 2009 at 5:44 am @vikas: My replies: 1/ within coherence time channel coffecients are constant [krishna] yes, channel coefficients are almost the same 2/ why we are multiplying each data bit by rayleigh variable..?? [krishna] rayleigh variable corresponds to channel coefficients. these coefficients remain the same for the coherence time duration Reply

161 M_abs September 7, 2009 at 6:53 pm Dear Krishna Sankar, your posts helps me a lot. I want to how can i find the BER equation for 16-QAM and QPSK over the RAYLEIGH channel ? please help me. Reply

162 Krishna Sankar September 9, 2009 at 5:51 am @M_abs: You may modify the modulated variable s to correspond to QPSK/16QAM respectively. Make sure that you have the corresponding demodulators too. You may refer to http://www.dsplog.com/2007/11/06/symbol-error-rate-for-4-qam/ http://www.dsplog.com/2007/12/09/symbol-error-rate-for-16-qam/ http://www.dsplog.com/2008/06/05/16qam-bit-error-gray-mapping/ Reply

163 mak_m September 9, 2009 at 3:18 pm can u plz tel me how did u drive the formulafor ber of bpsk in rayleigh channelcan i get further explanation can u plz telme the source of it thanks in advance gud work keep it up Reply

51 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

164 Krishna Sankar September 10, 2009 at 6:56 pm @mak_m: I am referring Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt Reply

165 mak_m September 17, 2009 at 9:21 pm thanks , hi krishna can u plz tel mei m really confused .can u plz tell me ray leigh channel used in BER for BPSK(single tap) is different from ber for bpsk ofdm(10tap) but their graphs are same they both are f lat fadding?right but if the ber of bpsk is same as ber of bpsk in ofdm in , then y did we use ofdm ..can u plz tell me which channel model shuld i use so i can show the performance improvement due to ofdm which i cant see in both of ur programs tel me which channel model shuld i use in case of bpsk without ofdmie to degrade the ber of ur simulation.. ihave gone through all the comments but didnt find the answers.. thanks in advance waiting for ur reply Reply

166 Krishna Sankar September 18, 2009 at 5:58 am @mak_m: 1/ Thanks to OFDM, even though we have a 10-tap frequency selective channel, each subcarrier experienced a flat fading channel. Hence the performance of flat fading BPSK is comparable to OFDM performance. 2/ If we do not use OFDM, the performance for BPSK in a 10 tap channel will be much poorer due to inter symbol interference. Hope this helps. Reply

167 mak_m September 28, 2009 at 3:16 am thanks very much for replying i doo agree with ur comment however i dint get my answer yet can u plz tell me the code for channel model for bpsk tht is frequency selective channel (u have done it with flat faing) ? with the help of this i can compare the ber of bpsk with rayleigh as compared to ber of bpsk rayleigh ofdm .so i can show how effectiev ofdm is in frequency slective channel. can i use the same 10tap model used in ur code for bpskofdm in the case of bpsk only.. or i shuld use some other code..? plz help me

52 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

thanks Reply

168 Krishna Sankar October 1, 2009 at 5:21 am @mak_m: 1/ Yes, with OFDM, the 10 tap channel is in effect gives same performance as flat fading channel 2/ You can use 10 tap channel with BPSK modulation. However, you need to do pulse shaping etc at the transmitter. Reply

169 Kirankumar Palthi October 21, 2009 at 4:21 pm HI Krishna, I sent you an email regarding my project. Please reply to that mail. Reply

170 amit October 28, 2009 at 9:21 am i m very satisfy to this site, bcause it is very hepful to me to make mmy project. if u have qpsk matlab code for BER then plz send me . Reply

171 Krishna Sankar November 8, 2009 at 7:39 am @amit: Thanks. For QPSK, plz refer http://www.dsplog.com/2007/11/06/symbol-error-rate-for-4-qam/ Reply

172 Sara November 3, 2009 at 7:24 pm Hi Krishna I have a problem in my m.file that i sent to your email.I want you to help me about this problem. thank you. Reply

173 Krishna Sankar November 8, 2009 at 8:41 am

53 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

@Sara: I will take a look. Sorry for the delay. Reply

174 Sara November 3, 2009 at 7:38 pm Hi Krishna I have a problem in my m.file.I produce a symbol strean by x=randint(N,1,M) where M is the order of modulation, the fading channel by H=sqrt(0.5)*(randn(N,1)+j*randn(N,1)).In this state the channel is changing every one bit(if M=2), is this true?I think it is not possible in real systems.What should i do if I want to keep the channel fixed in every coherence time of channel?How can i write the m-file of this issue? help me please. thank u. Sara Reply

175 Krishna Sankar November 8, 2009 at 8:45 am @Sara: Well, the most simplest way would be to keep the same channel for a group of symbols, then use an independent realization for the next group of symbols. If we want t make the channel evolve over time, then it becomes slightly more sophisticated. I have not yet discussed that. Reply

176 Puripong November 8, 2009 at 8:53 am Hi Krishna Sankar My name is Puripong, I a student from Thailand. Im looking for the introduction to simulate BER performance in Rayleigh fading channel and this is a very nice post {BER for BPSK in Rayleigh channel}. I found 25dB degradation when compared to BPSK-AWGN Thank you very much. I have some question about h, Why does the real and imaginary parts must have variance equal to 1/2 ? Could you give me an explaination or some reference textbooks for this question ? Reply

177 bopuhafs November 12, 2009 at 9:06 pm 10^(-Eb_N0_dB(ii)/20) ; pourquoi utiliser le moin - Reply

54 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

178 Krishna Sankar December 3, 2009 at 5:19 am @bopuhafs: To make the noise power to be lower than the signal power Reply

179 student November 19, 2009 at 1:24 am hi i was trying to simulate BER for BPSK using Rayleigh fading channel. But the difference is, I need to follow the steps, 1. Generate BPSK-modulated random data for the desired signal and interfering users. 2. Generate the independent complexed Gaussian random vectors and multiply them with the corresponding covariance matrix represented by J0(x) (i.e., Jo(2*pi*d) where d is the ratio of the spacing between the two adjacent antennas to the wavelength) to get the correlated Rayleigh fading channel. 3. Generate complexed AWGN 4. Make hard-decision on the desired signal to get the BER. And the algorithm you have followed says: Simulation Model (a) Generate random binary sequence of +1s and -1s. (b) Multiply the symbols with the channel and then add white Gaussian noise. (c) At the receiver, equalize (divide) the received symbols with the known channel (d) Perform hard decision decoding and count the bit errors (e) Repeat for multiple values of and plot the simulation and theoretical results. My question is, in the 2nd step, i am multipying the symbols with covariance matrix to obtain Rayleigh fading channel, and then in step 3, i am generating AWGN. whereas, you are multiplying the symbols with the channel and then adding AWGN to it. Do both the simulations yield similar results? Can you please make me understand the difference. Reply

180 Krishna Sankar December 6, 2009 at 4:15 pm @Student: In my simulation model, the channel is independent flat fading Rayleigh channel which is applied to a single users transmission and then we add awgn to it. For your case, its bit more complex. We need to have a) Generate output of channel for desired user by using flat fading independent Rayleigh channel b) Generate output of channel for undesired user by using correlated flat fading Rayeligh channel c) Add (a) and (b), and then add awgn. So, your results will be poorer due to the additional interference from the undesired user.

55 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Good luck. Reply

181 usha November 20, 2009 at 5:48 am Hello sir, The posts here are very useful. great job. Presently,I am working on a IEEE paper On the Impact of SNR Estimation Error on Adaptive Modulation . Here is th link http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01437347 But, I got stuck with the silmulation of the imperfect SNR Estimation. I need to plot the fig.1 i.e; Estimated SNR vs pdf basing on the theoritical equations stated under imperfect SNR Estimation. can u please help me with the simulation ?? Thank You. Reply

182 Krishna Sankar December 6, 2009 at 4:19 pm @usha: Sorry, due to time constraints, may I decline to help with the simulation. Good luck. Reply

183 Obinna O November 26, 2009 at 1:34 am Krishna Pillai, Hello Sir, I was asked to assume Rayleigh fading channel with BPSK modulation. Using MAT-LAB plot bit error probability (BEP) under coherent and non-coherent de-tection. Your gures should include plots from both analysis and simulation.Use average SNR (complex) from -5 to 20 dB. I am having difficulty writing the code for non coherent, I have been able to write the code for coherent detection. Please assist me in this. Reply

184 Krishna Sankar December 7, 2009 at 4:39 am @Obinna O: Hope you have finished the project by now. Reply

185 Obinna O November 30, 2009 at 7:05 pm

56 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Krishna Pillai, Hellos sir, I am told to assume Rayleigh fading channel with BPSK modulation. Using MATLAB plot bit error probability (BEP) under coherent and non-coherent detection when receiver is equipped with three antennas to exploit diversity. Your figures will include plots from simulation. Use average SNR (complex) from -5 to 20 dB. Please help me resolve this, thank you so much Reply

186 aissou December 1, 2009 at 4:22 pm 10^(-Eb_N0_dB(ii)/20): help me please wy you used teh signe negatif in( -Eb_N0_dB(ii)/20), and dont Eb_N0_dB(ii)/20 thanks Reply

187 Krishna Sankar December 7, 2009 at 4:59 am @aissou: The negative sign came as I am scaling the noise voltage. I am keeping the signal swing the same and reducing the swing of noise voltage to simulate various Eb/N0 values. Reply

188 aissou December 1, 2009 at 4:22 pm 10^(-Eb_N0_dB(ii)/20): help me please wy you used teh signe negatif in( -Eb_N0_dB(ii)/20), and dont Eb_N0_dB(ii)/20 thanks Reply

189 student December 1, 2009 at 10:08 pm Hello I am working on a paper in which i am trying to plot ber for bpsk using rayleigh channel. but, the thing is, i need to use estimated SNR including the pilot symbols and noise samples as parameters. I tried with the corresponding SNR estimate equations in the paper, but, i am experiencing constant BER. I have followed the same steps posted by you in BER for BPSK in Rayleigh channel to produce the rayleigh output and later used estimated SNR to calculate BER, so that i can vary pilot symbols(N) and Noise samples(L). But, i am stuck. can you please refer my paper and guide me, whether i am in right way..??

57 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01437347&tag=1 Reply

190 Krishna Sankar December 7, 2009 at 5:04 am @student: Sorry, due to time constraints I wont be able to help with the coding part. Good luck. Reply

191 prabag December 7, 2009 at 11:52 am Hi I would like to know that how IFFT makes signls to be orthogonally modulated in OFDM..also when we give 1s and 0s as input to IFFT block the o/p is complex valueand some of them are very close to zero..for eg for 1 it is 0.012+j0.032suppose if this is transmitted thro severely faded channel still there is a possibility that these signal might get into deep fade..so at the receiver there might be a problem in decoding the data as detector would decide upon the quantized value Reply

192 Krishna Sankar December 8, 2009 at 5:27 am @prabag: When we are doing IFFT, we are loading information on subcarriers exp(jwt), exp(j2wt) and so on you may find a detailed discussion at http://www.dsplog.com/2008/02 /03/understanding-an-ofdm-transmission/ At the receiver, we are not going to look at the time domain samples and attempt demodulation. We take the fft and look at the fft output prior to attempting demodulation http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/ Reply

193 mat_ad December 29, 2009 at 1:16 am Hi How r u ? hope fine. I m very satisfy to this site, because it is very helpful to me to make my project. if u have QPSK matlab code for BER in Rayleigh channel, pls send me. thanks. Reply

194 samalqudah January 11, 2010 at 6:10 pm hello mr. krishna, i would ask you a question regarding the rayleigh channel. how can i generate Rayleigh channel impulse response as ready numbers to be used in a program without using the rand()+j*randn() commands. in other

58 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

words, i dont want to have a loop or large number of symbols to get the plot of the prob. of error. I want to have a table of values for channel impulse response to be used for simulating a MIMO system. some papers do list down in a table the channel as complex values between each transmit and receive antenna to get a MIMO channel matrix, how did they get such values? this is exactly my question. Reply

195 zaffar January 16, 2010 at 6:31 pm Hi Krishna, I hope you are doing well. I am simulating 16 QAM in a Rayleigh channel and am trying to compute the SER(& BER). I need to verify my results using the theoretical formula. Can you kindly tell me the formula of SER for 16 QAM in Rayleigh channel? I shall be grateful Thanking in advance, Zaffar Reply

196 samta January 19, 2010 at 5:18 pm hi kishna.. I am working in turbo decoding.my recieved signal is effected by AWGN noise and reyleigh fading. which is in thae same formate which u have taken like hS+W. My problem is that i want the exact expession of probability of error for QPSK. Whatever u have derieved is for BPSK case.Can u derive it or please give me some hint. Anyways as u asked the full mathematical concept of ur expression of BER for BPSK,u can go through my thesis supervisors book,named by DIGITAL COMMUNICATION AND SIGNAL PROCESSING BY K.VASUDEVAN. hope this will help u and waiting for ur responce. Reply

197 sinto February 4, 2010 at 8:11 pm Hi Sir,, in book Fundamental of Wireless Communication (by Tse and Viswanath) Rician fading modeled as: h = sqrt(K/(K+1))*line_of_sight_signal + sqrt(1/(K+1))*reflected_and_scattered_signal K = K-factor From the above equation, i have modified your code (rayleigh channel) in order to simulate ricean channel. % generating 0,1 with equal probability ip = rand(1,N)>0.5; % BPSK modulation 0 -> -1; 1 -> 0 s = 2*ip-1;

59 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

% Rician channel h = 1/sqrt(2)*(sqrt(K/(K+1))*s + sqrt(1/(K+1))*(randn(1,N) + j*randn(1,N))) is this code correct? please help me.. thanks Reply

198 Krishna Sankar April 4, 2010 at 4:21 am @sinto: Well, from a quick look it does not seem to be right. Reply

199 Sanket February 9, 2010 at 8:53 pm Hi Krishna, I have a little query..In your MATLAB program of calculating BER for BPSK in raleigh fading Channel,while calculating you have used yhat=y./h; Is it OK to divide y by h as above, as it may lead to severe noise amplification as h is a random variable and may take any value? Thanks. Reply

200 Krishna Sankar April 4, 2010 at 4:09 am @Sanket: You are right, it can indeed result in noise amplification Reply

201 samalqudah February 14, 2010 at 10:34 pm hello mr. krishna, i would ask you a question regarding the rayleigh channel. how can i generate Rayleigh channel impulse response as ready numbers to be used in a program without using the rand()+j*randn() commands. in other words, i dont want to have a loop or large number of symbols to get the plot of the prob. of error. I want to have a table of values for channel impulse response to be used for simulating a MIMO system. some papers do list down in a table the channel as complex values between each transmit and receive antenna to get a MIMO channel matrix, how did they get such values? this is exactly my question Reply

60 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

202 kadir February 18, 2010 at 3:54 pm Can you distinguish clearly correlated and uncorrelated Raykeigh Channel and how are they formed from awgn? How to implement BER simulation for correlated and uncorrelated Rayleigh Channel? Reply

203 Krishna Sankar March 31, 2010 at 5:40 am @kadir: AWGN is an additive noise whereas as the channel is a multiplicative noise. For uncorrelated channel, the channel varies for each symbol. For correlated channel, the channel varies slowly across symbols Reply

204 Saurabh February 28, 2010 at 3:42 am hi, I have similar kind of project to do but in my project prof is asking to plot BER of BPSK i.e. BER vs . Does it look different from when we plot it against Eb/No? Reply

205 Krishna Sankar March 30, 2010 at 4:57 am @Saurabh: What is y? Reply

206 FERNANDO March 9, 2010 at 10:58 pm Hi friend, please, I do not understand why the BER of BPSK in Rayleigh channel is equal to the BPSK OFDM in Rayleigh channel. Thank you very much. Reply

207 Krishna Sankar March 29, 2010 at 6:48 am @FERNANDO: In this simulation model, even though we have a 10-tap multipath channel, as the channel duration is less than the cyclic prefix (of 16 samples), we do not have inter symbol interference. Each subcarrier experiences flat fading as in the BER of BPSK in Rayleigh channel case. Hence the BER is identical. Reply

61 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

208 bijoy babu March 14, 2010 at 5:54 am hey i just had a look on the matlab code that you posted.. http://www.dsplog.com/db-install/wp-content/uploads/2008/08/script_ber_bpsk_rayleigh_channel.m % Transmitter ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0 correct me if i am wrong..cos i am new to matlab and to this topic i have very less knowledge.. i checked the output for n=10 ip =1 0 0 1 0 1 1 1 0 0 s =1 -1 -1 1 -1 1 1 1 -1 -1 please help me out.. cheers bijoy Reply

209 Krishna Sankar March 28, 2010 at 3:40 pm @bijoy babu: Yes Reply

210 dolly April 13, 2010 at 2:53 pm hii sir how to get rayleigh channel using BPSK modulation & adding AWGN noise by usingg taps.actually what is tap? & why it should be used in rayleigh channel? Reply

211 Krishna Sankar April 14, 2010 at 4:40 am @dolly: A signal transmitted over air can reach the receiver through different paths. The gain and phase information corresponding to each path is notionally stored as tap. In this post, I have assumed a single tap Rayleigh channel I have discussed briefly on a) Rayleigh channel @ http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/ b) 3 Tap fixed ISI channel with ZF equalization http://www.dsplog.com/2009/11/29/ber-bpsk-isichannel-zero-forcing-equalization/ Reply

212 Rebecca April 13, 2010 at 6:00 pm

62 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Hi Krishna, Do u have any topic related to BER for BPSK in Rician channel? Id like to know how to write (matlab code) for Rician Tks. Reply

213 Krishna Sankar April 14, 2010 at 4:41 am @Rebecca: Sorry, I have not discussed Rician channel Reply

214 Tuyen Tran June 12, 2010 at 6:52 pm I simulate 16QAM modulation (no coding) over Rayleigh channel, I want to change profile of channel, so I write: chan = stdchan(1/Rb,150,cost207RAx4); chan.PathDelays = [0, 0.2*1e-6, 0.4*1e-6, 0.5*1e-6]; chan.AvgPathGaindB = [0, -2, -10, -16]; chan.NormalizePathGains = 1; chan.ResetBeforeFiltering = 0; I need your help, could you show me I am wrong or right? Reply

215 Krishna Sankar June 14, 2010 at 6:10 am @Tuyen Tran: I do not have matlab, hence unable to comment on the stdchan() function. But in general, your code seems to be correct. Make sure that you convolve your time domain samples with the channel taps. Reply

216 Tuyen Tran June 19, 2010 at 6:40 pm Thank you for your respone! Reply

217 Tom June 14, 2010 at 7:23 am what is meant by a power limited in communication system. Reply

63 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

218 Krishna Sankar June 21, 2010 at 5:52 am @Tom: A system where we cannot transmit very high power (due to battery/size limitations etc) Reply

219 Hassan Moradi August 2, 2010 at 11:57 am in the expression for y, I think you should use y=|h|x+n instead of using y=hx+n. Right? Reply

220 Krishna Sankar August 3, 2010 at 6:02 am @Hassan Moradi: No. The channel can distort the phase and amplitude of the transmit signal Reply

221 nico October 28, 2010 at 1:05 pm Hello Mr. Krishna, Im trying to simulate frequency non-selective rayleigh fading channel like you did, but including the path loss (PL in dB) between two nodes. So instead of having complex number h (channel) with the real and imaginary parts are Gaussian distributed random variable having mean 0 and variance 1/2, the variance became var = 1/(2*10^(PL/20)) Is this correct? Thank you. Reply

222 Krishna Sankar November 19, 2010 at 5:53 am @nico: The variance should use factor of 1/10. var = 1/(2*10^(PL/10)). Agree? Reply

223 Hasan Thiabat December 2, 2010 at 3:32 pm thank you Mr krishna Reply

64 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

224 shu May 18, 2011 at 12:14 am hi krishna sir I saw ur example of ber -bpsk-rayleigh channel but i need the the qpsk for the rician channel I dont know coding sir so please help me sir give some hints where to change thats enough for me sir . Reply

225 Krishna Sankar May 23, 2011 at 2:46 am @shu: My replies: 1/ For QPSK, send data on I channel as well as Q channel 2/ I have not discussed Rician channel model Reply

226 seshu May 18, 2011 at 3:50 pm Hi sir , I saw ur Ber_bpsk_reyleigh program i gone through that link but dont know how to send the data in the qpsk can u please help me and tell some hints about the rician channel.please sir Reply

227 Krishna Sankar May 23, 2011 at 2:39 am @seshu: My replies: 1/ For QPSK, send data on I channel as well as Q channel 2/ I have not discussed Rician channel model Reply

228 Colin O'Flynn December 14, 2011 at 5:16 am Perhaps you found this out a while back, as this is an older post, but a description of the evaluation of that integral is found in section 5.1 (pg 99-101) of the book Digital Communication Over Fading Channels by Marvin Simon. Reply

229 Krishna Sankar January 4, 2012 at 5:47 am @Colin: Thanks. Yes, indeed found the derivation. I do not have the book handy, but will try to get it

65 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Reply

230 Nam Nguyen January 5, 2012 at 6:55 am Hello Mr. Krishna, Why the theory and the simulation of Rayleigh channel in ber-bpsk-rayleigh is same but in ber-16qamrayleigh is so different? Reply

231 Krishna Sankar January 6, 2012 at 6:12 am @Nam: Well, the 16QAM is more error prone when compared to BPSK. Reply

232 ammar January 23, 2012 at 6:50 pm Hi Krishna you are a very helpful man .. i just want to ask you if you deal with matlab function that creat rayleigh channel >> name (rayleighchan) its a good function .. and have a many optional parameter thank you >> i will check your blog daily Reply

233 Krishna Sankar January 26, 2012 at 6:19 am @ammar: Thanks. I do not have the function rayleighchan() handy Reply

234 Krishna Sankar December 23, 2009 at 5:46 am @giro82: In this simulation, the channel changes every symbol Reply

235 FERNANDO March 12, 2010 at 4:54 pm Khishma, please, BER BPSK OFDM in raileigh channel should be better than BER OFDM in Rayleigh channel? Explain? Please. Thank you very much.

66 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Reply

236 FERNANDO March 12, 2010 at 6:35 pm Khishma, please, BER BPSK OFDM in raileigh channel should be better than BER BPSK in Rayleigh channel? Explain? Please. Thank you very much. Reply Reply

237 Krishna Sankar March 28, 2010 at 3:44 pm @FERNANDO: Due to the cyclic prefix, OFDM can handle mutipath channels better http://www.dsplog.com/2008/02/17/cylcic-prefix-in-orthogonal-frequency-division-multiplexing/ http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/ Reply Leave a Comment Name * E-mail * Website

Notify me of followup comments via e-mail

{ 6 trackbacks } BER for BPSK in OFDM with Rayleigh multipath channel MIMO with Zero Forcing equalizer BER for BPSK in Rayleigh Channel Overblazes Impact MIMO with MMSE equalizer BER for BPSK in ISI channel with Zero Forcing equalization BER for BPSK in ISI channel with MMSE equalization Previous post: Negative Frequency Next post: Receive diversity in AWGN

67 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Server not found


Firefox can't find the server at www.facebook.com.
Check the address for typing errors such as ww.example.com instead of www.example.com If you are

Comment
tuncay ince on Maximal Ratio Combining (MRC) Krishna Sankar on Symbol Error Rate (SER) for QPSK (4-QAM) modulation Krishna Sankar on Download free e-book on error probability in AWGN Myaki on Symbol Error Rate (SER) for QPSK (4-QAM) modulation Alex on Download free e-book on error probability in AWGN Krishna Sankar on Viterbi decoder Krishna Sankar on BER for BPSK in ISI channel with MMSE equalization

Subscribe
Subscribe via RSS Subscribe via email

Ads by Google

MATLAB Control Bit Error Rate DP QPSK

Tag
16-PSK 16-QAM

802.11a Alamouti

AWGN BPSK Capacity

CDF conference convolution CORDIC

Diversity eye diagram


Nyquist

first order frequency offset FSK Gray IISc interpolation latex machine_learning magnitude MIMO ML MMSE MSK

OFDM orthogonal PAM PAPR pdf phase PSK pulse shaping QAM raised cosine Rayleigh SIC sigma delta STBC
68 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

TETRA transmitter Viterbi ZF

Categories

Archives

Kindle Keyboard, Wi-Fi, 6" E Ink Dis... Amazon.com Buy New

Privacy Information

Top Rated posts


Bit Error Rate (BER) for BPSK modulation - 41 votes BER for BPSK in OFDM with Rayleigh multipath channel - 28 votes BER for BPSK in Rayleigh channel - 26 votes Alamouti STBC - 22 votes Maximal Ratio Combining (MRC) - 21 votes Download free e-book on error probability in AWGN - 20 votes Rayleigh multipath channel model - 18 votes Understanding an OFDM transmission - 16 votes MIMO with MMSE equalizer - 16 votes Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK - 16 votes

69 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

Recent Posts
Least Squares in Gaussian Noise Maximum Likelihood Symbol Error rate for QAM (16, 64, 256,.., M-QAM) Newtons method to find square root, inverse Closed form solution for linear regression Stochastic Gradient Descent

DSP
ANALOG & DSP Complex to Real DSP blog DSP DesignLine DSP Guide DSP Tutor DSPRelated Octave Octave-Forge
70 of 71

03/02/2012 2:18 AM

BER for BPSK in Rayleigh channel

http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/ Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only.

FPGA
FPGA Central

General
Amit Agarwal Digital Inspiration Enchanting Kerala Get smart with the Thesis WordPress Theme from DIYthemes. dspLog - All rights reserved. Copyright 20072012 No content on this site may be reused in any fashion without written permission from http://www.dspLog.com.

71 of 71

03/02/2012 2:18 AM

You might also like