Hi, Suppose in the GMSK receiver side, I got I & Q sample data. Are the following steps able to recover the original data? 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals 2) differentiate on C(t). This is the adding result of each pulse. 3) Should I remove every pi/2 to get the original data then? thanks pat
GMSK recover from I, Q sample data
Started by ●February 26, 2010
Reply by ●February 26, 20102010-02-26
On Feb 26, 7:42�pm, Pat Z <patrick....@gmail.com> wrote:> Hi, > > Suppose in the GMSK receiver side, I got I & Q sample data. Are the > following steps able to recover the original data? > > 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals > 2) differentiate on C(t). This is the adding result of each pulse. > 3) Should I remove every pi/2 to get the original data then? > > thanks > patNo
Reply by ●February 26, 20102010-02-26
On Feb 26, 5:13�pm, John <sampson...@gmail.com> wrote:> On Feb 26, 7:42�pm, Pat Z <patrick....@gmail.com> wrote: > > > Hi, > > > Suppose in the GMSK receiver side, I got I & Q sample data. Are the > > following steps able to recover the original data? > > > 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals > > 2) differentiate on C(t). This is the adding result of each pulse. > > 3) Should I remove every pi/2 to get the original data then? > > > thanks > > pat > > NoWhy can't? can you explain a little bit? thanks
Reply by ●February 26, 20102010-02-26
Pat Z wrote:> On Feb 26, 5:13 pm, John <sampson...@gmail.com> wrote: >> On Feb 26, 7:42 pm, Pat Z <patrick....@gmail.com> wrote: >> >>> Hi, >>> Suppose in the GMSK receiver side, I got I & Q sample data. Are the >>> following steps able to recover the original data? >>> 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals >>> 2) differentiate on C(t). This is the adding result of each pulse. >>> 3) Should I remove every pi/2 to get the original data then? >>> thanks >>> pat >> No > > Why can't? can you explain a little bit?First, don't you mean sqrt(I)^2 + sqrt(Q)^2? Jerry -- Leopold Kronecker on mathematics: God created the integers, all else is the work of man. ����������������������������������������������������������������������
Reply by ●February 26, 20102010-02-26
Jerry Avins wrote:> Pat Z wrote: >> On Feb 26, 5:13 pm, John <sampson...@gmail.com> wrote: >>> On Feb 26, 7:42 pm, Pat Z <patrick....@gmail.com> wrote: >>> >>>> Hi, >>>> Suppose in the GMSK receiver side, I got I & Q sample data. Are the >>>> following steps able to recover the original data? >>>> 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals >>>> 2) differentiate on C(t). This is the adding result of each pulse. >>>> 3) Should I remove every pi/2 to get the original data then? >>>> thanks >>>> pat >>> No >> >> Why can't? can you explain a little bit? > > First, don't you mean sqrt(I)^2 + sqrt(Q)^2?I meant sqrt(I^2) + sqrt(Q^2). Jerry -- Leopold Kronecker on mathematics: God created the integers, all else is the work of man. ����������������������������������������������������������������������
Reply by ●February 26, 20102010-02-26
Jerry Avins wrote:> Jerry Avins wrote: >> Pat Z wrote: >>> On Feb 26, 5:13 pm, John <sampson...@gmail.com> wrote: >>>> On Feb 26, 7:42 pm, Pat Z <patrick....@gmail.com> wrote: >>>> >>>>> Hi, >>>>> Suppose in the GMSK receiver side, I got I & Q sample data. Are the >>>>> following steps able to recover the original data? >>>>> 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals >>>>> 2) differentiate on C(t). This is the adding result of each pulse. >>>>> 3) Should I remove every pi/2 to get the original data then? >>>>> thanks >>>>> pat >>>> No >>> >>> Why can't? can you explain a little bit? >> >> First, don't you mean sqrt(I)^2 + sqrt(Q)^2? > > I meant sqrt(I^2) + sqrt(Q^2).Gaah! I meant sqrt(I^2 + Q^2). I need my evening coffee! Jerry -- Leopold Kronecker on mathematics: God created the integers, all else is the work of man. ����������������������������������������������������������������������
Reply by ●February 26, 20102010-02-26
Pat Z wrote:> Hi, > > Suppose in the GMSK receiver side, I got I & Q sample data. Are the > following steps able to recover the original data? > > 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signalsAll the information is in the phase, and this step throws all information about phase out the window.> 2) differentiate on C(t). This is the adding result of each pulse. > 3) Should I remove every pi/2 to get the original data then?After step 1, nothing you do will get you what you want. If the Gaussian spreading isn't too great you can receive GMSK with an MSK receiver, and treat the result of spreading as some intersymbol interference. See http://www.wescottdesign.com/articles/MSK/mskTop.html for a really old, really crude, really student (but really working) design of an MSK receiver. It was, according to my thesis advisor, the second receiver design ever conceived and made to work for the USGC DGPS datalink service. As an alternative, you can filter the GMSK with a matched filter and run the result through a discriminator (maybe clip it to a constant absolute value first). This will probably lose you some SNR (someone here will comment on whether this is true), but it'll certainly get you up and running quickly. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Reply by ●February 26, 20102010-02-26
On Feb 27, 5:42�am, Pat Z <patrick....@gmail.com> wrote:> Hi, > > Suppose in the GMSK receiver side, I got I & Q sample data. Are the > following steps able to recover the original data? > > 1) calculate sqrt(I) + sqrt(Q) = C(t) to obtain the integrated signals > 2) differentiate on C(t). This is the adding result of each pulse. > 3) Should I remove every pi/2 to get the original data then? > > thanks > patHi Pat, you can compute phi = atan2(Q,I) and compute d(phi) (use diff(phi) in matlab). This will directly give you the frequency information Then you could hardslice to find if transmitted data was +/-1 Regards sure
Reply by ●February 26, 20102010-02-26
Hi, Sure, Can I ask you why atan2 would work? I thought Q^2 + I^2 will bring me back the incrementally added phase information. Why would tangent do? thanks Pat> Hi Pat, > you can compute phi = atan2(Q,I) and compute d(phi) (use diff(phi) in > matlab). This will directly give you the frequency information Then > you could hardslice to find if transmitted data was +/-1 > > Regards > sure
Reply by ●February 27, 20102010-02-27
On Feb 27, 8:57�am, Pat Z <patrick....@gmail.com> wrote:> Hi, Sure, > > Can I ask you why atan2 would work? I thought Q^2 + I^2 will bring me > back the incrementally added phase information. Why would tangent do? > > thanks > Pat > > > Hi Pat, > > you can compute phi = atan2(Q,I) and compute d(phi) (use diff(phi) in > > matlab). This will directly give you the frequency information Then > > you could hardslice to find if transmitted data was +/-1 > > > Regards > > sureHi, Thats because of the structure of the GFSK signal. The GFSK signal can be represented as x(t) = A Cos(wt+theta(t)) All the information is in theta(t). theta(t) = 2*pi*h *integral g(tau) d(tau)where g(t) is the modulating waveform and the limits of integration are from -infinity to t and h is the modulation index If you express the integral as a summation, you notice that theta(nT) = 2*pi*h *T summation(g(kT)) where limits of summation is from -infinity to n, where T is symbol duration With the above, you can exress theta(nT) = theta((n-1)T) + 2*pi*h*T*g(nT), So notice that the difference in angle will give you the information sequence. So we use atan which is inverse tangent to compute the angle and take difference with previous angle Hope this helps. Regards suren






