I've officially come to the conclusion that I'm not able to make the noise level any better at the moment. I've ended up at a point where the noise is at around +/-3-5 cents as measured at the VCO frequency. I'll list some of the things I've tried and what my selected solution is.
What causes the noise
The main parts of the noise seems to be caused by the current running through the transistor collector and to ground. The noise follows the pulse width. When the pulse VCA CV is turned down, the noise is reduced, from +/-14 to 3 cents.
![]() |
1k collector resistor, massive noise on VCO, and it follows the pulse wave (top) |
![]() |
With pulse VCA at 0, the noise is reduced |
By increasing the collector resistor from 1k to 47k, the noise is greatly reduced. The noise is still present even if the pulse wave VCA CV is turned down, but when replacing the 1k resistor with a 47k one, the noise with CV at max and CV at min are the same. I did a lot of experimenting trying to get it even lower, but nothing helped. The rest of this noise presumably comes from other parts of the waveshaper, see "Residual noise" below.
![]() |
47k collector resistor, vca at max. Almost same noise level as when vca is at 0. Still traces of noise that corresponds (inversely) with the pulse wave. |
Unfortunately, replacing the 1k resistor introduces switching noise. The switching noise is visible on the waveshaper output for other waveforms, though it isn't audible. As waveshaper output is mixed before the oscillator VCA, when the oscillator volume is turned down, the switching noise to signal ratio is kept and switching noise doesn't get any worse. Rise time for the square wave doesn't significantly change with higher value resistors.
![]() |
Switching peaks with VCA at 0 and a 22k collector resistor |
![]() |
Tiny notch on the bottom of the sine wave, it moves with changes in pulse width. |
The switching noise may be decreased by introducing a cap from base to ground or collector to ground. 100p and 470p caps have been tried and work well, but they also change the pulse width at high frequencies (because they slow down the switching time) which may be a problem.
![]() |
100pF cap from base to ground, pulse with is narrowed. |
What is NOT causing the main part of the noise
- The op amp comparator part, neither for the square wave or the sub oscillator
- The switching spikes - no change is seen when introducing caps to prevent switching spikes.
- Moving ground to star ground does not help
- Removing square wave probe doesn't help, so noise is not propagated by the logic probes.
- Increasing cap on the output doesn't help
What is causing the residual noise (the parts in sync with the DCO)
- Disabling the transistor by connecting the resistor base resistor to ground (some)
- Disabling the square comparator by disconnecting the saw (better)
- Disabling the whole waveshaper by disconnecting the saw from the input (best)
But all in all, even with the saw input disconnected, we still get variations around +/-3 cents, though no longer in sync with the saw/square wave, so hard to tell really
Lowering the Pulse VCA CV did not change anything, so a lower initial pulse amplitude won't fix it.
Switching noise
- Increases when collector resistance increases
- Top is only visible when pulse VCA is low
- Cap at base or collector to gnd helps but rounds off pulse and changes pulse width due to slower transition
- Using resistor divider before base helps, but increases the main noise, even when resistor divider is 100k/22k to gnd, with base at center. (Juno 6 does this). Divider doesn't have to be buffered
- Most of the peak is filtered out by the output cap (3p). Increasing the cap works but rounds off the square wave. May not be audible because cutoff is fairly high, around 200kHz with 3p/270k.
- Increasing base to 150k from 68k doesn't help
Other
- Had some smaller noise peaks on the output. A separate wire from mainboard to waveshaper for DCO saw input removed it.
- a 50Hz noise was visible, possibly mains related
- It's hard to measure the noise. After updating the frequency analyzer script to show a filtered version, the cents calculations seem to have increased, so I've mainly looked at how much the noise follows the square wave.
- PW: A bit unstable measurements - with 2.63V CV, PW at 47k is 37%. For 1k I first got 22% but then a second, restarted MCU measurement gave 34%. I think in reality the PW stays about the same (with the same output gain resistors etc, set for a correct output with the 47k resistor). The pulse width stays constant when increasing square wave from 330Hz to 8.1kHz, which means this is easily tuneable anyway.
New circuit
- 47k collector resistor
- 68k base resistor
- 220k+33k resistor from pulse VCA CV to op amp (moves center to compensate for increased collector resistor)
- 270k feedback resistor (increases gain)
- Optional 100p-470p cap on base-gnd
Other things to consider
- Two CV inputs on VCO to get a better CV level/less noise sensitive
- NB: Must also update square wave generator ON VCO BOARD!