Hey, I get why diffrential encoder in the transmitter and then a differential decoder at the receiver help overcome the possible 180 phase ambiguity. what I don't get is how the viterbi decoder can handle that if we use a convolutional coding in our communication system (assume a gray-coded QPSK, means 180-phase causes "00"<->"11","01"<->"10"). In the receiver, the 180-phased codeword will the viterbi decoder itself and it won't follow the right path and we won't get the correct source word.I also can't find a justification to the idea that the trellis will give the 180-phased right source word and we will use the differential decoder afterwards to get the original true source word. Your help would be appreciated. Thanks, George.
180 phase ambiguity
Started by ●August 14, 2012
Reply by ●August 14, 20122012-08-14
On Tuesday, August 14, 2012 8:17:26 AM UTC-4, Geo85 wrote:> Hey, > > > > I get why diffrential encoder in the transmitter and then a differential > > decoder at the receiver help overcome the possible 180 phase ambiguity. > > what I don't get is how the viterbi decoder can handle that if we use a > > convolutional coding in our communication system (assume a gray-coded QPSK, > > means 180-phase causes "00"<->"11","01"<->"10"). > > In the receiver, the 180-phased codeword will the viterbi decoder itself > > and it won't follow the right path and we won't get the correct source > > word.I also can't find a justification to the idea that the trellis will > > give the 180-phased right source word and we will use the differential > > decoder afterwards to get the original true source word. > > Your help would be appreciated. > > > > Thanks, > > George.Hi George, A neat feature of linear codes is a sum (exclusive or addition) of codewords is also a codeword and if the all ones codeword is a member of your codeset, then an inversion of a codeword is also a codeword and thus the error correction process doesn't need to worry about the polarity of the data. That gets sorted out after the error correction. Clay
Reply by ●August 14, 20122012-08-14
On Tuesday, August 14, 2012 7:17:26 AM UTC-5, Geo85 wrote:> Hey, > > > > I get why diffrential encoder in the transmitter and then a differential > > decoder at the receiver help overcome the possible 180 phase ambiguity. > > what I don't get is how the viterbi decoder can handle that if we use a > > convolutional coding in our communication system (assume a gray-coded QPSK, > > means 180-phase causes "00"<->"11","01"<->"10"). > > In the receiver, the 180-phased codeword will the viterbi decoder itself > > and it won't follow the right path and we won't get the correct source > > word.I also can't find a justification to the idea that the trellis will > > give the 180-phased right source word and we will use the differential > > decoder afterwards to get the original true source word. > > Your help would be appreciated. > > > > Thanks, > > George.The differential decoder is often implemented as part of the demodulator so that the bits that the Viterbi decoder works on have no phase ambiguity in them. Also, in QPSK systems, the phase ambiguity is not just an interchange of 00 <-> 11 etc but a rotation of pi/2, pi, or 3pi/2, and so life is more complicated than you have indicated. Dilip Sarwate
Reply by ●August 14, 20122012-08-14
The transmitter flow is convolutional encoder, differential encoder, and modulator. The receiver is in reverse order, demodulator, differential decoder, and viterbi decoder. The viterbi corrects errors whatever their cause. Errors out of the differential decoder come in pairs and the viterbi prefers its errors unbunched.
Reply by ●August 14, 20122012-08-14
"Geo85" <61484@dsprelated> wrote in message news:O7mdnRW-cuFL3LfNnZ2dnUVZ_jednZ2d@giganews.com...> Hey, > > I get why diffrential encoder in the transmitter and then a differential > decoder at the receiver help overcome the possible 180 phase ambiguity.QPSK ambiguity of phase is 90 degrees.> what I don't get is how the viterbi decoder can handle that if we use a > convolutional coding in our communication system (assume a gray-coded > QPSK, > means 180-phase causes "00"<->"11","01"<->"10").There are special codes designed to be invariant to rotation; for tradeoff of some loss in performance.> In the receiver, the 180-phased codeword will the viterbi decoder itself > and it won't follow the right path and we won't get the correct source > word.I also can't find a justification to the idea that the trellis will > give the 180-phased right source word and we will use the differential > decoder afterwards to get the original true source word.It is possible to run 4 decoders for all 4 phase rotations, and pick one with minimum of errors. Locking on the right phase by preamble at very beginning is the other possibility.> Your help would be appreciated.How much is your appreciation? Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
Reply by ●August 14, 20122012-08-14
On Tue, 14 Aug 2012 07:17:26 -0500, "Geo85" <61484@dsprelated> wrote:>Hey, > >I get why diffrential encoder in the transmitter and then a differential >decoder at the receiver help overcome the possible 180 phase ambiguity. >what I don't get is how the viterbi decoder can handle that if we use a >convolutional coding in our communication system (assume a gray-coded QPSK, >means 180-phase causes "00"<->"11","01"<->"10"). >In the receiver, the 180-phased codeword will the viterbi decoder itself >and it won't follow the right path and we won't get the correct source >word.I also can't find a justification to the idea that the trellis will >give the 180-phased right source word and we will use the differential >decoder afterwards to get the original true source word. >Your help would be appreciated. > >Thanks, >George.I'm assuming that you really mean differential encoding as applied to the binary bit stream and not differential modulation applied to the constellation. As mentioned by others already, QPSK has four phase ambiguities, not just 0 and 180 degrees, so something has to be done to resolve the +/- 90-degree ambiguities for your system to work. You can trade off reducing the number of ambiguities by using differential encoding, but this generally comes at the cost of doubling the error rate. Also as mentioned by others already, the inverse of a valid codeword is also a valid codeword for a Viterbi decoder, so the differential encoder/decoder can be placed outside of the encoder and decoder in the system and still work. But you still have to resolve at least two of the phase ambiguities to recover the data stream. If you use differential modulation instead (at the cost of some performance), the ambiguities are all removed in the differential demodulator. Eric Jacobsen Anchor Hill Communications www.anchorhill.com
Reply by ●August 19, 20122012-08-19
<clay@claysturner.com> wrote in message news:1981fa2f-9717-4b77-a668-27210a74b0ba@googlegroups.com... On Tuesday, August 14, 2012 8:17:26 AM UTC-4, Geo85 wrote:>> I get why diffrential encoder in the transmitter and then a differential >> decoder at the receiver help overcome the possible 180 phase ambiguity. >> what I don't get is how the viterbi decoder can handle that if we use a >> convolutional coding in our communication system (assume a gray-coded >> QPSK, >> means 180-phase causes "00"<->"11","01"<->"10").>A neat feature of linear codes is a sum (exclusive or addition) of >codewords is also a codeword and if the all ones codeword is a >member of >your codeset, then an inversion of a codeword is also a codeword and thus >the error correction process doesn't need to >worry about the polarity of >the data. That gets sorted out after the error correction.It is simple enough to modify cyclic code to make all ones valid codeword. Doing the same to a convolutional code is non-trivial problem. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
Reply by ●November 11, 20122012-11-11
Is there a way to incorporate this phase ambiguity into the decoding process directly? say using sphere decoders or anything else similar? Thanks Dhiraj On Tuesday, August 14, 2012 8:17:26 AM UTC-4, Geo85 wrote:> Hey, > > > > I get why diffrential encoder in the transmitter and then a differential > > decoder at the receiver help overcome the possible 180 phase ambiguity. > > what I don't get is how the viterbi decoder can handle that if we use a > > convolutional coding in our communication system (assume a gray-coded QPSK, > > means 180-phase causes "00"<->"11","01"<->"10"). > > In the receiver, the 180-phased codeword will the viterbi decoder itself > > and it won't follow the right path and we won't get the correct source > > word.I also can't find a justification to the idea that the trellis will > > give the 180-phased right source word and we will use the differential > > decoder afterwards to get the original true source word. > > Your help would be appreciated. > > > > Thanks, > > George.
Reply by ●November 11, 20122012-11-11
Top posting for continuity. Usually there's a framing system (or other similar mechanism) with Unique Words that will reveal the proper data polarity. Many FEC codes are linear, so the inverse of a codeword is also a codeword, and a Viterbi decoder will properly decode an encoded data stream or its inverse. So the Unique Words (or whatever mechanism is used) can be either coded or uncoded, it's a system/architecture decision. Using differential coding gets around all of that. On Sat, 10 Nov 2012 21:50:33 -0800 (PST), asaidhiraj@gmail.com wrote:>Is there a way to incorporate this phase ambiguity into the decoding process directly? say using sphere decoders or anything else similar? >Thanks >Dhiraj>On Tuesday, August 14, 2012 8:17:26 AM UTC-4, Geo85 wrote: >> Hey, >> >> >> >> I get why diffrential encoder in the transmitter and then a differential >> >> decoder at the receiver help overcome the possible 180 phase ambiguity. >> >> what I don't get is how the viterbi decoder can handle that if we use a >> >> convolutional coding in our communication system (assume a gray-coded QPSK, >> >> means 180-phase causes "00"<->"11","01"<->"10"). >> >> In the receiver, the 180-phased codeword will the viterbi decoder itself >> >> and it won't follow the right path and we won't get the correct source >> >> word.I also can't find a justification to the idea that the trellis will >> >> give the 180-phased right source word and we will use the differential >> >> decoder afterwards to get the original true source word. >> >> Your help would be appreciated. >> >> >> >> Thanks, >> >> George. >Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by ●November 11, 20122012-11-11
Even more continuity-induced top posting (ick): The one system that I worked on where leaving out the differential encoding was even mentioned, the group had prototyped the whole unique- word thing before I started, and found out that a cycle slip on the carrier PLL would cause a humongous flood of errors from the Viterbi decoder, vs. only one bit error on the incoming side using differential. I've never gotten into things deep enough to know just where the A vs. B tradeoff comes in (or, for that matter, if the group I was working with just didn't know how to make decent carrier-lock PLLs). On Sun, 11 Nov 2012 16:45:22 +0000, Eric Jacobsen wrote:> Top posting for continuity. > > Usually there's a framing system (or other similar mechanism) with > Unique Words that will reveal the proper data polarity. > > Many FEC codes are linear, so the inverse of a codeword is also a > codeword, and a Viterbi decoder will properly decode an encoded data > stream or its inverse. So the Unique Words (or whatever mechanism is > used) can be either coded or uncoded, it's a system/architecture > decision. > > Using differential coding gets around all of that. > > > On Sat, 10 Nov 2012 21:50:33 -0800 (PST), asaidhiraj@gmail.com wrote: > >>Is there a way to incorporate this phase ambiguity into the decoding >>process directly? say using sphere decoders or anything else similar? >>Thanks Dhiraj > >>On Tuesday, August 14, 2012 8:17:26 AM UTC-4, Geo85 wrote: >>> Hey, >>> >>> >>> >>> I get why diffrential encoder in the transmitter and then a >>> differential >>> >>> decoder at the receiver help overcome the possible 180 phase >>> ambiguity. >>> >>> what I don't get is how the viterbi decoder can handle that if we use >>> a >>> >>> convolutional coding in our communication system (assume a gray-coded >>> QPSK, >>> >>> means 180-phase causes "00"<->"11","01"<->"10"). >>> >>> In the receiver, the 180-phased codeword will the viterbi decoder >>> itself >>> >>> and it won't follow the right path and we won't get the correct source >>> >>> word.I also can't find a justification to the idea that the trellis >>> will >>> >>> give the 180-phased right source word and we will use the differential >>> >>> decoder afterwards to get the original true source word. >>> >>> Your help would be appreciated. >>> >>> >>> >>> Thanks, >>> >>> George. >> >> > Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com-- Tim Wescott Control system and signal processing consulting www.wescottdesign.com