[Discuss-gnuradio] synchronizing sound cards in a cluster (fwd)

Eugen Leitl eugen at leitl.org
Thu Mar 13 21:07:39 PST 2003

This is getting too off-topic, so this should be the last post.
---------- Forwarded message ----------
Date: Thu, 13 Mar 2003 18:57:33 -0800 (PST)
From: Chris Albertson <chrisalbertson90278 at yahoo.com>
To: Eugen Leitl <eugen at leitl.org>, discuss-gnuradio at gnu.org
Subject: Re: [Discuss-gnuradio] synchronizing sound cards in a cluster (fwd)

This is to long, skip to last paragraph.

I notice on your sig line you are at JPL.  I'm cross town at
The Aerospace Corporation.  I think the way they handle this problem
is to get a time souce and have it broadcast time signals on the
network. The systems would pick up these UDP packets and mix them into
the analog samples.  

You could also use NTP to keep the PC clocks in sync to the "few micro
second" level.  NTP would work very well, to the microsecond level
if you could distribute a pulse per second signal to each PC.

If you can give up one channel of audio.  then broadcast a sine wave
to all the left channels and the real signal to all the right
channels, takes twice as many sound cards but in post processing
to add "warp" the sound file so as to keep all the reference sine
waves in phase.

One more idea:  This is harder and it costs you bandwidth but not
a whole channel like above.  Add a reference signal to your adalog
signal.  You will later filter this out  Like above the reference
signal must be delivered in phase to each sound card.

Try using NTP first.  With something like a GPS reciever providing a
pulse per second that is distributed in phase to each PC, NTP may be
able to keep the local clocks in sync at the microsecond level.

We have a telemetry lab here. They mix IRIG (very stable local
time source.)  with the signal and record the mixture.  IRIG-B is
only 100 pulses per second but the local oscilatoris very stable.
Some kind of atomic clock.  Now days GPS can give good stable
souce of time at lower cost.

My opinion is the sooner a stable clock gets mixed with your data
the better.  More of their paths will be the same.  but also the harder
to do. The best an hardest is to mix a time code signal with the analog
data before it is sampled.  Worst case is to distribute the clock over
Ethernet, use that to keep you local clock in sync using ntpd and then
mix the clock with the data using software in the PC to read from the
sound card and local close alternatly. Botom line is, your sampled data
has to be mixed with a clock.  

--- Eugen Leitl <eugen at leitl.org> wrote:
> ---------- Forwarded message ----------
> Date: Thu, 13 Mar 2003 11:56:19 -0800
> From: Jim Lux <James.P.Lux at jpl.nasa.gov>
> To: beowulf at beowulf.org
> Subject: synchronizing sound cards in a cluster
> Anybody have any good ideas on how to synchronize the sampling from 
> multiple sound cards in a cluster using Ethernet as the interconnect.
> The 
> application would grab data from the sound card (notionally at 100 
> ksamples/second total, for two channels) and do a ton of signal 
> processing.  At some point in the processing, the streams of data
> need to 
> be shared between processors (i.e. to do beamforming), and so, needs
> to be 
> time registered.
> The bandwidth isn't a real challenge here (with, say, 16 processors,
> that's 
> only about 32 Mbps total), nor is latency, but synchronization is.
> One can fairly easily synchronize to a millisecond over Ethernet, but
> this 
> application needs sync to, at worst, 1 sample time (20 microseconds) 
> although order of a microsecond would be nice.
> James Lux, P.E.
> Spacecraft Telecommunications Section
> Jet Propulsion Laboratory, Mail Stop 161-213
> 4800 Oak Grove Drive
> Pasadena CA 91109
> tel: (818)354-2075
> fax: (818)393-6875
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio at gnu.org
> http://mail.gnu.org/mailman/listinfo/discuss-gnuradio

Chris Albertson
  Home:   310-376-1029  chrisalbertson90278 at yahoo.com
  Cell:   310-990-7550
  Office: 310-336-5189  Christopher.J.Albertson at aero.org

Do you Yahoo!?
Yahoo! Web Hosting - establish your business online

Discuss-gnuradio mailing list
Discuss-gnuradio at gnu.org

More information about the Beowulf mailing list