Low-distortion Audio-range Oscillator

Victor's oscillator measured

I just bought a 1kHz oscillator from Victor and made a notch filter to measure it using an R&S UPV Audio analyzer.
Here it is at 2V RMS with a passive notch that has -10dB at 2kH and -5dB at 3kHz.
Adjusting for the 10db drop from the notch and the signal of 2V (+6dBV) this translates to 2 order of: -153,5dBV + 10dB - 6dB = -149,5dB.
3 order is: -155+5-6 = -156dB.
Very nice result indeed.

Please note that the distortion we see can be from my notch filter using C0G capacitors, so the actual distortion migh well be even lower.
 

Attachments

  • Screen Shot 07-10-18 at 06.14 AM.PNG
    Screen Shot 07-10-18 at 06.14 AM.PNG
    85 KB · Views: 912
As I think has been mentioned the ultra low distortion method is to use two D/A converters. One is used to produce the test signal the other is scaled much lower and provides a correction signal.

As deriving the correction signal should be below the resolution of an FFT analyzer a series of lock-in amplifiers can be used as the system is digital a sine/cosine master clock can run the entire system. The limits would be how many harmonics you set up to measure and the ultimate limit would be clock stability.

With the speed of processor chips you could probably build such a gizmo with decent high frequency range and a minimum of hardware parts. Software would get interesting.
 
Here is an interesting digital approach..... with LP filtering and the high number of bits used, should be ultra low distortion and very repeatable and precise:

DASG - Digital Audio Sine Wave Generator


THx-Richard

Who is the author/designer of this?

With its digital audio outputs it could be especially useful in testing digital input audio equipment, including digital input class D power amplifiers. In those applications the quality and limitations of its DAC don't matter much.

Cheers,
Bob
 
As I think has been mentioned the ultra low distortion method is to use two D/A converters. One is used to produce the test signal the other is scaled much lower and provides a correction signal.

Software would get interesting.

Yes, that should work as long as everything is stationary though you still have the problem of measuring the output to compute the correction signal. I started to work on this but I only have ARTA that will use 24/96 on my best sound card. You would still need to calibrate at each frequency and level if you wanted to put your output amp in the correction loop.

I was also wondering if one could exploit the fact that say a 1k sine at 96k sampling only has 24 unique codes in each quadrant.
 
Member
Joined 2004
Paid Member
Check out this: JKGEN - ALTOR AUDIO It does everything the DASG does and many more signals. I have been using one for several years and can highly recommend it. The DAC is limited so you use an external DAC.

Using two DAC's (L+R in a stereo DAC) could probably be mixed as per Ed's suggestion above. The issue would be that correction will probably only hold for one frequency and level so a table would be needed for each target frequency and level (and probably specific chips). You could also maybe predistort to compensate for the output amps as well. I think you would need some very carefully built passive analog filters and then a system that can decode the phase and amplitude of each harmonic. From what I have seen below -130 they don't seem to nicely taper off with frequency. Usually, the smooth residual is far from that at these low levels contributing to higher harmonics. And of course, the noise will be an ultimate limiter.
 
The issue would be that correction will probably only hold for one frequency and level so a table would be needed for each target frequency and level (and probably specific chips). You could also maybe predistort to compensate for the output amps as well.

IME you would need 30dB suppression for the largest spurs which would mean measuring each of them them to within 0.3dB and 1.8 degrees. I would only try this to make a single frequency/level reference tone by putting a passive notch filter (which now has to be calibrated for amplitude and phase) to sample the output. Still I would expect a few trials to get to a null at all spurs. I've used a PAR lock-in amplifier on the HPIB buss, doing it this way is for when you really have time on your hands.

If I could control ARTA from Python it would be easy. As is I would need to manually intervene on each cal cycle.
 
Last edited:
IME you would need 30dB suppression for the largest spurs which would mean measuring each of them them to within 0.3dB and 1.8 degrees. I would only try this to make a single frequency/level reference tone by putting a passive notch filter (which now has to be calibrated for amplitude and phase) to sample the output. Still I would expect a few trials to get to a null at all spurs. I've used a PAR lock-in amplifier on the HPIB buss, doing it this way is for when you really have time on your hands.

If I could control ARTA from Python it would be easy. As is I would need to manually intervene on each cal cycle.

The largest spurs should be at least -112 dB and with everything going well -120 dB. You do need to include the output section in the feedback loop. It also needs to be very low impedance and restricted bandwidth.

A memory table will quickly get you into the ball park and then sine/cosine lock-in amplifiers should tighten things up.

Will you get -200 dB below full scale...NO! Will it get you to -150 dB? Yes and it has been done. But I want -160!!!

The control software for a real time instrument or close to it would be a bit of work. Not just switching passives but managing multiple lock in amplifiers in real time.

I actually think the hardware may be the easy part!