Forums

diff encoding in GSM

Started by kbc September 6, 2004
Hi

    does anyone know why differential encoding of data is done
in GSM before modulation ?

( As I understand , this is not to enable noncoherent detection, but
is related to the connection between gmsk and msk which is an offset-PAM
modulation.  )

          shankar
kbc32@yahoo.com (kbc) wrote in message news:<a382521e.0409060359.1aa34373@posting.google.com>...
> Hi > > does anyone know why differential encoding of data is done > in GSM before modulation ? >
Hi Shankar, One advantage of using differential encoding/decoding with MSK/GMSK is an improved BER. Since MSK and GMSK are inherently differential, one decision error results in two bit errors at the receiver. Two consecutive decision errors result in three bit errors. Three consecutive decision errors result four bit errors and so on... Differential decoding eliminates the extra bit error. In most cases this means that one decision error results in one bit error. If the errors are randomly distributed, this will result in an improvement by a factor of 2 (approximately). If decision errors are consecutive, the improvement is less. Note: Differential decoding reduces the net number of bit errors but does not reduce the number of incorrect decisions. I was able to verify this a few months ago by generating a baseband MSK and GMSK modulator and comparing it to the modulators presented in the paper: Murota, K. and Hirade, K., "GMSK Modulation for Digital Mobile Radio Telephony," IEEE Transactions on Communications, vol COM-29, No. 7. pp. 1044-1050, July 1981 I ran a Matlab simulation with and without differential encoding. Without a differential encoder, I matched the BER curves presented in the paper. When differential encoding/decoding was applied, the BER improved by approximately a factor of 2 (over the Eb/No ratios tested in the paper).
> ( As I understand , this is not to enable noncoherent detection, but > is related to the connection between gmsk and msk which is an offset-PAM > modulation. ) > > shankar
MSK and GMSK are very similar. GMSK is effectively filtered MSK. In fact, if the BT product of the filter is very large, GMSK tends towards MSK. MSK has no ISI, whereas the filtering of the signal to produce GMSK introduces ISI (in favor of a tighter spectrum). Differential encoding/decoding works the same on both GMSK and MSK. There is no connection between MSK/GMSK with respect to differential encoding. There may be other reasons for the differential encoder in addition to the one mentioned above. Chris Mason Signal Processing SignalCraft Technologies Inc. www.signalcraft.com
How does differential decoding eliminate the extra errors?  If the
ones and zeros are encoded by transitions rather than levels, I'm not
clear on how the differential decoding can eliminate the extra error?

On 20 Sep 2004 15:42:46 -0700, ckizlyk@hotmail.com (Chris Mason)
wrote:

>kbc32@yahoo.com (kbc) wrote in message news:<a382521e.0409060359.1aa34373@posting.google.com>... >> Hi >> >> does anyone know why differential encoding of data is done >> in GSM before modulation ? >> > >Hi Shankar, > >One advantage of using differential encoding/decoding with MSK/GMSK is >an improved BER. Since MSK and GMSK are inherently differential, one >decision error results in two bit errors at the receiver. Two >consecutive decision errors result in three bit errors. Three >consecutive decision errors result four bit errors and so on... > >Differential decoding eliminates the extra bit error. In most cases >this means that one decision error results in one bit error. If the >errors are randomly distributed, this will result in an improvement by >a factor of 2 (approximately). If decision errors are consecutive, >the improvement is less. Note: Differential decoding reduces the net >number of bit errors but does not reduce the number of incorrect >decisions. > >I was able to verify this a few months ago by generating a baseband >MSK and GMSK modulator and comparing it to the modulators presented in >the paper: > >Murota, K. and Hirade, K., "GMSK Modulation for Digital Mobile Radio >Telephony," IEEE Transactions on Communications, vol COM-29, No. 7. >pp. 1044-1050, July 1981 > >I ran a Matlab simulation with and without differential encoding. >Without a differential encoder, I matched the BER curves presented in >the paper. When differential encoding/decoding was applied, the BER >improved by approximately a factor of 2 (over the Eb/No ratios tested >in the paper). > >> ( As I understand , this is not to enable noncoherent detection, but >> is related to the connection between gmsk and msk which is an offset-PAM >> modulation. ) >> >> shankar > >MSK and GMSK are very similar. GMSK is effectively filtered MSK. In >fact, if the BT product of the filter is very large, GMSK tends >towards MSK. MSK has no ISI, whereas the filtering of the signal to >produce GMSK introduces ISI (in favor of a tighter spectrum). >Differential encoding/decoding works the same on both GMSK and MSK. >There is no connection between MSK/GMSK with respect to differential >encoding. > >There may be other reasons for the differential encoder in addition to >the one mentioned above. > >Chris Mason >Signal Processing >SignalCraft Technologies Inc. >www.signalcraft.com
Eric Jacobsen Minister of Algorithms, Intel Corp. My opinions may not be Intel's opinions. http://www.ericjacobsen.org
eric.jacobsen@ieee.org (Eric Jacobsen) wrote in message news:<414f9bc6.459012625@news.west.cox.net>...
> How does differential decoding eliminate the extra errors? If the > ones and zeros are encoded by transitions rather than levels, I'm not > clear on how the differential decoding can eliminate the extra error?
Hi Eric, Thanks for the question. I might be missing something here, but I'll provide an example of how I think the differential decoding helps. I'll use the MSK example in page 524 in A. Bruce Carlson "Communication Systems" 3rd Edition. This example modulates the bit pattern 1 0 0 0 1 0 1 1 1. For our purposes we'll shorten it to 1 0 0 0 1 0 (to make it easier to read in the newsgroup). According to Carlson (page 523), even values of k (measure of time) have output phases of 0, +/-pi, +/-2*pi..., while odd values of k have output phases of +/-pi/2, +/-3*pi/2... If a one is added, the phase increases by pi/2. If a zero is added, the phase decreases by pi/2. This gives the generic phase trellis shown on page 523. For our example, we start at a phase of zero radians. k: 0 1 2 3 4 5 6 Bits: 1 0 0 0 1 0 Phase: 0 pi/2 0 -pi/2 -pi -pi/2 -pi Assume at time k = 4, we make a detection error of zero instead of -pi. k: 0 1 2 3 4 5 6 PhaseRx: 0 pi/2 0 -pi/2 0 -pi/2 -pi BitsRx: 1 0 0 1 0 0 Notice that we made one detection error and that results in two bits in error (bit3,4 and bit4,5). If differential encoding is used (initial state of '1'), and an error is observed again at time k=4: k: 0 1 2 3 4 5 6 Bits: '1' 1 0 0 0 1 0 Diff: 0 1 0 0 1 1 PhaseTx: 0 -pi/2 0 -pi/2 -pi -pi/2 0 PhaseRx: 0 -pi/2 0 -pi/2 0 -pi/2 0 BitsRx: 0 1 0 1 0 1 Diffdec: '1' 1 0 0 1 1 0 Now only bit3,4 is in error after differential decoding. Let me know if my analysis is flawed in anyway. Thanks, Chris Mason Signal Processing SignalCraft Technologies Inc. www.signalcraft.com
> > On 20 Sep 2004 15:42:46 -0700, ckizlyk@hotmail.com (Chris Mason) > wrote: > > >kbc32@yahoo.com (kbc) wrote in message news:<a382521e.0409060359.1aa34373@posting.google.com>... > >> Hi > >> > >> does anyone know why differential encoding of data is done > >> in GSM before modulation ? > >> > > > >Hi Shankar, > > > >One advantage of using differential encoding/decoding with MSK/GMSK is > >an improved BER. Since MSK and GMSK are inherently differential, one > >decision error results in two bit errors at the receiver. Two > >consecutive decision errors result in three bit errors. Three > >consecutive decision errors result four bit errors and so on... > > > >Differential decoding eliminates the extra bit error. In most cases > >this means that one decision error results in one bit error. If the > >errors are randomly distributed, this will result in an improvement by > >a factor of 2 (approximately). If decision errors are consecutive, > >the improvement is less. Note: Differential decoding reduces the net > >number of bit errors but does not reduce the number of incorrect > >decisions. > > > >I was able to verify this a few months ago by generating a baseband > >MSK and GMSK modulator and comparing it to the modulators presented in > >the paper: > > > >Murota, K. and Hirade, K., "GMSK Modulation for Digital Mobile Radio > >Telephony," IEEE Transactions on Communications, vol COM-29, No. 7. > >pp. 1044-1050, July 1981 > > > >I ran a Matlab simulation with and without differential encoding. > >Without a differential encoder, I matched the BER curves presented in > >the paper. When differential encoding/decoding was applied, the BER > >improved by approximately a factor of 2 (over the Eb/No ratios tested > >in the paper). > > > >> ( As I understand , this is not to enable noncoherent detection, but > >> is related to the connection between gmsk and msk which is an offset-PAM > >> modulation. ) > >> > >> shankar > > > >MSK and GMSK are very similar. GMSK is effectively filtered MSK. In > >fact, if the BT product of the filter is very large, GMSK tends > >towards MSK. MSK has no ISI, whereas the filtering of the signal to > >produce GMSK introduces ISI (in favor of a tighter spectrum). > >Differential encoding/decoding works the same on both GMSK and MSK. > >There is no connection between MSK/GMSK with respect to differential > >encoding. > > > >There may be other reasons for the differential encoder in addition to > >the one mentioned above. > > > >Chris Mason > >Signal Processing > >SignalCraft Technologies Inc. > >www.signalcraft.com > > Eric Jacobsen > Minister of Algorithms, Intel Corp. > My opinions may not be Intel's opinions. > http://www.ericjacobsen.org
Very nice explanation, thanks.


On 21 Sep 2004 09:27:55 -0700, ckizlyk@hotmail.com (Chris Mason)
wrote:

>eric.jacobsen@ieee.org (Eric Jacobsen) wrote in message news:<414f9bc6.459012625@news.west.cox.net>... >> How does differential decoding eliminate the extra errors? If the >> ones and zeros are encoded by transitions rather than levels, I'm not >> clear on how the differential decoding can eliminate the extra error? > >Hi Eric, > >Thanks for the question. I might be missing something here, but I'll >provide an example of how I think the differential decoding helps. >I'll use the MSK example in page 524 in A. Bruce Carlson >"Communication Systems" 3rd Edition. > >This example modulates the bit pattern 1 0 0 0 1 0 1 1 1. For our >purposes we'll shorten it to 1 0 0 0 1 0 (to make it easier to read in >the newsgroup). > >According to Carlson (page 523), even values of k (measure of time) >have output phases of 0, +/-pi, +/-2*pi..., while odd values of k have >output phases of +/-pi/2, +/-3*pi/2... If a one is added, the phase >increases by pi/2. If a zero is added, the phase decreases by pi/2. >This gives the generic phase trellis shown on page 523. > >For our example, we start at a phase of zero radians. > >k: 0 1 2 3 4 5 6 >Bits: 1 0 0 0 1 0 >Phase: 0 pi/2 0 -pi/2 -pi -pi/2 -pi > >Assume at time k = 4, we make a detection error of zero instead of >-pi. > >k: 0 1 2 3 4 5 6 >PhaseRx: 0 pi/2 0 -pi/2 0 -pi/2 -pi >BitsRx: 1 0 0 1 0 0 > >Notice that we made one detection error and that results in two bits >in error (bit3,4 and bit4,5). > >If differential encoding is used (initial state of '1'), and an error >is observed again at time k=4: > >k: 0 1 2 3 4 5 6 >Bits: '1' 1 0 0 0 1 0 >Diff: 0 1 0 0 1 1 >PhaseTx: 0 -pi/2 0 -pi/2 -pi -pi/2 0 >PhaseRx: 0 -pi/2 0 -pi/2 0 -pi/2 0 >BitsRx: 0 1 0 1 0 1 >Diffdec: '1' 1 0 0 1 1 0 > >Now only bit3,4 is in error after differential decoding. > >Let me know if my analysis is flawed in anyway. > >Thanks, >Chris Mason >Signal Processing >SignalCraft Technologies Inc. >www.signalcraft.com > >> >> On 20 Sep 2004 15:42:46 -0700, ckizlyk@hotmail.com (Chris Mason) >> wrote: >> >> >kbc32@yahoo.com (kbc) wrote in message news:<a382521e.0409060359.1aa34373@posting.google.com>... >> >> Hi >> >> >> >> does anyone know why differential encoding of data is done >> >> in GSM before modulation ? >> >> >> > >> >Hi Shankar, >> > >> >One advantage of using differential encoding/decoding with MSK/GMSK is >> >an improved BER. Since MSK and GMSK are inherently differential, one >> >decision error results in two bit errors at the receiver. Two >> >consecutive decision errors result in three bit errors. Three >> >consecutive decision errors result four bit errors and so on... >> > >> >Differential decoding eliminates the extra bit error. In most cases >> >this means that one decision error results in one bit error. If the >> >errors are randomly distributed, this will result in an improvement by >> >a factor of 2 (approximately). If decision errors are consecutive, >> >the improvement is less. Note: Differential decoding reduces the net >> >number of bit errors but does not reduce the number of incorrect >> >decisions. >> > >> >I was able to verify this a few months ago by generating a baseband >> >MSK and GMSK modulator and comparing it to the modulators presented in >> >the paper: >> > >> >Murota, K. and Hirade, K., "GMSK Modulation for Digital Mobile Radio >> >Telephony," IEEE Transactions on Communications, vol COM-29, No. 7. >> >pp. 1044-1050, July 1981 >> > >> >I ran a Matlab simulation with and without differential encoding. >> >Without a differential encoder, I matched the BER curves presented in >> >the paper. When differential encoding/decoding was applied, the BER >> >improved by approximately a factor of 2 (over the Eb/No ratios tested >> >in the paper). >> > >> >> ( As I understand , this is not to enable noncoherent detection, but >> >> is related to the connection between gmsk and msk which is an offset-PAM >> >> modulation. ) >> >> >> >> shankar >> > >> >MSK and GMSK are very similar. GMSK is effectively filtered MSK. In >> >fact, if the BT product of the filter is very large, GMSK tends >> >towards MSK. MSK has no ISI, whereas the filtering of the signal to >> >produce GMSK introduces ISI (in favor of a tighter spectrum). >> >Differential encoding/decoding works the same on both GMSK and MSK. >> >There is no connection between MSK/GMSK with respect to differential >> >encoding. >> > >> >There may be other reasons for the differential encoder in addition to >> >the one mentioned above. >> > >> >Chris Mason >> >Signal Processing >> >SignalCraft Technologies Inc. >> >www.signalcraft.com >> >> Eric Jacobsen >> Minister of Algorithms, Intel Corp. >> My opinions may not be Intel's opinions. >> http://www.ericjacobsen.org
Eric Jacobsen Minister of Algorithms, Intel Corp. My opinions may not be Intel's opinions. http://www.ericjacobsen.org
"Chris Mason" <ckizlyk@hotmail.com> wrote in message
news:25b3fe9c.0409210827.42edc2b3@posting.google.com...
> eric.jacobsen@ieee.org (Eric Jacobsen) wrote in message
news:<414f9bc6.459012625@news.west.cox.net>...
> > How does differential decoding eliminate the extra errors? If the > > ones and zeros are encoded by transitions rather than levels, I'm not > > clear on how the differential decoding can eliminate the extra error? > > Hi Eric, > > Thanks for the question. I might be missing something here, but I'll > provide an example of how I think the differential decoding helps. > I'll use the MSK example in page 524 in A. Bruce Carlson > "Communication Systems" 3rd Edition.
<<<<<much material snipped>>>>> All this is correct, but it should also be remembered that the method being used for demodulation of MSK is not the optimum method (which treats MSK as offset QPSK). With the offset QPSK approach, bits b[2n] and b[2n+1] are demodulated at times t = 2n and t = 2n+1 respectively in the I and Q branches respectively of the receiver, and are then multiplexed to form a single bit stream. More important is the point that bit b[2n] modulates the signal from t = 2n-2 to t = 2n, while bit b[2n+1] modulates the signal from t = 2n-1 to t = 2n+1. Therefore, each decision statistic is gathered over (i.e., the I and Q correlators integrate over) over TWO (overlapping) bit intervals: from t = 2n-2 to t = 2n for b[2n] in the I branch and from t = 2n-1 to t = 2n+1 for b[2n+1] in the Q branch. Also, each branch is demodulating an antipodal binary PSK signal. The MSK demodulation method described by the OP uses the fact that during the interval from t = 2n-1 to t = 2n, BOTH b[2n] and b[2n+1] are modulating the signal (in fact, the "data" bit is effectively b[2n].XOR.b[2n+1], which the way it is in differential encoding). Indeed, the signal is an orthogonal FSK signal at frequency f_c + 1/4T or f_c -1/4T depending on the data bit. The decision statistic is gathered over just ONE bit interval (from t = 2n-1 to t = 2n). Thus, the raw BER is worse than with the offset QPSK approach (less bit energy, and orthogonal instead of antipodal signaling), and of course the differential decoding further exacerbates the BER (as noted by the OP). --Dilip Sarwate
I saw the replies just now.

Thanks chris and others.

                  shankar


ckizlyk@hotmail.com (Chris Mason) wrote in message news:<25b3fe9c.0409210827.42edc2b3@posting.google.com>...
> eric.jacobsen@ieee.org (Eric Jacobsen) wrote in message news:<414f9bc6.459012625@news.west.cox.net>... > > How does differential decoding eliminate the extra errors? If the > > ones and zeros are encoded by transitions rather than levels, I'm not > > clear on how the differential decoding can eliminate the extra error? > > Hi Eric, > > Thanks for the question. I might be missing something here, but I'll > provide an example of how I think the differential decoding helps. > I'll use the MSK example in page 524 in A. Bruce Carlson > "Communication Systems" 3rd Edition. > > This example modulates the bit pattern 1 0 0 0 1 0 1 1 1. For our > purposes we'll shorten it to 1 0 0 0 1 0 (to make it easier to read in > the newsgroup). > > According to Carlson (page 523), even values of k (measure of time) > have output phases of 0, +/-pi, +/-2*pi..., while odd values of k have > output phases of +/-pi/2, +/-3*pi/2... If a one is added, the phase > increases by pi/2. If a zero is added, the phase decreases by pi/2. > This gives the generic phase trellis shown on page 523. > > For our example, we start at a phase of zero radians. >