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?

# GMSK/MSK constellation derotation and Channel impulse response estimation

Started by ●August 7, 2008

Reply by ●August 7, 20082008-08-07

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

Reply by ●August 7, 20082008-08-07

On Aug 7, 3:09�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. > > ChintanThe 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)?

Reply by ●August 8, 20082008-08-08

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

Reply by ●December 27, 20082008-12-27

>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 estimationfrom>> training sequence -> MLSE (viterbi) equalizer >> >> The constellation derotation is supposed to collapse the four endpoints>> 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 amultiplicaiton>> 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 binarysymbols>> 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,... resultsin>> 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 thanthe>> input. Would it not mess up the CIR calculation based on a known >> training sequence? Would it not result in incorrect sequenceestimation>> 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