Tom,
It's been awhile since I did soundcard SSTV, but the program MMSSTV uses the 
time ticks from WWV to do a calculation similar to what you describe.  You tune 
in WWV on your receiver, which is coupled to your computer's soundcard.  The 
MMSSTV calibration routine puts a raster scan on the screen.  You adjust the 
calibration factor so that the time ticks are lined up vertically from top to 
bottom.  The code is proprietary, but I suspect that he is merely dumping bytes 
from the soundcard on the screen, and the calibration value is some sort of 
multiplier for the soundcard's clock rate.  Someone who has done soundcard FFT 
programming might have a better idea.

Bob

      From: Tom Van Baak <[email protected]>
 To: Discussion of precise time and frequency measurement <[email protected]> 
 Sent: Saturday, October 31, 2015 7:58 PM
 Subject: Re: [time-nuts] Beginners GPS locked frequency counter question
   
>  As an aside, I work low frequency RF transmissions on 136 Mhz, and
>  very narrow bandwidth. Can a soundcard be locked to GPS instead of
>  its own internal crystal for precise frequency output?

Chris,

It might first be interesting to see how far off the frequency is before you 
worry about disciplining it with GPS.

One trick that I use is to make the soundcard generate 1 Hz pulses and compare 
that against GPS with a TI counter. The tool is 1hz.c 1hz.exe in my tools 
directory (http://leapsecond.com/tools). This avoids having to open up the 
computer and probe or buffer the soundcard oscillator.

If you collect a long enough data set you will also get a feel for how stable 
the oscillator is; something you will need to know to tune your GPSDO 
algorithms.

But wait, there's more. If you find that your soundcard oscillator is, say, 
12.34 ppm fast -- you don't actually have to tune or discipline or replace the 
physical oscillator. Instead just change the software that's writing to the 
soundcard and have it generate waveforms that it thinks are 12.34 ppm too slow. 
In other words, instead of defining PCM_RATE 48000 as a constant, you set 
pcm_rate = 48000 * (1 + 12.34e-6) as a variable. One line of code.

It gets even better. If all you need is one channel of output, then generate 
your waveform on the L channel and generate 1PPS on the R channel. Use a TBolt 
and TIC to continuously measure R vs. 1PPS and send those readings back to the 
PC for averaging. As the time interval grows (indicating a frequency offset) 
beyond acceptable levels, then make corresponding changes your pcm_rate 
variable. This essentially becomes a software GPSDO. No h/w changes are 
required to the board; you don't even have to open the case. The output 
waveform will always be spot on-frequency, regardless of soundcard oscillator 
frequency offset and drift.

/tvb

_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.


  
_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to