[sdiy] Non-linear properties of SSM2040

Rutger Vlek rutgervlek at gmail.com
Sun Sep 8 17:01:28 CEST 2024


@Richie Burnett <rburnett at richieburnett.co.uk> thanks! I have found Spice
to be cumbersome for more advanced data analysis, so resorted to Python for
most of it. There I am studying non linearities using saw, ramp (inverted
saw) and sine test signals. The latter I use mostly for spectral analysis,
while the first are also informative about time domain effects. I also
created the option to put out wat files so that I can audition them. Some
effects that were impressive in the time domain where irrelevant when
listening, and (more importantly!) vice versa. I had to make a bad
prototype to remind me of this... What resembled the time domain of a Moog
filter did not sound like one. As soon as I studied the spectral domain
data I understood why.

The spectral effects on a sawtooth pushed through a non linear filter,
without any resonance are impressive by themselves by the way. I never knew
the effect of an analogue filter could be this substantial.

@René Schmitz <synth at schmitzbits.de> Thanks for the explanation! It
confirms what I already suspected. The non linear effects are a combination
of TanH and something else. I have the feeling your answer also implies
that the latter effect is important for the character of the ssm2040.

Best,

Rutger

Op zo 8 sep 2024 16:39 schreef René Schmitz <synth at schmitzbits.de>:

> Hi Rutger and all,
>
>
> The TANH comes from the input side, i.e. the long tail pair transistors,
> this is more or less symmetric as one would expect.
>
> (If you ignore minor effects such as the different Vce voltages, Vbe
> matching, source resistances etc.)
>
>
> For a single stage:
>
> The asymmetry comes from the output of the one-mirror OTA. It can't sink
> past -0.6V (The collector of the output transistor can't go lower than
> it's emitter voltage, with the bases near GND thats about -0.6V).
>
> Thus you see clipping at -0.6V.
>
> It really only makes a difference if you're *not* summing the current
> into a virtual ground. As was done in the 2040 of course, which uses
> emitter followers.
>
> (But you can run the 2040 gain stage into an opamp integrator and do not
> get any of the clipping at all.)
>
>
> BTW the 2164 also has voltage compliance limits for its output current
> (albeit different).
>
> So you can run the 2164 into an "open" load, and get extra
> nonlinearities. Thats mentioned in AN701.
>
>
> If you cascade several inverting 2040 stages, then at the output you get
> (more or less) symmetric clipping because you alternately treat the
> positive and negative input swings at consecutive stages.
>
> I think this was what JH was talking about. But also look at a single
> stage to understand what the root behaviour is.
>
>
>
> Best,
>
>   René
>
>
>
>
> Am 08.09.2024 um 12:34 schrieb Rutger Vlek via Synth-diy:
> > Dear all,
> >
> > In the sparse moments between day time job and fatherhood I'm trying
> > to push forward with an idea I've had for a long time. I'm trying to
> > capture the variation in favourable non-linear characteristics from
> > well-known filters (read SSM2040 and Moog Ladder) and implement them
> > in a more modern topology (read SSI2164). Would also be great to be
> > able to select between them, while using the same filter core. I'm not
> > necessarily aiming for perfectly cloning the response of vintage
> > filters, but rather hope to take inspiration from them and perhaps to
> > discover other pleasant non-linearities.
> >
> > I've been approaching this with Spice as well as with mathematical
> > modelling in Python, using a multi-dimensional Newton-Raphson solver
> > with the system of equations needed to describe the various filters.
> >
> > Right now I'm trying to understand the character of the SSM2040, and
> > am a bit puzzled. I am familiar with the inverting cascaded topology
> > of this filter. And with the typical math that describes the
> > non-linearities of an OTA-based filter:
> > Vout = g * tanh(Vin-Vout).
> >
> > I have been reading across the internet about the asymmetrical
> > saturation of this filter, most notably in the application notes for
> > making filters with the SSI2164:
> > https://www.soundsemiconductor.com/downloads/AN701.pdf. Based on this
> > information, I had assumed that the tanh only operates in one
> > direction, something like this:
> > y = tanh(x)    if x < 0
> > y =x               if x > 0
> >
> > However, in Spice, when simulating the internals of the SSM2040 using
> > Jurgen Haible's schematic
> > (http://jhaible.com/legacy/tonline_stuff/jh2040.gif), I don't see that
> > happening. Instead, I see tanh distortion in both directions.
> >
> > Only when I push the input harder (beyond 1Vpp), I see one side of the
> > output clipping much sooner than the other. This seems in line with
> > the effect described in AN701, but is the SSM2040 really driven that
> > hard in real world applications, and is it really *this* additional
> > effect, on top of the already present tanh distortion, that explains
> > the SSM2040's character? And if so... how would one model it
> > mathematically?
> >
> > Rutger
> >
> > ________________________________________________________
> > This is the Synth-diy mailing list
> > Submit email to: Synth-diy at synth-diy.org
> > View archive at: https://synth-diy.org/pipermail/synth-diy/
> > Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
> > Selling or trading? Use marketplace at synth-diy.org
>
> --
> --
> synth at schmitzbits.de
> http://schmitzbits.de
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20240908/05f6bd52/attachment.htm>


More information about the Synth-diy mailing list