# DDS example of a reference tone's frequency muliplied by 12000 to generate a master clock

A free project RAM Platter Hybrid aims to generate a master clock from a tone which is 12000 times lower in frequency.

The reference tone is 1 kHz at its central frequency. It will have a minimum of 0 Hz and a maximum of around 5 kHz.

As the multiplier is 12000, the output master clock's central frequency is 12 MHz. The master clock will range between 0 Hz and 60 MHz. The output master clock can be tonal or rectangular. However a tone is preferred.

Is there a modern way to generate such a master clock from a low frequency reference tone ? Is it possible to meet a latency which is or the order of microseconds ? Is it possible to have very low jitter ?

NOTE: This question is similar to the VCO+PLL question, however this questions asks for a DDS based solution.

• Supposing that the reference tone, with a frequency of 1 kHz, briefly changes to 2 kHz for 10 microsecond, you are expecting that 0.01 cycles of deviation from the expected signal trajectory is enough to drive the output through a whole 12 extra cycles. This seems extremely noise-sensitive. at best. (see also PLLs, which trade jitter vs response time as a function of how the loop filter is constructed) Commented Dec 7, 2021 at 3:31
• I think you’re chasing the wrong solution. For audio, your samples are coming in at a fixed rate and going out at a fixed rate. If you want to do speed and/or frequency shifts, that can be done in software. Commented Dec 7, 2021 at 4:03
• nope - RAM platter will have a variable master clock for the audio codec. The master clock will vary between 0 Hz and 60 MHz. This is an example of hardware resampling - a little dirty but it works.
– Matt
Commented Dec 7, 2021 at 4:27
• ‘This scratch is making me itch’. Will the codec appreciate such a thing? Commented Dec 7, 2021 at 6:23
• It is ok with it. I have done two previous implementations to test. Here is the time master experiment : youtu.be/WgKP4HZ1iEs I have also taken an Audio Injector zero soundcard and removed the crystal and driven it with a signal generator. It works ! With the added bonus that it also controls the speed of the video because video is locked to audio clock.
– Matt
Commented Dec 7, 2021 at 8:46

Ok, so you're building a Serato clone. (electronic scratching deck controlled by a vinyl turntable)

There's no need to have a pll, you have a stereo signal. record a quadrature track and just compare left and right (eg: using a function like atan2) to get the instantaneous phase angle.

This also allows you to detect when the disk is rotating backwards. that is probably an important feature.

• Agreed. Both of OP's proposed designs are off the mark. PLL "works" but would have an insane amount of phase noise; DDS doesn't even work as described. But sampling a quadrature track from the disk at a high rate and multiplying the phase up as necessary is kind of almost like DDS, except without the phase accumulator. Commented Dec 7, 2021 at 4:58
• With respect to this answer, nope - it is not a Serato clone. Serato is software resampling and speed decoding. RAM platter is hardware resampling and hardware speed control. How do I get the master clock from the phase angle ? I think this concept requires thrashing out further to completely explain its hardware implementation.
– Matt
Commented Dec 7, 2021 at 8:49
• Hobbs I'm interested in your opinion on the phase noise issue - are you talking about jitter ?
– Matt
Commented Dec 7, 2021 at 8:50
• By clone I meant that it does the same sort of thing, more than that it uses the same technology. Commented Dec 7, 2021 at 11:16
• Got you now, yes it is a digital scratch environment. Main difference between final scratch and scratch live and tractor scratch is that it is a hardware resampling and pitch tracking device. The problems with the original solutions is that their latency is around 20ms, which is terrible for turntablism. This hardware solution has potential to become sub millisecond on dedicated hardware.
– Matt
Commented Dec 7, 2021 at 20:45