DSPRelated.com
Forums

GMSK/MSK constellation derotation and Channel impulse response estimation

Started by ane August 7, 2008
I am trying to implement a GMSK receiver I have a block diagram of the
receiver which is like this

Received IQ Samples - >  constellation derotation -> CIR estimation
from training sequence -> MLSE (viterbi) equalizer

The constellation derotation is supposed to collapse the four end
points of GMSK constellations (+1, +j,-1,-j) to a two point (+1,-1)
constellation.


My question is how exactly are the constellation derotation and CIR
estimation are supposed to performed?  From what I have figured it out
so far, the constellation derotation is supposed to by a
multiplicaiton by exp{-j*n*pi/2}  for n=1,2,3,4  i.e. every four
received IQ samples are multiplied by {-j,-1,+j,1}.  The goal is to
limit the binary symbols to 2 (+1,-1) so that the MLSE equlaizer has
2^L states.  However, this multiplication by exp{-j*n*pi/2} seem to
totally change the pulse sequence.  For example, if we skip the
filtering for a moment (MSK modulation) and consider a pulse train
+1,+1,-1,-1,+1,+1,+1,-1,-1,...  and starting phase 0, then the
modulated IQ samples are +j,-1,+j,+1,+j,-1,+j,+1,...multiplication by -
j,-1,+j,+1,... results in the derotated sequence of
+1,+1,-1,+1,+1,-1,+1,+1...  Which, while limited to symbols(+1,-1), is
a different pulse train sequence than the input.  Would it not mess up
the CIR calculation based on a known training sequence?  Would it not
result in incorrect sequence estimation by the viterbi equalizer?






Hi

>My question is how exactly are the constellation derotation and CIR >estimation are supposed to performed?
I dont knw abt constellation derotation but to estimate CIR, u need to corss correlate the o/p constellation derotation(as per ur diagram) with the training sequence. But can u tell more abt the structure of packet? i.e. what is the training sequence? is it BPSK or QPSK? Generally, after the I-Q down conversion, the o/p is xcorrelated with known training sequence. Hope this helps. Chintan
On Aug 7, 3:09&#4294967295;pm, "cpshah99" <cpsha...@rediffmail.com> wrote:
> Hi > > >My question is how exactly are the constellation derotation and CIR > >estimation are supposed to performed? > > I dont knw abt constellation derotation but to estimate CIR, u need to > corss correlate the o/p constellation derotation(as per ur diagram) with > the training sequence. > > But can u tell more abt the structure of packet? i.e. what is the training > sequence? is it BPSK or QPSK? > > Generally, after the I-Q down conversion, the o/p is xcorrelated with > known training sequence. > > Hope this helps. > > Chintan
The modulation is GMSK. The training sequence is alternating sequence of 00s and 11s (00110011...) or (-1-1+1+1-1-1+1+1...) . The question is regardlessof whther you use cross correlation, deconvolution, least squares, LMS or any other method for CIR estimation what would you use as the known training sequence? (-1-1+1+1...) or the ideal derotated version of it(without gaussian filtering)?
On Thu, 07 Aug 2008 11:31:48 -0700, ane wrote:

> I am trying to implement a GMSK receiver I have a block diagram of the > receiver which is like this > > Received IQ Samples - > constellation derotation -> CIR estimation from > training sequence -> MLSE (viterbi) equalizer > > The constellation derotation is supposed to collapse the four end points > of GMSK constellations (+1, +j,-1,-j) to a two point (+1,-1) > constellation. > > > My question is how exactly are the constellation derotation and CIR > estimation are supposed to performed? From what I have figured it out > so far, the constellation derotation is supposed to by a multiplicaiton > by exp{-j*n*pi/2} for n=1,2,3,4 i.e. every four received IQ samples > are multiplied by {-j,-1,+j,1}. The goal is to limit the binary symbols > to 2 (+1,-1) so that the MLSE equlaizer has 2^L states. However, this > multiplication by exp{-j*n*pi/2} seem to totally change the pulse > sequence. For example, if we skip the filtering for a moment (MSK > modulation) and consider a pulse train +1,+1,-1,-1,+1,+1,+1,-1,-1,... > and starting phase 0, then the modulated IQ samples are > +j,-1,+j,+1,+j,-1,+j,+1,...multiplication by - j,-1,+j,+1,... results in > the derotated sequence of +1,+1,-1,+1,+1,-1,+1,+1... Which, while > limited to symbols(+1,-1), is a different pulse train sequence than the > input. Would it not mess up the CIR calculation based on a known > training sequence? Would it not result in incorrect sequence estimation > by the viterbi equalizer?
Could they be using differential GMSK, where a transmitted '1' means a forward rotation of the phase, and a transmitted '0' means a reverse rotation of the phase? Seems like after derotation you'd still have a differential BPSK-ish signal to decode... -- Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
>On Thu, 07 Aug 2008 11:31:48 -0700, ane wrote: > >> I am trying to implement a GMSK receiver I have a block diagram of the >> receiver which is like this >> >> Received IQ Samples - > constellation derotation -> CIR estimation
from
>> training sequence -> MLSE (viterbi) equalizer >> >> The constellation derotation is supposed to collapse the four end
points
>> of GMSK constellations (+1, +j,-1,-j) to a two point (+1,-1) >> constellation. >> >> >> My question is how exactly are the constellation derotation and CIR >> estimation are supposed to performed? From what I have figured it out >> so far, the constellation derotation is supposed to by a
multiplicaiton
>> by exp{-j*n*pi/2} for n=1,2,3,4 i.e. every four received IQ samples >> are multiplied by {-j,-1,+j,1}. The goal is to limit the binary
symbols
>> to 2 (+1,-1) so that the MLSE equlaizer has 2^L states. However, this >> multiplication by exp{-j*n*pi/2} seem to totally change the pulse >> sequence. For example, if we skip the filtering for a moment (MSK >> modulation) and consider a pulse train +1,+1,-1,-1,+1,+1,+1,-1,-1,... >> and starting phase 0, then the modulated IQ samples are >> +j,-1,+j,+1,+j,-1,+j,+1,...multiplication by - j,-1,+j,+1,... results
in
>> the derotated sequence of +1,+1,-1,+1,+1,-1,+1,+1... Which, while >> limited to symbols(+1,-1), is a different pulse train sequence than
the
>> input. Would it not mess up the CIR calculation based on a known >> training sequence? Would it not result in incorrect sequence
estimation
>> by the viterbi equalizer? > >Could they be using differential GMSK, where a transmitted '1' means a >forward rotation of the phase, and a transmitted '0' means a reverse >rotation of the phase? > >Seems like after derotation you'd still have a differential BPSK-ish >signal to decode... > >-- >Tim Wescott >Control systems and communications consulting >http://www.wescottdesign.com > >Need to learn how to apply control theory in your embedded system? >"Applied Control Theory for Embedded Systems" by Tim Wescott >Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html >
Hi Tim, Yes, you are right. GMSK can be interpreted a differential BPSK after a -PI/2 derotation being employed. But here I want also to point out a mistake in ane's example. The right one is below. A(n): 0, 0, 1, 1, 0, 0, 0, 1, 1 Original: +1,+1,-1,-1,+1,+1,+1,-1,-1 original= 1-2A(n) phase=0: +j,-1,+j,+1,+j,-1,-J,-1,+j; derotate: -j,-1,+j,+1,-j,-1,+j,+1,-j result: +1,+1,-1,+1,+1,+1,+1,-1,+1 B(n): 0, 0, 1, 0, 0, 0, 0, 1, 0 D(n): 0, 0, 1, 1, 0, 0, 0, 1, 1 A(n)=D(n). This means that after derotation we have to decode the differential code. Hope I say it clear. Fan