ULDO-Nacho-Atto Ultra Low Distortion Oscillator, Notch Filter and Attenuator Construction

Construction information for DIY projects, including the MS Mid Side Matrix, Elliptic Equalizer, Mastering Console, Phono Transfer System, Insert Switcher and the Dual Class-A Amplifier. You can post your baby pictures here.
Post Reply
User avatar
Posts: 4943
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas

ULDO-Nacho-Atto Ultra Low Distortion Oscillator, Notch Filter and Attenuator Construction

Post by mediatechnology » Fri Aug 27, 2021 12:21 pm

This is a construction thread for the Ultra Low Distortion Oscillator, Analyzer Notch Filter and Stepped Output Attenuator. The boards are known as "ULDO-Nacho" and "Atto."

ULDO-Nacho and Atto were born in this thread: https://proaudiodesignforum.com/forum/p ... ?f=6&t=887

Ultra Low Distortion Oscillator and Notch Filter ULDO-Nacho

Output Attenuator board for the Ultra Low Distortion Oscillator

Ultra Low Distortion Oscillator and Notch Filter ULDO-Nacho Schematic Sheet 1

Buy ULDO-Nacho and Atto: https://ka-electronics.com/shop/index.p ... ry&path=67

Assembly and Test Instructions, Schematics: https://ka-electronics.com/images/pdf/U ... 1021_1.pdf

Mouser ULDO-Nacho Project Manager Bill of Materials: https://www.mouser.com/ProjectManager/P ... c98f74bf17

Mouser Atto Attenuator Project Manager Bill of Materials: https://www.mouser.com/ProjectManager/P ... 315cb79440

The Mouser Project Manager Lists can be edited by copying them into your shopping cart. Included in the list are THAT ICs and a multi-turn panel pot for output level setting. Depending on your requirements you may need to remove these parts.

ULDO-Nacho Ultra Low Distortion Oscillator and Notch Filter Circuit Description

This is a circuit description for the Ultra Low Distortion Oscillator and Notch Filter. The evolution of ULDO-Nacho begins in this thread where I explored some earlier contributions. "Super Low Distortion Ultra Pure Audio Oscillators Revisited" https://proaudiodesignforum.com/forum/p ... ?f=6&t=887

ULDO-Nacho is a hybrid of prior oscillator designs based on the work of Vicktors Mickevics, Jung, Janasek, cxb00463 aka "Flip Flop World" and, as I later discovered, Cordell.

My initial approach was to use a VCA in subtractive mode as the gain control element and it worked quite well. The subtractive approach made VCA distortion contribution less than the oscillator itself. To lower distortion further I needed more open loop gain in the oscillator and resorted to using a composite op amp that I borrowed from cxb00463. The combination of THAT340 and 5532 results in a 1 kHz open loop gain of approximately 140 dB. A 5532 or LME49720 typically have 90 dB gain at this frequency.

The use of a 5532 may seem primitive to some but in practice it performs as well, or better, than any other dual op amp in this circuit that I've tried particularly when driving low impedance balanced loads.

Instead of jumping around from section-to-section I'll describe the overall concept and then dive into the circuit details and work the schematic from left to right.

Overall Signal Flow

IC3B, IC4 capacitors C11-C13 and R13-R18 are the Wein oscillator. The output of IC3B feeds the "+" final output in addition to the AGC VCA input, level detector IC5 and phase inverter formed by IC3A, IC2 and R7, R8 and VR1. IC3A's output feeds the "-" final output.

VR1 is adjusted to provide enough excess gain in the phase inverter to sustain oscillation.

IC5A, a half-wave rectifier, detects the output level and, along with IC5B, compares the oscillator level to a reference current established by the front panel Level control. IC5B also integrates the detected level and it's output provides a correction signal to maintain oscillator level.

IC1, a THAT2180 VCA, provides level stabilization by subtracting a very small fraction of IC3A's input current from the primary signal path at the wiper of VR1. The VCA inverts signal current; adding the inverted current at the summing node results in subtraction and eliminates the need for the VCA to have its' own I-V converter. To reduce distortion the VCA is degenerated by about -70 dB relative to the oscillator level. 20 dB of degeneration is due to the ratio of R7/R3. Another 50 dB of degeneration results from operating the VCA in deep attenuation.

When the VCA/AGC loop has the oscillator level stabilized the current flowing into IC5B's inverting input through R27 is balanced by the current flowing out of R28.

Detailed Circuit Description

The circuit description will follow the schematic from left to right.

Power Input and Sub Regulator

ULDO-Nacho operates from a +/-15V bipolar supply. R1, R2, D4 and D5 provide reverse-polarity protection. R1 and R2 are "defined interruption" aka fusible resistors.

The VCA, gain helper transistors IC2/IC3 and AGC reference current are powered by +/-12V shunt regulators IC7 and IC8. The sub-regulator for the VCA and helper transistors are to improve power supply rejection ratio from both external supply noise as well as the high signal currents on the supply lines of IC3A and IC3B.

A differential bypass scheme, R31/R32 and C25/C28, are used for IC3. Differential bypass was chosen to optimize bypass for balanced output loads. When only one output is driving a load connected to ground the supply currents have the same polarity, are in common mode and have low harmonic content. When a balanced load is driven, the signal currents are much higher, out-of-polarity and are differential mode. The positive and negative supply and output currents push and pull against one another through the load and as a result have higher harmonic content. R31/R32 and C25/C28 serve two purposes: They provide a low impedance supply to IC3 but also prevent the high signal current with high harmonic content from corrupting the 15V rails by adding 20Ω of impedance between IC3 and the rails. This approach was determined to be the most effective by measurement.

Voltage Controlled Amplifier

IC1, a THAT2180, is used to control oscillator gain. The THAT2180 is a current-in/current-out device which inverts signal current. R3 provides voltage to current conversion of the oscillator output. C3 provides AC coupling. C3 is made large enough in value to provide the option of operating the oscillator at frequencies below 1 kHz. R39 and C29 provide stability to satisfy the 2801's requirement for a HF source impedance no greater than 60KΩ.

R4, R5 and C7 provide additional filtering for the Ec- gain control line. R4 and R5 also reduce the AGC loop gain by 1/2 to improve AGC loop stability. D6 clamps the Ec- input when the AGC loop goes out of lock during test or when the oscillator output saturates at the clipping point.

R6 sets the VCA's operating current.
J1 is used in final test to isolate the VCA output in order to preset VR1.

The VCA subtracts a small amount of current from the input of IC2/IC3 to control oscillator level. R3 attenuates the input current by 20 dB. The VCA attenuates it by another 50 dB so that the overall attenuation, or amount of degeneration is 70 dB. This makes the VCA's distortion contribution very small. I later learned that Cordell used similar degeneration in his oscillator using a junction FET.

Phase Inversion Amplifier

IC2 and IC3A provide a high open loop gain composite op amp. Q1-Q4, internal to IC2, are a complimentary differential pair. The source of this circuit is a former geocities user by the name of "cxb00463" who also used it in an oscillator. The combined 1 kHz open loop gain is estimated to be about 140 dB versus the 90 dB of an unaided 5532 or LME49720. (I attempted to measure open loop gain and due to noise the measurement was not particularly accurate.)

R10 and R11 are the current sink and source for the emitters. R12 provides bias current cancellation. The value of R12 is equal to the Thevenin equivalent of the feedback and input arms in parallel. R12 is not bypassed to reduce Johnson noise because it was found to increase THD significantly. The reason for this was not investigated - my instincts suggest there is an impedance-balancing effect that reduces THD.

C9/R9 along with C10 provide compensation for the input differential "quad" and op amp. C8 provides overall compensation.

R7, VR1 and R8 set the gain slightly above unity to sustain oscillation. In practice the delta-R between the input arm and the feedback arm is small, about 7Ω. In order to assure trim range R7 and R8 are ratio-matched.

The output of IC3A feeds the "-" output through build-out resistor R24 as well as the Wein bridge input.

Wein Bridge and Amplifier

IC4 and IC3A form a second high open loop gain composite op amp. R20/R21 provide a current sink and source for the emitters. Comepensation is identical to the phase inversion stage except that C8 is now replaced by C13.

R22 provides bias current cancellation. The value of R22 is set to the approximate the DC Thevenin equivalent seen by the inverting arm which is R17.

C11-C13 and R13-18 form the Wein network. R15-R17 are value-matched to assure close frequency tolerance. C11-C13 are specified to be 1%.

The output of IC3B feeds the "+" output through build-out resistor R23. IC3B's output also feeds the phase inverter, VCA input and level detector IC5A.

Level Detector and AGC Control

IC5A and surrounding circuitry half-wave rectify the negative peak of the oscillator output. R25 converts the oscillator output voltage to current. D1 provides a reverse polarity clamp while D2 provides rectification. C18 and R26 average the output. It's important to note in this topology that the charging current for C18 does not contaminate ground - it enters the inverting input. This particular rectifier and the following stage are common to designs by Jung, Janasek and Mickevics.

IC5B smooths the detector output and compares the rectified oscillator level, as a current through R27, to a reference current flowing through R28. When the oscillator is in a stabilized condition, the current flowing through R27 is equal to the current flowing out of R28. IC5B holds itself in a null condition to maintain equilibrium.

D3 is a reverse clamp. C19, C20 and R29 and IC5B form an integrator to smooth the output of the rectifier.

The output of IC5B, through R5, controls the VCA attenuation. As mentioned earlier R4, R5 and C7 attenuate by 1/2 and smooth the integrator output to remove any additional rectifier fundamental ripple and improve AGC loop stability. C7 also provides a low AC impedance for the VCA's control point.

When the control voltage at Ec- is varied, the oscillator output level is varied. Because the VCA is operating subtractively an increase in VCA gain decreases the phase inverter gain. Under stabilized conditions the voltage at TP3 should be about +300 mV DC which is a VCA attenuation of about 50 dB.

The AGC operates closed loop: Changes in oscillator output level change the current flowing through R25, the output of IC5B controls the VCA which in turn controls the oscillator level.

An external 10KΩ potentiometer provides output level adjustment. R30 sets the lower range of adjustment.

"Nacho" Notch Filter

Ultra Low Distortion Oscillator and Notch Filter ULDO-Nacho Schematic Sheet 2

Nacho Notch Filter Circuit Description

Nacho is designed to be accept a single fully-balanced input or two independent Left and Right channels. Jumpers, or a front-panel switch, can be used to change its configuration.

Circuit Description for Independent Left and Right Inputs

The Left channel will be described and is identical, except for component designators, to the right channel. The twin-tee filter is derived from the work of Janasek.

For unbalanced Left and Right operation J2, J3 and J4 are linked.

Input is applied to a 3 pin Phoenix connector. R51 terminates the input.

A 1 kHz twin-tee filter is used to remove the fundamental frequency in order to magnify distortion harmonics. VR2, R52-R55 and C53-C54 form one arm of the twin-tee filter. The second arm of the twin-tee is formed by C51, C52, VR3 and R56.

VR2 and VR3 pull the center frequency of the filter to compensate for oscillator frequency and twin-tee filter component tolerance. By interactively adjusting VR2 and VR3 a deep null can be obtained.

IC8A, R64 and R65 provide 40 dB gain to magnify the distortion (and residual fundamental) components that remain after notch filtering by the twin-tee. C61 provides compensation.

C59 AC-couples the notch filter output to the input of the +40 dB the post-filter amplifier. R63 provides a bias current path for IC8A.

IC8A develops large offsets, typically -1 to -2V because it has DC gain. DC-coupling was chosen to allow low impedance feedback, R64, without the need for an electrolytic capacitor. The offsets that do develop are not significantly headroom-reducing because the signal level is typically less than -20 dBu and often much less. Though a FET input or bias current compensated op amp can be used for IC8 doing so is relatively pointless.

Output from the Left and Righ notch filter is applied to a dedicated 3 pin Phoenix connector. C63 AC-couples IC8A's output. R63 provides capacitive load isolation.

Circuit Description for Balanced Inputs

When balanced inputs are desired J2, J3 and J4 are open. This transforms the Left and Right twin-tee filters into a balanced twin-tee.

In addition to changing the filter configuration J2 is no longer grounded. IC8A and IC8B then become an instrumentation amplifier with 40 dB of differential gain. The common mode gain is unity owing to the fact J2 is no longer grounded.

As before, a large DC common mode offset develops at the outputs of IC8A and IC8B. C63 and C64 AC-couple the outputs.

A cross-coupled pair of THAT1246 line receivers, IC9 and IC10, are used to extract the differential distortion and remove the common mode component so that the distortion presented to the FFT analyser represents the true distortion of the balanced signal. By using a cross-coupled pair a balanced output becomes possible. (Analysis using a single-ended A/D input only requires using the "+" output.)

The output of IC9 and IC10 are fed to a three pin Phoenix connector through build-out resistors R71 and R72.

Switchable Balanced/Unbalanced Operation

A DPST switch across J2 and J3 enables Nacho to rapidly switch between balanced and unbalanced inputs. For switchable operation J4 should be linked.

Balanced Only Inputs

If Nacho is going to be used for only balanced inputs several components can be eliminated. J2-J4 should all be open.

For always balanced inputs C53-C56 become redundent: The net value of all four is 10 nF. Install only C53 (10 nF) and link C55. Make R56 15K and R62 499Ω. Link VR5.

All other resistors and capacitors should be installed including VR2, VR3 and VR4.

Filter Insertion Loss

The notch filter has insertion loss which requires correction prior to THD calculation.

The insertion loss is:


A spreadsheet is available to calculate THD from measured FFT values: https://proaudiodesignforum.com/calcula ... ulator.xls

Example output:


This concludes the circuit description for ULDO-Nacho.

Atto Stepped Attenuator


User avatar
Posts: 4943
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas

Re: ULDO-Nacho-Atto Ultra Low Distortion Oscillator Notch Filter Attenuator Construction

Post by mediatechnology » Fri Aug 27, 2021 12:36 pm

Here are some distortion measurements I was able obtain after installing the attenuator: https://proaudiodesignforum.com/forum/p ... 140#p16480
mediatechnology wrote:
Tue Jul 13, 2021 9:34 am
Now that I have an Output Attenuator prototype I wanted to look at the low-level performance of the A/D to make sure it has enough spurious-free dynamic range at low level to accurately assess the notch filter output.

The following FFT has the attenuated oscillator output compared to the notch filter output sampling the unattenuated +22 dBu output of the oscillator.
The FFT is 1M point with a 50 sample average.

The blue trace is the left channel of the Focusrite 2i2 connected to the output attenuator's -20 dB position. (About -40 dB actual.)
The spurious-free dynamic range (SFDR) of the A/D at -20 dBu level is about -115 dBc. (H3).

The red trace is the notch filter output.
There is 40 dB of post-filter gain; the reference level is about +22 dBu.
Thus, the notch filter depth is about 100 dB.
The resulting level is about -38 dBu at the converter input.

The harmonics in the red trace are from either the oscillator itself or the oscillator and notch filter.
The largest spur, H3, is only about 57 dB below the 1 kHz notched carrier.
ULDO is running very near its clipping point which is around +26 and the higher-order harmonics in its output (or the notch filter) can be seen.
Despite this its THD is an astonishing, almost too-good-to-be-true level of around -151 dBc.

With THD typically running -140 to -146 dBc I suspect that there is some distortion cancellation occurring.
But, to be honest, I've never measured the oscillator at such high level at the 2.26KΩ load impedance of the attenuator with a 1M point 50 sample average FFT.
I was content to say distortion was in the noise floor - now I'm looking for needles in haystacks.

Without regard to the oscillator's THD (-140 or -151?) it appears that the A/D, at low level, has plenty of SFDR to measure the notch filter preamp output.
A more fair comparison would be to check the A/D at a lower level comparable to the -40 dBu notch level but I think it would be in the noise.

The combination of ULDO, Nacho and the 2i2 has the dynamic range to accurately measure THD in the range of -100 to -120 dBc to perhaps -130 dBc.
With a DUT having distortion at -120 dBc ULDO-Nacho has a measurement range that is at least 20 dB better.

Blue Is Output At -20dB_Pad Feeding Focusrite 2i2 Left Input
Red Is Notch Out With 40 dB Gain at A +22.24 dBu Ref Level Feeding A/D Right Input.


User avatar
Posts: 4943
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas

ULDO-Nacho Circuit Description

Post by mediatechnology » Wed Sep 08, 2021 3:39 pm

Updated the first post to include a circuit description.

Post Reply