From: Jerry Avins on 26 Feb 2010 20:40 Jerry Avins wrote: > Jerry Avins wrote: >> Pat Z wrote: >>> On Feb 26, 5:13 pm, John <sampson...(a)gmail.com> wrote: >>>> On Feb 26, 7:42 pm, Pat Z <patrick....(a)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. ����������������������������������������������������������������������
From: Tim Wescott on 26 Feb 2010 20:42 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 signals All 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
From: suren on 26 Feb 2010 22:09 On Feb 27, 5:42 am, Pat Z <patrick....(a)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 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
From: Pat Z on 26 Feb 2010 22:57 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
From: suren on 27 Feb 2010 00:17 On Feb 27, 8:57 am, Pat Z <patrick....(a)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 > > sure Hi, 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
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: C File I/O (fread) Problem Next: RTTY (AFSK) demodulation |