Hi All, I am looking at the Differential Encoder used in GSM. The 3GPP TS45.002 specifies that the encoder is as follows: T(i) = D(i) xor D(i-1) where D(i) is information symbol and inputs to the encoder, T(i) is the output. Correspondingly at the receiver side, I am going to use a differential decoder as below: D(i) = R(i) xor D(i-1) where R(i) suppose to be the received bits and the inputs to the decoder. Ideally R(i) equals T(i). A question comes into the decoder now. One error bit in R(i) will cause all subsequent D(i) wrong. Is it true for GSM receiver? I don't think so, since it will cause high BER. Is there any other method that I shall use to avoid this issue? thank you.
Differential Encoder/Decoder in GSM
Started by ●April 9, 2008
Reply by ●April 9, 20082008-04-09
On Apr 9, 9:54 am, "richard_zhang" <hardhear...@yahoo.com.cn> wrote:> I am looking at the Differential Encoder used in GSM. The 3GPP TS45.002 > specifies that the encoder is as follows: > T(i) = D(i) xor D(i-1) where D(i) is information symbol and inputs to the > encoder, T(i) is the output.hmm...as i recall, in differential encoding, T(i) = T(i-1) xor D(i)> Correspondingly at the receiver side, I am going to use a differential > decoder as below: > D(i) = R(i) xor D(i-1) where R(i) suppose to be the received bits and the > inputs to the decoder. Ideally R(i) equals T(i).i think it should be, D(i) = R(i) xor R(i-1)> A question comes into the decoder now. One error bit in R(i) will cause > all subsequent D(i) wrong. Is it true for GSM receiver? I don't think so, > since it will cause high BER. Is there any other method that I shall use > to avoid this issue?per your problem statement, the error will propagate. However, i think that your problem statement is incorrect. Per the equations which i put forward, due to differential encoding each decision error during coherent demodulation will cause two bits to be in error.> thank you.Hope this helps (ofcourse, i do not have the specs with me). Thanks, Krishna ~ blogs @ http://www.dsplog.com
Reply by ●April 9, 20082008-04-09
richard_zhang wrote:> I am looking at the Differential Encoder used in GSM. The 3GPP TS45.002 > specifies that the encoder is as follows: > T(i) = D(i) xor D(i-1) where D(i) is information symbol and inputs to the > encoder, T(i) is the output.> Correspondingly at the receiver side, I am going to use a differential > decoder as below: > D(i) = R(i) xor D(i-1) where R(i) suppose to be the received bits and the > inputs to the decoder. Ideally R(i) equals T(i).(snip) Are you sure you have R and T right? If you do it the other way around it doesn't have that problem. T(i) = D(i) xor T(i-1) and D(i) = R(i) xor R(i-1) In this case, a received bit in error will cause two data bits to be wrong. Others use much more complicated scramblers, but with the same symmetry. -- glen
Reply by ●April 9, 20082008-04-09
>richard_zhang wrote: > >> I am looking at the Differential Encoder used in GSM. The 3GPPTS45.002>> specifies that the encoder is as follows: >> T(i) = D(i) xor D(i-1) where D(i) is information symbol and inputs tothe>> encoder, T(i) is the output. > >> Correspondingly at the receiver side, I am going to use a differential >> decoder as below: >> D(i) = R(i) xor D(i-1) where R(i) suppose to be the received bits andthe>> inputs to the decoder. Ideally R(i) equals T(i). >(snip) > >Are you sure you have R and T right? If you do it the other way >around it doesn't have that problem. > >T(i) = D(i) xor T(i-1) >and >D(i) = R(i) xor R(i-1) > >In this case, a received bit in error will cause two data bits >to be wrong. > >Others use much more complicated scramblers, but with the same symmetry. > >-- glenKrishna and Glen, Thank you for the reply. The equation for differential encoder that I posted previously is from 3GPP specifications, please refer to the spec of 3GPP TS45.004 and the version I am reading is V6.0.0 (2005-01). I understand, if the encoder equation is T(i) = D(i) xor T(i-1), then the error propagation issue will not happen at the decoder. This is what I feel confused, why 3GPP uses the encoder of T(i) = D(i) xor D(i-1). Am I making anything wrong ???????? thanks
Reply by ●April 9, 20082008-04-09
richard_zhang wrote:> Hi All, > > I am looking at the Differential Encoder used in GSM. The 3GPP TS45.002 > specifies that the encoder is as follows: > T(i) = D(i) xor D(i-1) where D(i) is information symbol and inputs to the > encoder, T(i) is the output. > > Correspondingly at the receiver side, I am going to use a differential > decoder as below: > D(i) = R(i) xor D(i-1) where R(i) suppose to be the received bits and the > inputs to the decoder. Ideally R(i) equals T(i). > > A question comes into the decoder now. One error bit in R(i) will cause > all subsequent D(i) wrong. Is it true for GSM receiver? I don't think so, > since it will cause high BER. Is there any other method that I shall use > to avoid this issue?You have the encoder and the decoder vice versa. Should be: Encoder: T[i] = X[i] xor T[i-1] Decoder: X[i] = R[i] xor R[i-1] Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●April 9, 20082008-04-09
> > >richard_zhang wrote: > >> Hi All, >> >> I am looking at the Differential Encoder used in GSM. The 3GPPTS45.002>> specifies that the encoder is as follows: >> T(i) = D(i) xor D(i-1) where D(i) is information symbol and inputs tothe>> encoder, T(i) is the output. >> >> Correspondingly at the receiver side, I am going to use a differential >> decoder as below: >> D(i) = R(i) xor D(i-1) where R(i) suppose to be the received bits andthe>> inputs to the decoder. Ideally R(i) equals T(i). >> >> A question comes into the decoder now. One error bit in R(i) willcause>> all subsequent D(i) wrong. Is it true for GSM receiver? I don't thinkso,>> since it will cause high BER. Is there any other method that I shalluse>> to avoid this issue? > >You have the encoder and the decoder vice versa. > >Should be: > >Encoder: T[i] = X[i] xor T[i-1] >Decoder: X[i] = R[i] xor R[i-1] > > >Vladimir Vassilevsky >DSP and Mixed Signal Design Consultant >http://www.abvolt.com >Hi Vladimir, thanks for the reply. Please refer to the 3GPP specification I mentioned previously and you will find that encoder/decoder equation you put here is not the one used in GSM.
Reply by ●April 9, 20082008-04-09
richard_zhang wrote:>> >>You have the encoder and the decoder vice versa. >> >>Should be: >> >>Encoder: T[i] = X[i] xor T[i-1] >>Decoder: X[i] = R[i] xor R[i-1] >> >> > Hi Vladimir, thanks for the reply. Please refer to the 3GPP specification > I mentioned previously and you will find that encoder/decoder equation you > put here is not the one used in GSM.Well, of course you can continue to insist on your delusions :) VLV
Reply by ●April 9, 20082008-04-09
Vladimir Vassilevsky wrote: (snip)>>> Encoder: T[i] = X[i] xor T[i-1] >>> Decoder: X[i] = R[i] xor R[i-1]>> Hi Vladimir, thanks for the reply. Please refer to the 3GPP specification >> I mentioned previously and you will find that encoder/decoder equation >> you put here is not the one used in GSM.> Well, of course you can continue to insist on your delusions :)It seems that the document (though the reference is the wrong one) uses d and d-hat. It seems likely a typographic error that wasn't noticed. If it was T and X it would be much easier to see. Also, I don't see the decoder described, which would be a double check on the error. Then again, which of the different modulation methods do people actually use? -- glen
Reply by ●April 9, 20082008-04-09
The 3GPP reference is here and sorry for the typo in my first post. http://www.3gpp.org/ftp/Specs/html-info/45004.htm Just download one 3GPP spec (e.g. the version 7.2.0) in above webpage, and you will find the differential encoder in the spec.
Reply by ●April 9, 20082008-04-09
>Vladimir Vassilevsky wrote: > >(snip) >>>> Encoder: T[i] = X[i] xor T[i-1] >>>> Decoder: X[i] = R[i] xor R[i-1] > >>> Hi Vladimir, thanks for the reply. Please refer to the 3GPPspecification>>> I mentioned previously and you will find that encoder/decoder equation>>> you put here is not the one used in GSM. > >> Well, of course you can continue to insist on your delusions :) > >It seems that the document (though the reference is the wrong >one) uses d and d-hat. It seems likely a typographic error >that wasn't noticed. If it was T and X it would be much easier >to see. Also, I don't see the decoder described, which would be >a double check on the error. Then again, which of the different >modulation methods do people actually use? > >-- glen >If it is a typo error in 3GPP spec, then I can close my case here immediately, but who can make sure that it is an error in 3GPP? 3GPP spec here: http://www.3gpp.org/ftp/Specs/html-info/45004.htm






