time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Audio format with embedded timestamps?

MS
Mark Sims
Thu, Dec 1, 2016 4:33 PM

I played with trying to get Lady Heather to generate an IRIG audio signal.  I never got it to work well... maybe someday...


One other idea:  Use a stereo audio format and record your audio to one

track and a time code (like IRIG) on the other track.  IRIG works even on
analog multitrack tape recorders.  Use it the same way on digital
multitrack recordings.  Google IRIG Time Code.

I played with trying to get Lady Heather to generate an IRIG audio signal. I never got it to work well... maybe someday... ------------------- > One other idea: Use a stereo audio format and record your audio to one track and a time code (like IRIG) on the other track. IRIG works even on analog multitrack tape recorders. Use it the same way on digital multitrack recordings. Google IRIG Time Code.
CA
Chris Albertson
Thu, Dec 1, 2016 6:09 PM

IIn theory it is  pretty easy, first discipline the system clock using
something like NTP then interrupt on the system clock and the interrupt
handler runs a state machine. But if you need to output IRIG-B and when to
generate the sine wave carier in software you end up with latency in the
audio output because it buffers.  Baseband output of a one bit output
could work under Linux but then you'd need external hardware modulate a
carrier.

I think IRIG is best done on a small microcontroiller, perhaps tuning a
light weight RTOS where you can set up a hard 1KHz hardware interrupt.

Either way I think yu have three threads

  1. Read the GPS PPS and use this to phase lock some kind of oscillator.
    NTP does this.  If will lock the system clock to GPS
    2, Generate interrupts at the IRIG frame rate from the above sync's
    oscillator/clock
  2. output points on the carier that are modulated by the frames that are
    computed in thread #2.

You might be able to write loop that in effect implements three threads by
polling the system clock.  You end up with one if statement per thread that
reads IF (time do do thread N) {run thread N}
or you let the POSIX thread system do the work or yu are running on a small
uP and set up hardware trimmer interrupts or let the RTOS do that for you.

Thinking about this, IRIG-B generation would be best done inside the same
uP that runs a GPSDO.

On Thu, Dec 1, 2016 at 8:33 AM, Mark Sims holrum@hotmail.com wrote:

I played with trying to get Lady Heather to generate an IRIG audio
signal.  I never got it to work well... maybe someday...


One other idea:  Use a stereo audio format and record your audio to one

track and a time code (like IRIG) on the other track.  IRIG works even on
analog multitrack tape recorders.  Use it the same way on digital
multitrack recordings.  Google IRIG Time Code.


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

--

Chris Albertson
Redondo Beach, California

IIn theory it is pretty easy, first discipline the system clock using something like NTP then interrupt on the system clock and the interrupt handler runs a state machine. But if you need to output IRIG-B and when to generate the sine wave carier in software you end up with latency in the audio output because it buffers. Baseband output of a one bit output could work under Linux but then you'd need external hardware modulate a carrier. I think IRIG is best done on a small microcontroiller, perhaps tuning a light weight RTOS where you can set up a hard 1KHz hardware interrupt. Either way I think yu have three threads 1. Read the GPS PPS and use this to phase lock some kind of oscillator. NTP does this. If will lock the system clock to GPS 2, Generate interrupts at the IRIG frame rate from the above sync's oscillator/clock 3. output points on the carier that are modulated by the frames that are computed in thread #2. You might be able to write loop that in effect implements three threads by polling the system clock. You end up with one if statement per thread that reads IF (time do do thread N) {run thread N} or you let the POSIX thread system do the work or yu are running on a small uP and set up hardware trimmer interrupts or let the RTOS do that for you. Thinking about this, IRIG-B generation would be best done inside the same uP that runs a GPSDO. On Thu, Dec 1, 2016 at 8:33 AM, Mark Sims <holrum@hotmail.com> wrote: > I played with trying to get Lady Heather to generate an IRIG audio > signal. I never got it to work well... maybe someday... > > ------------------- > > > One other idea: Use a stereo audio format and record your audio to one > track and a time code (like IRIG) on the other track. IRIG works even on > analog multitrack tape recorders. Use it the same way on digital > multitrack recordings. Google IRIG Time Code. > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/ > mailman/listinfo/time-nuts > and follow the instructions there. > -- Chris Albertson Redondo Beach, California
BC
Bob Camp
Thu, Dec 1, 2016 6:30 PM

Hi

If you are after one of the AM modulated versions of IRIG, an MCU with
a flash image of a 1 and a 0 as a sine wave to feed the DAC or PWM
will get you a long way. If it’s an ARM with DMA to drive the PWM, there isn’t
much overhead involved.  You may be looking at a < $1 chip. At that point
it’s not a real big decision. Syncing things up to a few microseconds isn’t
all that hard in this case.

Bob

On Dec 1, 2016, at 1:09 PM, Chris Albertson albertson.chris@gmail.com wrote:

IIn theory it is  pretty easy, first discipline the system clock using
something like NTP then interrupt on the system clock and the interrupt
handler runs a state machine. But if you need to output IRIG-B and when to
generate the sine wave carier in software you end up with latency in the
audio output because it buffers.  Baseband output of a one bit output
could work under Linux but then you'd need external hardware modulate a
carrier.

I think IRIG is best done on a small microcontroiller, perhaps tuning a
light weight RTOS where you can set up a hard 1KHz hardware interrupt.

Either way I think yu have three threads

  1. Read the GPS PPS and use this to phase lock some kind of oscillator.
    NTP does this.  If will lock the system clock to GPS
    2, Generate interrupts at the IRIG frame rate from the above sync's
    oscillator/clock
  2. output points on the carier that are modulated by the frames that are
    computed in thread #2.

You might be able to write loop that in effect implements three threads by
polling the system clock.  You end up with one if statement per thread that
reads IF (time do do thread N) {run thread N}
or you let the POSIX thread system do the work or yu are running on a small
uP and set up hardware trimmer interrupts or let the RTOS do that for you.

Thinking about this, IRIG-B generation would be best done inside the same
uP that runs a GPSDO.

On Thu, Dec 1, 2016 at 8:33 AM, Mark Sims holrum@hotmail.com wrote:

I played with trying to get Lady Heather to generate an IRIG audio
signal.  I never got it to work well... maybe someday...


One other idea:  Use a stereo audio format and record your audio to one

track and a time code (like IRIG) on the other track.  IRIG works even on
analog multitrack tape recorders.  Use it the same way on digital
multitrack recordings.  Google IRIG Time Code.


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

--

Chris Albertson
Redondo Beach, California


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

Hi If you are after one of the AM modulated versions of IRIG, an MCU with a flash image of a 1 and a 0 as a sine wave to feed the DAC or PWM will get you a long way. If it’s an ARM with DMA to drive the PWM, there isn’t much overhead involved. You may be looking at a < $1 chip. At that point it’s not a real big decision. Syncing things up to a few microseconds isn’t all that hard in this case. Bob > On Dec 1, 2016, at 1:09 PM, Chris Albertson <albertson.chris@gmail.com> wrote: > > IIn theory it is pretty easy, first discipline the system clock using > something like NTP then interrupt on the system clock and the interrupt > handler runs a state machine. But if you need to output IRIG-B and when to > generate the sine wave carier in software you end up with latency in the > audio output because it buffers. Baseband output of a one bit output > could work under Linux but then you'd need external hardware modulate a > carrier. > > I think IRIG is best done on a small microcontroiller, perhaps tuning a > light weight RTOS where you can set up a hard 1KHz hardware interrupt. > > Either way I think yu have three threads > 1. Read the GPS PPS and use this to phase lock some kind of oscillator. > NTP does this. If will lock the system clock to GPS > 2, Generate interrupts at the IRIG frame rate from the above sync's > oscillator/clock > 3. output points on the carier that are modulated by the frames that are > computed in thread #2. > > You might be able to write loop that in effect implements three threads by > polling the system clock. You end up with one if statement per thread that > reads IF (time do do thread N) {run thread N} > or you let the POSIX thread system do the work or yu are running on a small > uP and set up hardware trimmer interrupts or let the RTOS do that for you. > > Thinking about this, IRIG-B generation would be best done inside the same > uP that runs a GPSDO. > > > On Thu, Dec 1, 2016 at 8:33 AM, Mark Sims <holrum@hotmail.com> wrote: > >> I played with trying to get Lady Heather to generate an IRIG audio >> signal. I never got it to work well... maybe someday... >> >> ------------------- >> >>> One other idea: Use a stereo audio format and record your audio to one >> track and a time code (like IRIG) on the other track. IRIG works even on >> analog multitrack tape recorders. Use it the same way on digital >> multitrack recordings. Google IRIG Time Code. >> _______________________________________________ >> time-nuts mailing list -- time-nuts@febo.com >> To unsubscribe, go to https://www.febo.com/cgi-bin/ >> mailman/listinfo/time-nuts >> and follow the instructions there. >> > > > > -- > > Chris Albertson > Redondo Beach, California > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.