From: Jerry Avins on
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
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
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
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
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