[time-nuts] NAA experiments as a reference

Jim Lux jimlux at earthlink.net
Sun Sep 14 14:26:04 EDT 2014


On 9/14/14, 8:23 AM, Bob Camp wrote:
> Hi
>
> Remember that one model for FSK is a pair of AM signals that “just
> happen” to represent an FSK waveform. With normal FSK if you tune to
> one side, you will get a nice AM carrier and sidebands. With MSK it’s
> a bit more complex since they to do some cute stuff to cut down the
> bandwidth. It’s still got a pair of spikes in the spectrum at the
> upper and lower shift frequencies.

For GMSK, it looks more like a flattop with no ears.  Straight MFSK has 
the ears.


>
> Probably the best way to get a timing signal is to recover the
> modulation and then “subtract” it from the original in software. That
> would be crazy with a high speed signal. With something like this - a
> pc plus  sound card probably can do the job. More or less - “that
> must have been a 1 = do this to the history buffer, that must have
> been a zero = do that to the history buffer”. You would need to know
> a bit about how they filter their data stream for it to work well.
> The “proof” that you had it right would be a nice clean sine wave
> communing out of the history buffer. Spit it out the audio output
> port on the sound card and take a look …..


There's several ways to demodulate MSK/GMSK.  One way is to use a 
discriminator followed by an appropriate matched filter.  Typically, 
there's some sort of symbol timing tracking loop that depends on there 
being transitions periodically to keep the loop going.  A costas loop 
might work for carrier tracking, if that's what you want to do. It would 
have better SNR performance because it's coherent, while most 
discriminator approaches are incoherent detection.


there's quite a few gnuradio demodulators out there, and that might be a 
good way to get started.  At least the source code will give you the 
algorithm, if you don't want to bring in all the rest of gnuradio (which 
can be somewhat of an ordeal).

The big paper everyone cites on timing recovery is from Mueller and 
Mueller  (actually, an umlaut u in the last name).
http://www.mathworks.com/help/comm/ref/muellermullertimingrecovery.html 
describes the simulink block.


this might also be interesting:
The MSK-Type Signal Timing Recovery block recovers the symbol timing 
phase of the input signal using a fourth-order nonlinearity method. This 
block implements a general non-data-aided feedback method that is 
independent of carrier phase recovery but requires prior compensation 
for the carrier frequency offset. This block is suitable for systems 
that use baseband minimum shift keying (MSK) modulation or Gaussian 
minimum shift keying (GMSK) modulation.
http://www.mathworks.com/help/comm/ref/msktypesignaltimingrecovery.html

>
> No I haven’t thought real hard about all the implications of doing
> that, there might be a gotcha in there somewhere. I’m assuming that
> they have a pretty predictable clock on their data. Beyond that I
> don’t think there are any other weird assumptions. I’d probably do
> the “de-fsk” by a phase modulation on the buffer. There might be a
> practical bump in the road there.


You might look at the venerable G3RUH 9600 baud modem implementation, 
which is a form of MSK.  DPLL for symbol timing.


>
> Bob
>
> On Sep 14, 2014, at 10:20 AM, paul swed <paulswedb at gmail.com> wrote:
>
>> OK I am use to traditional fsk that typically had a far wide shift
>> then the baud. What you say would match what the tracor book says
>> and the system is designed for. I still do not see why if I offset
>> the LO to -150 hz I get a useful display to judge timing. I am
>> using the lissajous method. Regards Paul WB8TSL
>>
>> On Sat, Sep 13, 2014 at 11:25 PM, Jim Lux <jimlux at earthlink.net>
>> wrote:
>>
>>> On 9/13/14, 7:13 PM, paul swed wrote:
>>>
>>> If NAA is transmitting 200 baud then I would expect the MSK
>>> carrier to be
>>>> +/- 100 Hz. Not +/-50 Hz.
>>>>
>>>>
>>> I'd expect the total shift to be half the baud rate: 100 Hz..
>>>
>>>
>>> _______________________________________________ time-nuts mailing
>>> list -- time-nuts at febo.com To unsubscribe, go to
>>> https://www.febo.com/cgi-bin/ mailman/listinfo/time-nuts and
>>> follow the instructions there.
>>>
>> _______________________________________________ time-nuts mailing
>> list -- time-nuts at febo.com To unsubscribe, go to
>> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow
>> the instructions there.
>
> _______________________________________________ time-nuts mailing
> list -- time-nuts at febo.com To unsubscribe, go to
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow
> the instructions there.
>



More information about the time-nuts mailing list