Hi Peter, Stefan and the group,
Peter asked:
How to lock the sample rate of a sound card against a MSK modulated signal?
The only idea I have is to demodulate it and locking a re-sampling process
against one of the two carriers - by software. May be there's the key.
Usually no resampling - that would be too much overhead. The soundcard's
ever-changing sample rate is simply taken into account at various
processing stages, most noteably the NCO (numerically controlled
oscillator) which mixes the observed band down to baseband (before the
decimator chain, and before the complex FFT).
The MSK signal, when used as reference, is indeed demodulated (but not
decoded of course) by squaring it after lowpass-filtering and
decimation. The two peaks at f_center +/- 0.75 * bitrate are used to
measure the instantaneous sampling rate (using a complex FFT, and
comparing the phases in the peak FFTs beens between two calculations,
i.e. once every few seconds). The program then tries to predict the
sampling rate for the next chunks of digitized samples for the rest of
the application, because the length of a processing chunk is usually
much less than the measuring interval. Very fast sample rate drift
cannot be compensated this way, but for FFT resolutions in the range of
a mHz or less, it's sufficient.
Cheers,
Wolf .
|