[linux-audio-dev] Setting the Beat of a Clock

fons adriaensen fons.adriaensen at skynet.be
Tue Sep 27 23:38:36 UTC 2005


On Tue, Sep 27, 2005 at 11:18:48PM +0100, James Courtier-Dutton wrote:

> I am thinking that it might be better to use an optical instrument to 
> measure the timing.
> 
> Just place the optical sensor in the center (or a pair of sensors if you 
> also need to know direction) and measure the interruption of the beam.
> This could potentially measure the position of the pendulum accurately.

That's feasable.

> You would then not need any fancy Digital signal processing to recognise 
> the tick/tock, and you could keep making noise around the office while 
> it made measurements. The computer would simply receive an on/off/on 
> signal from the optical sensor each time the pendulum passed, and you 
> could make the measurements as accurate as you wanted. A simple I/O card 
> with very accurate timers/counters on it should do the job nicely.

That 'simple I/O' card could turn out not to be so simple at all, and it's
probably not readily available for laptops. And 'fancy digital processing'
is usually much cheaper (in this case free) than dedicated hardware.

> I don't think that any audio based timer would work at all well, as the 
> temporal resolution of the audio sampler on sound cards it no where near 
> accurate enough.

Resolution is not in any way limited by sample rate. The precision you can
achieve mainly depends on S/N ratio and observation time. I've been working
on Galileo (the European GPS system). This involves synchronising satellite
clocks with ground based references, and requires  a precision of a few tens
of _pico_seconds. It's all done using signals sampled at a few MHz, i.e. the
precision achieved is very tiny fraction of the sample period. 

In this case, if the audio signal is high-pass filtered (2nd or 4th order,
below 500 Hz) the S/N ratio could be quite good. And you could also use a 
contact mic, reducing the influence of background noise even more.
The presicion you can achieve can be much better than what you get by for
example counting 100 ticks and dividing by the number of samples between
them. The trick is to use *all* available information. 

-- 
FA

 



More information about the Linux-audio-dev mailing list