- Joined
- Feb 23, 2016
- Messages
- 23,425
- Likes
- 43,789
Have been wondering if it was possible to get some idea about close in jitter with a Jtest. I realize that my gear is not lab grade stuff, and probably just not able to get it done. Still I wondered how far we needed to get for some results.
One problem is getting the clocks of ADC and DAC close enough. The clocks varying in speed by 150 ppm is not at all uncommon. So how close do they need to be for accuracy close in.
Here are some artificial results. Here is a 2 khz wide view of a 128k FFT of 12 khz being 10 ppm fast in green, being 3 ppb fast in blue and being a pure 12 khz tone in red.
The same view over a 40 hz wide band around 12 khz at 48 khz sampling.
You can see a pure tone, when using the Hanning window is -6 db about .3 hz off center and negative infinity .7 hz off center frequency.
The 10 ppm fast result is -21 db at .7 hz off center. With 3 ppb fast being -97 db at .7 hz off center. So if clocks are off by 3 parts per billion it begins to corrupt the result at less than 1 hz? Hmmm, that isn't good. I would note the 10 ppm fast Jtest drops below -180 db about 255 hz either side of the center frequency. So for anything beyond that in the sidebands you won't see any corruption of the results. For closer in the clocks differing by 10 ppm is corrupting what you see.
What I tried next is running the Jtest to determine how much the clocks differed and then shifting the frequency of the DAC file to compensate. So the ADC was seeing something much closer to what would record as exactly 12 khz. I could get to around 1 ppm close this way. The results closer in were better. However, I found once compensated for every DAC on hand measured the same result including my $39 HDMI switcher with built in audio DAC. Meaning all the DACs had jitter closer in that were less than measurement artifacts if timing differed that much.
It occurred to me eventually to do a slow sweep. Skipping lots of details, I artificially generated a sweep that was 12 khz plus and minus 10 ppb over 4 minutes. The middle 9 seconds of such a file would give a result identical to a pure 12 khz tone. Minus infinity at .7 hz offset and greater.
I could get the actual DAC frequency to record within 1 ppm of the ADC frequency, and then adjust in software the speed of the recorded file. It is some trial and error and tedious work beyond, but usually I could get the effective tone within 10 ppb or less of the target 12 khz tone.
At that point using real signals from various gear, the results began to differ close in for different DACs. It also looks much more like jitter close in would look. For instance moving the FFT along 500 samples at a time (when 131072 samples are being used for the FFT) would cause the .7 hz offset to bounce around considerably. For some gear between -70 db and -115 db while lesser gear like the HDMI switcher might stay between -50db and -70 db.
For those wondering what software I used it was Audacity. Audacity version 2.0.3 or earlier would do speed changes in steps as small as 3 parts per billion accurately. I think 2.0.4 would as well. Unfortunately current (recent) versions only do changes in steps down to 10 ppm. However, generating slow sweeps the old versions were deficient, and new versions of Audacity will do a slow 4 minute sweep of 10 parts per billion accurately (and even slower sweeps for that matter). I evaluated results in Wave Spectra 1.51 doing this.
Now I think the jitter of my ADC is something of a limiting factor. There is some similarity once the gear starts showing mostly below -80 db at the .7 hz offset.
How important is all this? Probably not much, such small differences at such close offsets are likely to be masked heavily by the main signal. It is something of a fad to say it is very close in jitter that separates good from great digital gear so I wanted a way to get a handle on it. Other than the proclamation no one seems to have any data about it. This looks like a tedious ponderous way of getting some data.
Several of you here are more knowledgeable about such things and may point out where I have messed up. Please do. Don't worry about hurting my feelings. I'll complain anyway, but I will listen, and ask stupid questions.
One problem is getting the clocks of ADC and DAC close enough. The clocks varying in speed by 150 ppm is not at all uncommon. So how close do they need to be for accuracy close in.
Here are some artificial results. Here is a 2 khz wide view of a 128k FFT of 12 khz being 10 ppm fast in green, being 3 ppb fast in blue and being a pure 12 khz tone in red.
The same view over a 40 hz wide band around 12 khz at 48 khz sampling.
You can see a pure tone, when using the Hanning window is -6 db about .3 hz off center and negative infinity .7 hz off center frequency.
The 10 ppm fast result is -21 db at .7 hz off center. With 3 ppb fast being -97 db at .7 hz off center. So if clocks are off by 3 parts per billion it begins to corrupt the result at less than 1 hz? Hmmm, that isn't good. I would note the 10 ppm fast Jtest drops below -180 db about 255 hz either side of the center frequency. So for anything beyond that in the sidebands you won't see any corruption of the results. For closer in the clocks differing by 10 ppm is corrupting what you see.
What I tried next is running the Jtest to determine how much the clocks differed and then shifting the frequency of the DAC file to compensate. So the ADC was seeing something much closer to what would record as exactly 12 khz. I could get to around 1 ppm close this way. The results closer in were better. However, I found once compensated for every DAC on hand measured the same result including my $39 HDMI switcher with built in audio DAC. Meaning all the DACs had jitter closer in that were less than measurement artifacts if timing differed that much.
It occurred to me eventually to do a slow sweep. Skipping lots of details, I artificially generated a sweep that was 12 khz plus and minus 10 ppb over 4 minutes. The middle 9 seconds of such a file would give a result identical to a pure 12 khz tone. Minus infinity at .7 hz offset and greater.
I could get the actual DAC frequency to record within 1 ppm of the ADC frequency, and then adjust in software the speed of the recorded file. It is some trial and error and tedious work beyond, but usually I could get the effective tone within 10 ppb or less of the target 12 khz tone.
At that point using real signals from various gear, the results began to differ close in for different DACs. It also looks much more like jitter close in would look. For instance moving the FFT along 500 samples at a time (when 131072 samples are being used for the FFT) would cause the .7 hz offset to bounce around considerably. For some gear between -70 db and -115 db while lesser gear like the HDMI switcher might stay between -50db and -70 db.
For those wondering what software I used it was Audacity. Audacity version 2.0.3 or earlier would do speed changes in steps as small as 3 parts per billion accurately. I think 2.0.4 would as well. Unfortunately current (recent) versions only do changes in steps down to 10 ppm. However, generating slow sweeps the old versions were deficient, and new versions of Audacity will do a slow 4 minute sweep of 10 parts per billion accurately (and even slower sweeps for that matter). I evaluated results in Wave Spectra 1.51 doing this.
Now I think the jitter of my ADC is something of a limiting factor. There is some similarity once the gear starts showing mostly below -80 db at the .7 hz offset.
How important is all this? Probably not much, such small differences at such close offsets are likely to be masked heavily by the main signal. It is something of a fad to say it is very close in jitter that separates good from great digital gear so I wanted a way to get a handle on it. Other than the proclamation no one seems to have any data about it. This looks like a tedious ponderous way of getting some data.
Several of you here are more knowledgeable about such things and may point out where I have messed up. Please do. Don't worry about hurting my feelings. I'll complain anyway, but I will listen, and ask stupid questions.