[sdiy] Sallen Key with input mixing to generate all shapes

Andrew Simper andy at cytomic.com
Tue Jan 6 02:28:02 CET 2015

On 5 January 2015 at 21:50, <rburnett at richieburnett.co.uk> wrote:
> Hi Andy,
> Thanks for sharing this interesting work.

Your welcome!

> In the discretization technical paper it would have been interesting to see the resulting z-domain frequency responses for the digital realisations of the filters, so that comparisons can be made with the original s-domain analogue prototypes as the cutoff frequency approaches the Nyquist limit.  (The s-domain frequency responses are "textbook" analogue 2nd order shapes, so aren't particularly interesting by themselves.)
> -Richie,

It is trapezoidal integration, which gives a cramped response which is
equivalent to the bi-linear z transform which is why I didn't bother.
Please read the other papers I wrote for derivations and plotting of
the z-domain transfer function. I show the derivation of forming the
z-domain transfer function directly from trapezoidal integration here:
http://cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf in the
section "Transfer functions for low, band, high, notch, and peak,
continuous and discrete"

> PS. The mixture of "electrical schematic" and "signal flow" representations in the same diagrams might be a little confusing to some.  I'm an electronics engineer so am familiar with looking at both, but they usually aren't mixed in the same diagram.

I originally had little triangle amp blocks but things looked messy.
Donald posted a link to this paper:
http://www.ka-electronics.com/images/pdf/Steiner_Filter.pdf , which
uses a square with a sigma sign in the middle to show a summing block,
so I used this idea but instead used a more modern + sign in a circle.
Should I switch it to how Steiner does it with a square and sigma? Is
that more standard for idealised circuit diagrams? I show the
development of the notation I used here:
http://cytomic.com/files/dsp/OnePoleLinearLowPass.pdf with the full
resistor divider network to use a circle with a + instead, but I am
happy to change it if there is something just as succinct and more

All the best,


> On 2015-01-05 13:25, Andrew Simper wrote:
>> I've taken Sam's ARP transposed SVF design with input mixing and
>> written a discretization technical paper on it. I've also updated the
>> SKF (Sallen Key Filter) design I did with input mixing to more
>> explicitly address using different input signals.
>> Idealized circuit diagrams:
>> http://cytomic.com/files/dsp/SkfInputMixing.jpg
>> http://cytomic.com/files/dsp/SvfInputMixing.jpg
>> Technical papers:
>> http://cytomic.com/files/dsp/SkfInputMixing.pdf
>> http://cytomic.com/files/dsp/SvfInputMixing.pdf
>> All the best,
>> Andrew Simper
>> -- cytomic -- sound music software --
>> On 24 December 2014 at 23:44,  <houshu at muj.biglobe.ne.jp> wrote:
>>> Hello Andy and list,
>>> I'm grad you like my schematics.
>>> Multiple point signal injection is a very interesting idea.
>>> I guess you can get any response from famous filter structure
>>> keeping the original sound.  Four pole filter such as ladder
>>> filter may be a good target.
>>> Saitama, JAPAN
>>> ----- Original Message -----
>>> From: "Andrew Simper" <andy at cytomic.com>
>>> To: houshu at muj.biglobe.ne.jp
>>> Cc: "synthdiy diy" <synth-diy at dropmix.xs4all.nl>
>>> Sent: Tuesday, December 23, 2014 13:00:39
>>> Subject: Re: [sdiy] Sallen Key with input mixing to generate all shapes
>>> Sam you're a legend!
>>> You just saved me an IEEE membership just to look at one paper and
>>> some pain in "fixing" the schematics in it. I was really interested in
>>> the SVF with mixing inputs and you just delivered it straight to me
>>> with a wonderfully clear LTSpice schematic, thank-you!
>>> I hope I can come up with some more interesting designs to help
>>> contribute to the synth community like you are doing.
>>> The positive feedback path around the Band section and that you noted
>>> is from the ARP 4023, it looks like the OSCar also copied this idea -
>>> thanks for pointing out the original.
>>> Andy
>>> -- cytomic -- sound music software --
>>> On 23 December 2014 at 09:34,  <houshu at muj.biglobe.ne.jp> wrote:
>>>> Hello list,
>>>> Input mixing structure is possible with state-variable-like filter.
>>>> http://houshu.at.webry.info/201202/article_1.html
>>>> HPF response is 12dB/oct not 6dB/oct. Multiple functions with
>>>> beautiful frequency response can be obtained from this very
>>>> simple circuit.
>>>> Basic structure is like ARP4023, which can be derived from
>>>> ordinary state variable filter:
>>>> http://houshu.at.webry.info/200602/article_1.html
>>>> I built a module with satisfactory results:
>>>> http://houshu.at.webry.info/201202/article_2.html
>>>> http://houshu.at.webry.info/201411/img22_1.141731631693745480177.html
>>>> Power consumption is as small as 5mA.
>>>> I designed it for single supply operation.
>>>> Bipolar supply operation is possible by changing the
>>>> exponential converter (Untested):
>>>> http://www5b.biglobe.ne.jp/~houshu/synth/VcSvf01a.gif
>>>> Saitama, Japan
>>>> ----- Original Message -----
>>>> From: "Andrew Simper" <andy at cytomic.com>
>>>> To: "synthdiy diy" <synth-diy at dropmix.xs4all.nl>
>>>> Sent: Sunday, December 21, 2014 16:54:23
>>>> Subject: [sdiy] Sallen Key with input mixing to generate all shapes
>>>> Hey guys,
>>>> I've noticed many Sallen Key synth filters can generate different
>>>> responses by sticking the input into various points of the circuit,
>>>> but they only ever deliver a 1 pole high pass, and a very weak notch.
>>>> I've worked out the theory for generating all the same responses as
>>>> you can get by mixing the outputs of an State Variable, but instead
>>>> mixing the inputs to a Sallen Key. I've put together a technical paper
>>>> on it here:
>>>> https://cytomic.com/files/dsp/SkfLinearTrapezoidalSin.pdf
>>>> and I've sketched the basic structure of what is going on here (taking
>>>> an MS20 v2 type OTA Sallen Key as the basis):
>>>> www.cytomic.com/files/dsp/SkfInputMixing.jpg
>>>> the important voltages are:
>>>> vamp1 = (m0*v0) - (m1*v0 + v1)
>>>> vamp2 = (m1*v0 + v1) - (v2)
>>>> vcap1 = (v1) - (res*v2 + m2*(-v0))
>>>> vcap2 = (v2) - (m2*v0)
>>>> where m0 = low mix, m1 = band mix and m2 = high mix
>>>> Also for those interested in a digital implementation I've also
>>>> included in the paper is also a trapezoidal integrated linear circuit
>>>> model use state space increments and high precision coefficient
>>>> calculation.
>>>> Andy
>>>> _______________________________________________
>>>> Synth-diy mailing list
>>>> Synth-diy at dropmix.xs4all.nl
>>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy

More information about the Synth-diy mailing list