Matlab or C for Viterbi Decoder?
Are you bothered by speed of the speed of the simulations which you develop in Matlab/Octave? I was not bothered much, till I ran into the Viterbi decoder. If you recall, the Matlab/Octave simulation script for BER computation with hard soft decision Viterbi algorithm provided in post Viterbi with finite survivor state memory took around…
Understanding an OFDM transmission
Let us try to understand simulation of a typical Orthogonal Frequency Division Multiplexing (OFDM) transmission defined per IEEE 802.11a specification. Orthogonal pulses In a previous post (here ), we have understood that the minimum frequency separation for two sinusoidals with arbitrary phases to be orthogonal is , where is the symbol period. In Orthogonal Frequency…
Coherent demodulation of DBPSK
In a previous post, we discussed about a probable first order digital PLL for tracking constant phase offset. The assumption was that as the phase offset is small and the bits gets decoded correctly, the phase difference between the ideal and actual constellation gives the initial value of phase. However, in typical scenarios it may…
MSK transmitter and receiver
In a post on Minimum Shift Keying (MSK), we had discussed that MSK uses two frequencies which are separated by and phase discontinuity is avoided in symbol boundaries. In that post, we had discussed MSK as a continuous phase transmit signal and showed that phase changes through 0, 90, 180 and 270 degrees. In this…
Summary – feedback on [dspLog], July 2008
On July30th, 2008 I had sent a request for feedback to 93 subscribers who have opted to receive articles over email. As on 3rd August, I received the response from around 8 persons. Not bad, around 8.5% response. Thanks a lot for the feedback. I will summarize the response from the group and note down…
Article in DSPDesignLine.com: M-QAM symbol error
Its been a nice week for me, wherein I guest posted an article in DSPDesignLine.com. 🙂 The article derives the theoretical symbol error rate for M-QAM modulation. The theoretical results are further supplemented by Matlab/Octave simulation scripts. Those who are familiar with derivation of symbol error rate for 16-QAM modulation will find the equations easy…
Gradients for multi class classification with Softmax
In a multi class classification problem, the output (also called the label or class) takes a finite set of discrete values . In this post, system model for a multi class classification with a linear layer followed by softmax layer is defined. The softmax function transforms the output of a linear layer into values lying…
dspLog turns two! Happy Birthday!
As on 21st October 2007, we moved from blogspot domain at to the self hosted domain at https://dsplog.com. Over the last two years, the blog has grown quite a bit, and am reasonably happy with the progress. Let us look back at the positives and negatives over the last year.
Linear to log conversion
In signal processing blocks like power estimation used in digital communication, it may be required to represent the estimate in log scale. This post explains a simple linear to log conversion scheme proposed in the DSP Guru column on DSP Trick: Quick-and-Dirty Logarithms. The scheme makes implementation of a linear to log conversion simple and…
BER for BPSK in ISI channel with Zero Forcing equalization
In the past, we had discussed BER for BPSK in flat fading Rayleigh channel. In this post, lets discuss a frequency selective channel with the use of Zero Forcing (ZF) equalization to compensate for the inter symbol interference (ISI). For simplifying the discussion, we will assume that there is no pulse shaping at the transmitter….
Equal Gain Combining (EGC)
This is the second post in the series discussing receiver diversity in a wireless link. Receiver diversity is a form of space diversity, where there are multiple antennas at the receiver. The presence of receiver diversity poses an interesting problem – how do we use ‘effectively‘ the information from all the antennas to demodulate the…
Maximal Ratio Combining (MRC)
This is the third post in the series discussing receiver diversity in a wireless link. Receiver diversity is a form of space diversity, where there are multiple antennas at the receiver. The presence of receiver diversity poses an interesting problem – how do we use ‘effectively‘ the information from all the antennas to demodulate the…
Viterbi with finite survivor state memory
In the post on Viterbi decoder and soft input Viterbi decoder, we discussed a convolutional encoding scheme with rate 1/2, constraint length and having generator polynomial and having generator polynomial . If the number of uncoded bits is , then the number of coded bits at the output of the convolutional encoder is . Decoding…