You are on page 1of 22

# Viterbi decoder

http://www.dsplog.com/2009/01/04/viterbi/

Home About Articles Contact Advertise Subscribe DSP log Signal Processing for Communication

Translate

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

Metric

Bit Error Rate

Ber

Binary Signals

(3 votes, average: 5.00 out of 5) Print

Viterbi decoder
by Krishna Sankar on January 4, 2009
Shell Marine Products Supplier of Marine Fuels/Lubricants For Marine Industry Worldwide
www.shell.com/marine

Coding is a technique where redundancy is added to original bit sequence to increase the reliability of the communication. Lets discuss a simple binary convolutional coding scheme at the transmitter and the associated
1 of 22

11/22/2011 9:53 PM

Viterbi decoder

http://www.dsplog.com/2009/01/04/viterbi/

Viterbi (maximum likelihood) decoding scheme at the receiver. Update: For some reason, the blog is unable to display the article which discuss both Convolutional coding and Viterbi decoding. As a work around, the article was broken upto into two posts. This post descrbes the Viterbi decoding algorithm for a simple Binary Convolutional Code with rate 1/2, constraint length and having generator polynomial . For more details on the Binary convolutional code, please refer to the post – Convolutional code

Viterbi algorithm
As explained in Chapter 5.1.4 of Digital Communications by John Proakis for optimal decoding for a modulation scheme with memory (as is the case here), if there are coded bits, we need to search from possible combinations. This becomes prohibitively complex as becomes large. However, Mr. Andrew J Viterbi in his landmark paper Error bounds for convolutional codes and an asymptotically optimum decoding algorithm, IEEE Transactions on Information Theory 13(2):260–269, April 1967 described a scheme for reducing the complexity to more managable levels. Some of the key assumptions are as follows: (a) As shown in Table 1 and Figure 2 (in the article Convoutional Code) any state can be reached from only 2 possible previous state. (b) Though we reach each state from 2 possible states, only one of the transition in valid. We can find the transition which is more likely (based on the received coded bits) and ignore the other transition. (c) The errors in the received coded sequence are randomly distributed and the probability of error is small. Based on the above assumptions, the decoding scheme proceed as follows: Assume that there are coded bits. Take two coded bits at a time for processing and compute Hamming distance, Branch Metric, Path Metric and Survivor Path index for times. Let be the index varying from 1 till . Hamming Distance Computation For decoding, consider two received coded bits at a time and compute the Hamming distance between all possible combinations of two bits. The number of differing bits can be computed by XOR-ing with 00, 01, 10, 11 and then counting the number of ones. is the number of 1′s in is the number of 1′s in is the number of 1′s in is the number of 1′s in Branch Metric and Path Metric Computation As stated prior, each state can be reached from two possible states (shown by red and blue lines respectively). Branch metric is the sum of the path metric of the previous state and the hamming distance required for the transition. From the two avaiable branch metrices, the one with minimum branch metric value is chosen. This operation is also referred to as Add Compare and Select (ACS) unit. Note:
2 of 22

11/22/2011 9:53 PM

For index = 1. The branch metric for this transition is. . path metric for each state is equal to branch metric as the other branch is not valid. we can chose one among the the branches and proceed. For index = 2. Starting from index =3.dsplog. 2. 3. State 01 (from State 10). In that scenario. 3 of 22 11/22/2011 9:53 PM . (b) State 01 with output 11. 4. path metric for each state is equal to branch metric as the other branch is not valid. . Typically. branch metric for State 00 (from State 00) branch and State 10 (from State 00) can only be computed.Viterbi decoder http://www. The path metric for state 00 is chosen based which is minimum out of the two.com/2009/01/04/viterbi/ 1. In this case. Its possible that two branch metrices might have the same value. State 10 (from State 00) and State 11 (from State 10) can only be computed. branch metric for State 00 (from State 00) branch. Convolutional coder always starts from State 00. In this case too. 5. each state has two branches and the need to do Add Compare and Select arises. The Viterbi decoder also assumes the same. Branch Metric and Path Metric computation for Viterbi decoder Figure: Branch Metric and Path Metric computation for Viterbi decoder State 00 can be reached from two branches (a) State 00 with output 00. The survivor path for state 00 is stored in survivor path metric. The branch metric for this transition is.

com/2009/01/04/viterbi/ State 01 can be reached from two branches: (c) State 10 with output 10.Viterbi decoder http://www. . The survivor path for state 01 is stored in survivor path metric. The branch metric for this transition is. The path metric for state 01 is chosen based which is minimum out of the two. The branch metric for this transition is. . (h) State 11 with output 10. State 10 can be reached from two branches: (e) State 00 with output 11. The branch metric for this transition is. . The branch metric for this transition is. . 4 of 22 11/22/2011 9:53 PM . (d) State 11 with output 01. (f) State 01 with output 00. The branch metric for this transition is. The survivor path for state 10 is stored in survivor path metric. . The path metric for state 11 is chosen based which is minimum out of the two. State 11 can be reached from two branches: (g) State 10 with output 01. The path metric for state 10 is chosen based which is minimum out of the two. The branch metric for this transition is.dsplog.

start from the last computed survivor path at index for State 00.dsplog. ip. the decoding algorithm can start trying to estimate the input sequence. Thanks to presence of tail bits (additional zeros) . it is known that the final state following Convolutional code is State 00. generator polynomial [7. Continue tracking back through the survivor path and estimate the input sequence till index = 1. So. Refer to the post on Bit Error Rate (BER) for BPSK modulation for signal and channel model. if previous state current state 00 01 10 11 00 0 x 1 x 01 0 x 1 x 10 x 0 x 1 11 x 0 x 1 Table 2: Input given current state and previous state Simulation Model Octave/Matlab source code for computing the bit error rate for BPSK modulation in AWGN using the convolutional coding and Viterbi decoding is provided. the relation between coded bits to noise ratio with bits to noise ratio . . Traceback Unit Once the survivor path is computed times.Viterbi decoder http://www. From the knowledge of current state and previous state. The simulation model performs the following: (a) Generation of random BPSK modulated symbols +1’s and -1’s (b) Convolutionally encode them using rate -1/2. find the previous state corresponding to the current state.5] octal code (c) Passing them through Additive White Gaussian Noise channel is 5 of 22 11/22/2011 9:53 PM . From the survivor path.com/2009/01/04/viterbi/ The survivor path for state 11 is stored in survivor path metric. the input sequence can be determined (Ref: Table 2 Input given current state and previous state). Note: Since 2 coded bits are required for transmission of each data bit.

values. For lower regions. This is because.com/2009/01/04/viterbi/ (d) Hard decision demodulation on the received coded symbols (e) Received coded bits are passed to Viterbi decoder (f) Counting the number of errors from the output of Viterbi decoder (g) Repeating the same for multiple Eb/No value. Those can be discussed in future posts. At lower are more chances of multiple received coded bits in errors.dsplog. There can be further optimizations like – using soft decision decoding. limiting the traceback length etc.Viterbi decoder http://www. 2. References Tutorial on Convolutional Coding with Viterbi Decoding – Mr. there Viterbi decoder prefers the error to be randomly distributed for it work effectively. Chip Fleming Digital Communications by John Proakis 6 of 22 11/22/2011 9:53 PM . Click here to download Matlab/Octave script for computing BER with Binary Convolutional code and Viterbi decodig for BPSK modulation in AWGN channel Figure 3: BER plot for BPSK modulation in AWGN channel with Binary Convolutional code and hard decision Viterbi decoding Observations 1. the error rate with Viterbi decoding is higher uncoded bit error rate. and the Viterbi algorithm is unable to recover.

Tagged as: AWGN.ascairstarter. Extreme Low Power MCUs www.com Full line of New & Remanufactured air starters and parts. Note: Subscribing via e-mail entitles you to download the free e-Book on BER of BPSK/QPSK/16QAM/16PSK in AWGN.com/2009/01/04/viterbi/ Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN.com Search Thousands of Catalogs for Transmitter Receiver Verilog TimingTool. Viterbi Related posts 1.dsplog.com/xlp 20nA Sleep. 4.4) code with hard decision decoding Air Starters from ASC Inc www. Ads by Google Algorithm 75W90 Shell Shell TELLUS CPLD Code { 58 comments… read them below or add one } 1 Lealem January 10.microchip.com Free Online Timing Diagram Editor Verilog & VHDL Test benches 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. Viterbi with finite survivor state memory Soft Input Viterbi decoder Convolutional code Matlab or C for Viterbi Decoder? Hamming (7. Thanks for visiting! Happy learning. Real Time Clock & Watchdog Timer Transmitter Receiver www. 5. 2.Viterbi decoder http://www. 3. BPSK.globalspec. Do u have a matlab script which is used to simulate convolutional coded OFDM? an do u have also matlab script of convolutional coding that use a soft decision decoding algorithm? Thank you!!! Reply 7 of 22 11/22/2011 9:53 PM . 2009 at 12:06 pm Hello! Kirishna Thank you for ur matlab script Concerning convolutional coding.

Can you please help. Reply 5 Krishna Sankar April 27. I have not yet written posts on using convolutional coding with OFDM. QPSK.37) in matlab . and having generator polynomial G=(25. 2009 at 5:31 am @Lealem: Thanks.16-QAM and 64-QAM signals and also Trellis coded MOdulation? Thanks Reply 4 detito April 24.33. 2009 at 5:52 pm Thank you! Kirishna what can i do to write a simulation of convolutionaly coded QAM. 2009 at 10:41 pm Hi Krishna Thanks for article on viterbi. I will add a post on it. 2010 at 5:19 am @detito: Hopefully. 1> The following assumption :The errors in the received coded sequence are randomly distributed and the probability of error is small. I am writing a Viterbi decoding algorithm for a simple Binary Convolutional Code with rate 1/3. Sorry.dsplog. I just finished the simulation model. Maybe once I discuss interleaver.. 2> How you decide about traceback length? We can’t wait for all the input to be arrive before starting traceback. 3> For 11n what type of architecture is used for high throughput? Regards Reply 8 of 22 11/22/2011 9:53 PM .Viterbi decoder http://www. the code in this post can help you as a reference. constraint length K=5.com/2009/01/04/viterbi/ 2 Krishna Pillai January 13. Reply 6 Sandeep January 10. 2010 at 11:44 pm Hey Krishna. Reply 3 Lealem January 14.I would like further articles discussing. I am writing a post on soft decision decoding.

If you recall.Viterbi decoder http://www. Thanks Reply 9 Krishna Pillai January 24. with the rate=1/2 Reply 11 Krishna Pillai January 28. 2009 at 5:20 pm Hello! kirishna what can i do to write a simulation of convolutionaly coded QAM. in typical systems. For the current simulation. Reply 8 Lealem January 21. However. we can write the transition table to take four coded bits and give out 2 data bits per iteration. Hope to write soon. 9 of 22 11/22/2011 9:53 PM . we do not do that. 2009 at 7:41 am @Lealem: Trellis coded modulation – not yet. the decoding complexity is reduced in Viterbi algorithm by assuming that each state can be reached from only two possible states and only one of them is valid. 3. Hope this helps. 2009 at 5:40 am @Sandeep: Thanks. 2009 at 7:09 pm can i get the vhdl code for k=7 and the inputs being 171 and 133 octal. Reply 10 Ricky January 27. As you said.16-QAM and 64-QAM signals and also Trellis coded MOdulation?if u have a matlab code please try to provide me. we mostly discuss Matlab modeling here. if there are burst errors (or if the probability of error is high) then the above assumption becomes invalid. when we traceback we might not be able to decode correctly.com/2009/01/04/viterbi/ 7 Krishna Pillai January 13. I will write a post on traceback length. 2009 at 6:03 am @Ricky: Sorry. QPSK. The Viterbi algorithm described in the post takes two coded bits and gives one data bit per iteration. I assumed that we wait till the end of all the coded bits to start traceback. 2. This architecture allows one with a clock frequency limited system to have a higher throughput at the expense of extra hardware. My replies: 1. However. We typically start the traceback much before.dsplog. So.

com/2009/01/04/viterbi/ Reply 12 Dhruv April 10. 2009 at 6:04 pm hello . 2009 at 7:15 pm hello!Kirishina u did it for BPSk modulation but how can i write a matlab code when the modulation is changed to QAM. Reply 16 setareh August 16. Maybe you can convert that to C and use. 2009 at 7:29 am @scorswiss: In the posts I have provided a Matlab code for soft decision and hard decision Viterbi decoder for the rate 1/2 K=3 convolutional encoder. 2009 at 3:48 am @setareh: The URL for the code is provided just above the BER plot.Viterbi decoder http://www. I am writing VHDL code for it I cant find the code you post it for matlab could you tell me where exactly I can find it thank you in advance Reply 17 Krishna Sankar August 18.dsplog. Reply 10 of 22 11/22/2011 9:53 PM .From where can I get it? Reply 15 Krishna Pillai February 21. QPSK . I want to develop a verification environment in Verilog for Viterbi decoder. 2009 at 10:41 am hey man i am looking for the same did you get it??? Reply 13 Lealem February 10. I want a tested C model or Verilog model for the same. 2009 at 12:33 pm Hello Krishna. I am also looking for matlab code for k=3 and r=1/2 .16-QAM and 64-QAM? Thank you! Reply 14 scorswiss February 17.

Is it through D/A and A/D converters or quantization concept or the AWGN output is converted to digital stream? Reply 19 Krishna Pillai February 27. I use the Matlab function (bercoding) to simulate the coded-AWGN-BER.dsplog.8)is added which is analog in nature. AWGN noise(whose value is between 0 and 1 eg: 0. Thanks for the reply. The problem is how to add analog noise to digital stream.dsplog.com/2009/01/14/soft-viterbi/ Bits -> convolutional coded bits -> constellation mapping -> filtering -> D/A –> Add Noise –> A/D –> soft decision Viterbi decoding Hope this helps. Till this point we deal wih the digital bitstream. Reply 20 Allyson March 16. the coded bits together with the uncoded bits are mapped to a space to generate symbols. 2009 at 1:16 pm Hi.Viterbi decoder http://www. Reply 11 of 22 11/22/2011 9:53 PM . 2009 at 8:24 am @Allyson: Quite likely a power normalization issue.com/2009/01/04/viterbi/ 18 scorswiss February 25.When the bits are convolutionally coded. I am still facing an issue in the encoder part. 2009 at 6:01 am @scorswiss: The AWGN noise (which can theoreticall be from -inf to +inf) is added between the DA/ and A/D. If I may the chain will be as follows: Bits -> convolutional coded bits -> constellation mapping -> filtering -> D/A –> Add Noise –> A/D –> constellation to bits -> Viterbi decoding Alternatively we can use Soft decision decoding: http://www. and for the decoding and encoding method I use matlab function as well (vitdec and convenc)… My simulated result is near to uncoded-AWGN-BER but not near to coded-AWGN.but when this bitstream passes through the channel. 2009 at 3:41 pm Hi Krishna. Why is it so? Reply 21 Krishna Pillai March 21.

1 in Digital Communications. the 12 of 22 11/22/2011 9:53 PM . 2009 at 8:43 pm Hi krishna I am doing viterbi decoder in verilog can you tell me from where i can get a code for reference Reply 25 Krishna Pillai March 25. I hope to see the explanation on the soft decoding which can improve the situation.com/%7Echip. Reply 27 Krishna Pillai April 4. 2009 at 2:38 am Hi I want to know for R=1/2 K=7 convolutional code which generator matrix is best. find that for K=7.html Reply 26 chintu March 30. 2009 at 1:27 pm Hi.Viterbi decoder http://www. 2009 at 8:54 am @chintu: My replies: (1) From looking at the Table 8. It’s me again….dsplog.f/viterbi/fecbiblio. 2009 at 5:42 am @ahmed: You may check http://home.dsplog. 2009 at 8:26 am @Allyson: You may refer to the post @ http://www.netcom.com/2009/01/04/viterbi/ 22 Allyson March 16.com/2009/01/14/soft-viterbi/ Reply 24 ahamed March 21. Please tell me how to do it. Also I want to simulate convolutional coding with FSK. Thanks. Please tell me how can I get the answer.2. Proakis. Reply 23 Krishna Pillai March 21.

dsplog. 155) octal. Reply 29 Krishna Pillai April 11. Please post a generalized script. reasearchers long back have tried simulating with different generator polynomails and the table listed in the book lists the best for each constraint length and rate combination.com/2009/01/04/viterbi/ generator polynomial is {133. Thumbs Up bro Reply 31 Krishna Pillai June 7.k=3) script as it is designed for K=3 and can’t be generalized for K=7. Reply 28 chintu April 7. Good luck in your project work. 2009 at 3:16 pm The generator matrix for the optimal code for above query if given a different value in Lin and costello ” error control coding” which is (117.171}_octal. Also how do I implement this R=1/2 K=7 convolution code in your convolution coding(r=1/2. (2) I have written a post on BER with FSK http://www. 2009 at 6:20 am @chintu: My objective was to provide an example code for Viterbi decoder to help understand the concept.Viterbi decoder http://www.dsplog. I think. 2009 at 4:56 pm 13 of 22 11/22/2011 9:53 PM . Reply 30 Zeeshan Sattar June 3. the reader can easily extended to other cases. Am reasonably sure that once you understand the concept. 2009 at 2:05 pm @Zeeshan Sattar: Thanks pal. 2009 at 4:16 pm Superb Explanation.Please clarify. Reply 32 einstein July 4.com/2007/08/30/bit-error-rate-for-frequency-shift-keying-with-coherentdemodulation/ Hope it should be reasonably easy for you to add convolutional coding + viterbi decoding to that script.

Ex: k=7 the Generator poly is 133 . 1/7. 2009 at 8:20 pm Hi. 1/8 … for constraint length from K=3 to K=14. 2009 at 8:18 pm Hi krishna. The branch metric and path metric computations needs to be changed accordingly. 1/4. 1/6. 2009 at 6:25 pm Hi kirishna 14 of 22 11/22/2011 9:53 PM . 1/7. r=1/3 decoder? Reply 33 Krishna Pillai July 6. That chapter has a list of generator polynomials for various code rates from 1/2.2.5 in Digital Communications by John Proakis. 1/5. 2009 at 4:48 am @arun: You may check the Chapter 8. That chapter has a list of generator polynomials for various code rates from 1/2. 1/8 … for constraint length from K=3 to K=14. 2009 at 5:51 pm @einstein: For k=1/5.5 in Digital Communications by John Proakis. 2009 at 4:48 am @arun: You may check the Chapter 8. Can you give me the best generator polynomials for various constraint lengths. 1/4. Reply 37 Krishna Sankar August 11. 1/6. 1/3. Reply 36 arun August 9. Reply 38 fateme September 2. r=1/3 the state transitions change.2.Viterbi decoder http://www. Can you give the list of generator polynomials for various constraints lengths.com/2009/01/04/viterbi/ What changes should I make for k=5. 1/5.171 Reply 35 Krishna Sankar August 11.dsplog. 1/3. Reply 34 arun August 9.

mt graduation of thesis. Good luck. I have not tried modeling space time trellis code.dsplog.Viterbi decoder http://www. 15 of 22 11/22/2011 9:53 PM .Jang: Hope this post helps. 2009 at 11:37 pm Excellent tutorial. Reply 40 amudhan October 30. Thanks a lot. Neo Reply 43 Hyunjin. 2009 at 4:42 am @Hyunjin.com/2009/01/04/viterbi/ What can i do to write a simulation of Space Time Trellis code ? if u have a matlab code please try to provide me. 2009 at 5:21 am @fateme: Sorry. Best Regards Fateme Reply 39 Krishna Sankar September 8. 2009 at 8:06 am @amudhan: sorry. 2009 at 10:36 pm It’s difficult to viterbi… Help me. i do not have vhdl/verilog code. Reply 42 Neo Cambel November 25.Jang November 26. BR. Image(photo) processing/ Simulation to C++ Reply 44 Krishna Sankar December 7. 2009 at 11:34 am can u send the vhdl and verilog coding for low-latency low-complexity architectres for viterbi decoder Reply 41 Krishna Sankar November 8.

kamlapur: Does the Viterbi decoder code provided in this post help? Reply 49 Keshav Kishore Jha April 23. Agree? Reply 47 sujata. I believe you might be passing on the received hard decision bits to the Viterbi decoder. 2010 at 11:34 pm Hi Krishna. 16 of 22 11/22/2011 9:53 PM . What would it be if I am using 8PSK with 8 states ? I am not able to arrive at the idx thing for storing the path index. 2010 at 5:02 am @sujata.? Reply 48 Krishna Sankar April 14. Could you please help me with that ? Thanks. after this we use viterbi algorithm for recognition and baum-welch alogrithm for training.Viterbi decoder http://www.. 2009 at 3:05 am Hi. In your code I see that the survivor path metric index you have calculated as minimum of the 2 paths.dsplog. I have assumed BPSK in this simulation. Some thing like this case I : says idx case II. Thanks for your post.kamlapur April 10. 2009 at 5:11 am @Harish: Well. Even if you are using BPSK.com/2009/01/04/viterbi/ Reply 45 Harish December 4. and i’m working on d project hand writing recognition using hidden markov model. so please can u help me in viterbi algorithm part……. I don’t understand this. Harish Reply 46 Krishna Sankar December 7. So the underlying path metrics computation should still hold good. 2010 at 9:26 am hi sir i am a mtech student. you say it is idx+2. here in this project 1st we extract the hand writing features and then should build the HMM model.

Kindly help me to tell what modifications are required in this program for soft decoding. I have a question for you. I would like to use alpha-penalty function or known state maximum likelihood distance metric to enhance my decoder performance against impulsice noise.dsplog. ….. how would you go about it?? does it change the way how you compute the soft inputs?? or changing only the distance metric is enough?? have you ever tried another metric for non-gaussian noise for your decoder?? thanx in advance. 2010 at 5:57 am @guzeltayyar: I guess.. Reply 52 Krishna Sankar November 19. I have to analysis the performance for these two techniques. This can be done by scaling down those softbits. You may refer to examples @ http://www.. 17 of 22 11/22/2011 9:53 PM . TayyaR. Keshav Reply 50 Krishna Sankar April 27. 2010 at 5:26 am @Keshav Kishore Jha: Need to have a multiplicative noise to model the Rayleigh channel.com/tag/rayleigh/ Reply 51 guzeltayyar October 8.com/2009/01/04/viterbi/ I need your help in implementing this code when channel is AWGN+Rayleigh fading. Appreciate your efforts in the first place.. one way is to give less weights to softbits affected by impulse noise. I would like to replace the Euclidean distance with another metric for non-gaussian noise cases. i am trying to plot the graph of BER vs SNR for bayesian demodulation and QPSK demodulation.dsplog. I have not tried any metric for non-gaussian noise. Could you please help me in this matter. 2010 at 7:52 pm Hi Krishna…………. for instance. Reply 53 Sulav Paudel November 16. 2010 at 10:53 pm Hi Krishna.Viterbi decoder http://www.

Reply 58 Ajeesh December 31.com/2009/01/04/viterbi/ And.dsplog. Kindly help us pleaseeeeeeeee……… 18 of 22 11/22/2011 9:53 PM . sulav paudel Reply 54 Krishna Sankar November 17. Reply 57 Ajeesh December 31. the dimensions of ipHat_v are smaller than N Can you tell me how can I resolve this problem I just cant Reply 56 Krishna Sankar May 26. 2011 at 9:00 am amm……. can you help in the matlab code for theoritical and pratical BER for QPSK.dsplog. 133] Octal…. nErrViterbi(yy) = size(find([ip. I don`t know why but the code I download from this page doesnt work. 2010 at 4:54 am @Sulav: Hopefully the following post might be of help a) BER of BPSK in AWGN http://www. With Regards.ipHat_v(1:N)]). It’s working.2). We want to compute with binary convolutional code of rate=1/2.[171.. 2011 at 5:33 am @Rodrigo: Are you sure? I re-ran the code..Viterbi decoder http://www. 2009 at 2:27 pm Sir.com/2007/11/06/symbol-error-rate-for-4-qam/ Reply 55 Rodrigo Mendoza May 25. generator polynomial.com/2007/08/05/bit-error-probability-for-bpsk-modulation/ b) Symbol Error rate of QPSK in AWGN http://www.dsplog. 2009 at 2:29 pm Sir.

dsplog.Viterbi decoder http://www.com/2009/01/04/viterbi/ Reply Leave a Comment Name * E-mail * Website Notify me of followup comments via e-mail { 2 trackbacks } Convolutional code Viterbi with finite survivor state memory Previous post: Convolutional code Next post: Migration to Who’s Who theme 19 of 22 11/22/2011 9:53 PM .

21 votes Maximal Ratio Combining (MRC) .dsplog.38 votes BER for BPSK in OFDM with Rayleigh multipath channel .21 votes Download free e-book on error probability in AWGN .11a Alamouti AWGN BPSK Capacity CDF conference convolution CORDIC Diversity eye diagram first order frequency offset FSK Gray IISc interpolation ISI latex machine_learning magnitude MIMO ML MMSE MSK Nyquist OFDM orthogonal PAM PAPR pdf phase PSK pulse shaping QAM raised cosine Rayleigh SIC sigma delta STBC TETRA transmitter Viterbi ZF Categories Archives Top Rated posts Bit Error Rate (BER) for BPSK modulation .Viterbi decoder http://www.24 votes Alamouti STBC .20 votes Rayleigh multipath channel model .com/2009/01/04/viterbi/ Subscribe Subscribe via RSS Subscribe via email Ads by Google Qam Modulation Generate Code Shell Adrana Tag 16-PSK 802.17 votes 20 of 22 11/22/2011 9:53 PM .28 votes BER for BPSK in Rayleigh channel .

Viterbi decoder http://www.16 votes Comparing BPSK.11ac – Very High Throughput for lower 6GHz band Comments Krishna Sankar on MIMO with ML equalization Krishna Sankar on Rayleigh multipath channel model Krishna Sankar on Alamouti STBC with 2 receive antenna Stochastic Gradient Descet on Batch Gradient Descent benza on MIMO with ML equalization 21 of 22 11/22/2011 9:53 PM .dsplog.15 votes Understanding an OFDM transmission .com/2009/01/04/viterbi/ MIMO with MMSE equalizer .14 votes Recent Posts Stochastic Gradient Descent Batch Gradient Descent Back! Non coherent demodulation of pi/8 D8PSK (TETRA) IEEE 802. 16QAM. 16PSK. 64QAM and 32PSK . QPSK. 4PAM.

All rights reserved. 22 of 22 11/22/2011 9:53 PM .dspLog.com/2009/01/04/viterbi/ DSP ANALOG & DSP Complex to Real DSP blog DSP DesignLine DSP Guide DSP Tutor DSPRelated Octave Octave-Forge FPGA FPGA Central General Amit Agarwal – Digital Inspiration Enchanting Kerala Get smart with the Thesis WordPress Theme from DIYthemes. dspLog .com.dsplog. Copyright © 2007–2011 No content on this site may be reused in any fashion without written permission from http://www.Viterbi decoder http://www.