Atomic Synchronator

Restating project goals

I want to design and implement an audio time code (and accompanying hardware) for automated video synchronization, cheaper than existing solutions and working on camera without sound input , using off the shelf components.

Acoustic coupling challenges

I want to localize pulses at the highest possible precision in the recorded audio. Typical cameras use a sampling frequency of 48 kHz so I’m aiming at a maximum variation of more or less 4-5 sampling periods, ie ±100 μs. For now I’m still exploring which pulse shaping is better at avoiding transients in the recorings.

Fighting against the camera automatic gain control

I generate this symmetrical shape from the SAMD21 DAC output and feed it to a small headphone speaker:

And here’s the resulting soud recording, note the asymmetry now present:

I guess I should slow down the attack to avoid triggering the AGC too heavily, and generate an already odd signal (odd vs pair).

Something like a tri-level sync pulse and try to detect the zero-crossing.