<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.23588"></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=868585407-15112017><FONT color=#0000ff
size=2 face=Arial>This is exactly how the Intellijel Polaris is done as well,
although that one has about 29 modes, I think. I have a nifty Excel
spreadsheet which draws all the transfer functions for the various modes, when
you enter the five gain factors. That's how I generated all the graphs in
the Polaris user's manual.</FONT></SPAN></DIV><BR>
<BLOCKQUOTE
style="BORDER-LEFT: #0000ff 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px"
dir=ltr>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> Synth-diy
[mailto:synth-diy-bounces@synth-diy.org] <B>On Behalf Of </B>Andrew
Simper<BR><B>Sent:</B> Tuesday, November 14, 2017 9:23 PM<BR><B>To:</B> David
Moylan<BR><B>Cc:</B> SDIY List<BR><B>Subject:</B> Re: [sdiy] More on Xpander
modes was Re: HP from LP ?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr>Hi David,
<DIV><BR></DIV>
<DIV>I've been a bit busy moving house, so sorry for the late reply.</DIV>
<DIV><BR></DIV>
<DIV>If you label the voltages as follows for a 4 pole low pass cascade
structure:</DIV>
<DIV>
<DIV>voltages : {v0 - res*v4, v1, v2, v3, v4}</DIV></DIV>
<DIV>then generate the transfer function by summing these voltages with the
weighting terms: {m0, m1, m2, m3, m4}</DIV>
<DIV><BR></DIV>
<DIV>You get the following transfer function:</DIV>
<DIV>
<DIV>(g^4 (m0 + m1 + m2 + m3 + m4) + g^3 (4 m0 + 3 m1 + 2 m2 + m3) s
+ </DIV>
<DIV> g^2 (6 m0 + 3 m1 + m2) s^2 + g (4 m0 + m1) s^3 + </DIV>
<DIV> m0 s^4)/(g^4 (1 + k) + 4 g^3 s + 6 g^2 s^2 + 4 g s^3 +
s^4)</DIV></DIV>
<DIV><BR></DIV>
<DIV>where g is the cutoff, k is the resonance and s is the regular frequency
domain laplace variable.</DIV>
<DIV><BR></DIV>
<DIV>Now just solve for your mix terms to place the zeros where you want
them.</DIV>
<DIV><BR></DIV>
<DIV>The resonance path was always the same, and interestingly enough you can
turn any filter type into any other, so you could have a high pass core turned
into a low pass filter if you really wanted to.</DIV>
<DIV><BR></DIV>
<DIV>The T was my way of saying "twin", basically saying a zero is happening
at 1/2 or x2 the cutoff, instead of just dc, infinity, or at the cutoff.</DIV>
<DIV><BR></DIV>
<DIV>For example, to form a two pole notch you want a numerator of (g +
s)^2 (g^2 + s^2), which solves to:</DIV>
<DIV><BR></DIV>
<DIV>v0-res*v4 - 2*v1 + 2*v2</DIV>
<DIV><BR></DIV>
<DIV>Here are all the coefficients {m0, m1, m2, m3, m4} for various
responses:</DIV>
<DIV>
<DIV>low2 : {0, 0, 1, 0, 0}<BR></DIV>
<DIV>low4 : {0, 0, 0, 0, 1}</DIV>
<DIV>band2 : {0, -1, 1, 0, 0}</DIV>
<DIV>band4 : {0, 0, 1, -2, 1}</DIV>
<DIV>notch2 : {1, -2, 2}</DIV>
<DIV>notch4 : {1, -4, 8, -8, 4}</DIV>
<DIV>high2 : {1, -2, 1}</DIV>
<DIV>high4 : {1, -4, 6, -4, 1}</DIV></DIV>
<DIV class=gmail_extra><BR></DIV>
<DIV class=gmail_extra>To generate further shapes just crossfade between the
responses above, or try out any old combinations you want. You may notice that
some of the coefficients are FIR edge detection type filters, for example {-1,
1}, and this convolved with itself gives you {1, -2, 1} etc.</DIV>
<DIV class=gmail_extra><BR></DIV>
<DIV class=gmail_extra>Have fun!</DIV>
<DIV class=gmail_extra><BR></DIV>
<DIV class=gmail_extra>Cheers,</DIV>
<DIV class=gmail_extra><BR></DIV>
<DIV class=gmail_extra>Andrew</DIV>
<DIV class=gmail_extra><BR></DIV>
<DIV class=gmail_extra>
<DIV class=gmail_quote>On 9 August 2017 at 15:02, David Moylan <SPAN
dir=ltr><<A href="mailto:dave@westphila.net"
target=_blank>dave@westphila.net</A>></SPAN> wrote:<BR>
<BLOCKQUOTE
style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>Andy, do you have any coefficients for these shapes? The
double notches seem interesting. Was your resonance path always from a
4th LP pole? Can you breakdown the abbreviations used for the
responses? For instance, what's the T
suffix?<BR><BR>Thanks.<BR><BR>Dave<SPAN class=gmail-><BR><BR>On 08/08/2017
09:45 PM, Andrew Simper wrote:<BR></SPAN>
<BLOCKQUOTE
style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote><SPAN class=gmail->In digital you get pretty spot on
shapes since your tolerances are around 0.0001% ;)<BR><BR>I worked on all
this stuff over 10 years ago and came up with my favourite list of
responses:<BR><A
href="https://cytomic.com/files/dsp/cascade-tapped-filter-responses.pdf"
rel=noreferrer
target=_blank>https://cytomic.com/files/dsp/<WBR>cascade-tapped-filter-response<WBR>s.pdf</A><BR><BR>I
implemented these in a software synth plugin called Strobe over 8 years
ago. A while later the guys at Motu liked them so much they copied the
shapes and the names and used them in their software sampler plugin Mach
5.<BR><BR>Cheers,<BR><BR>Andy<BR><BR><BR><BR></SPAN>
<DIV>
<DIV class=gmail-h5>On 1 August 2017 at 07:48, David Moylan <<A
href="mailto:dave@westphila.net" target=_blank>dave@westphila.net</A>
<mailto:<A href="mailto:dave@westphila.net"
target=_blank>dave@westphila.net</A>>> wrote:<BR><BR>
I'm just finishing up an add on to a Roland IR3109 to do the
pole<BR> mixing, same basic method as the Xpander. From
my early listening<BR> tests I will say that the high pass
modes still seem to have some<BR> low pass in them. Can
any Xpander users comment?<BR><BR> This is due to the fact
that achieving HP responses relies on<BR> nulling out terms
in the transfer function via mixing the different<BR>
poles. If you're not exact you don't get a full null and
the<BR> attenuation of low frequencies suffers (looks more
like a shelf<BR> instead of continuing roll off of low
frequencies and usually has a<BR> little dip in the
middle). I'm using 1% tolerance resistors, but am<BR>
about to sub in some 33.2k for 33k to get even closer to the<BR>
theoretically perfect values.<BR><BR> Even if you had
perfect resistors I would imagine any mismatching<BR> between
the OTA stages would also cause the attenuation to suffer,<BR>
but I haven't modeled that.<BR><BR> Still, each mode
sounds sufficiently different and I particularly<BR> like the
modes with notches in them like 1 pole LP + notch. I<BR>
wouldn't expect to like a less "dramatic" filter but I love
the<BR> sound of that one.<BR><BR> FYI, one of
the Xpander modes is All Pass / 1P LP or "Phaser" with<BR>
first pole switched out. The shape has a notch off center and
its<BR> pole weights are 1 3 6 4. If you change the
weights to 1 3 4 2 the<BR> notch becomes centered and it
looks like a 2P band pass with a notch<BR> at the center and
with the first pole switched out it's like a 1P HP<BR> +
notch, mirroring the 1P LP + notch that is already available.
Something different to try... The PDF mentioned in the last
post<BR> has good drawings of the filter shapes which might
help make sense<BR> of this.<BR><BR> I'm working
on this in a Roland GR-300 but the boards could<BR>
theoretically work in any synth that uses the IR3109, like the<BR>
SH-101 and MC-202. Not sure how much room is available
inside<BR> those, the boards are 1.3" x 2.6" using 3 SOIC
chips, a small number<BR> of 1206 SMT resistors and the rest
through hole. Not very difficult<BR> to solder.
The filter selection is via a pot into a 3 bit ADC, and<BR>
the first filter pole is switched manually. (Haven't had any
problem<BR> with pops when switching that pole.) That
gives the 16<BR> combinations, of which, there's one
duplicate so you get 15 modes.<BR><BR> If you're interested
in a board let me know. I should have a video<BR> on
YouTube later this week showing it's operation in the GR300.
Will post here.<BR><BR> On 07/31/2017 02:28 PM, Tom
Wiltshire wrote:<BR><BR> I’m getting the
feeling here that just a simple subtraction of<BR>
the lowpass response from the input isn’t enough (ahem). If
you<BR> want better than -6dB/oct, you need to
do some more<BR> sophisticated summing of the
input and the various outputs, and<BR> you’d
better make sure you’ve got accurate resistor values and<BR>
signal levels too, since that provides a limit to how m
such<BR> attenuation you can expect in the stop
band off you high pass<BR> filter. How good is
your signal cancellation? -40db? -60dB?<BR>
Unlikely to be better than that.<BR><BR> That’s
not to say that it’s not worth it.. As Paula said, the<BR>
Xpander service manual is the original source, and
Oliver<BR> Gillet’s documents on the Four Pole
Mission board for the<BR> Shruthi expand on
that:<BR><BR></DIV></DIV> <A
href="https://mutable-instruments.net/archive/documents/pole_mixing.pdf"
rel=noreferrer
target=_blank>https://mutable-instruments.ne<WBR>t/archive/documents/pole_mixin<WBR>g.pdf</A>
<<A
href="https://mutable-instruments.net/archive/documents/pole_mixing.pdf"
rel=noreferrer
target=_blank>https://mutable-instruments.n<WBR>et/archive/documents/pole_mixi<WBR>ng.pdf</A>><SPAN
class=gmail-><BR><BR> Basically, generating a
multi-pole highpass from a multipole<BR>
lowpass response isn't as simple as just taking one off the<BR>
other. These are both great filters and worth
doing.<BR><BR> HTH,<BR>
Tom<BR><BR><BR>
==================<BR>
Electric Druid<BR> Synth &
Stompbox DIY<BR>
==================<BR><BR> On 31
Jul 2017, at 20:50, Julian Schmidt <<A href="mailto:elfenjunge@gmx.net"
target=_blank>elfenjunge@gmx.net</A><BR></SPAN>
<DIV>
<DIV class=gmail-h5>
<mailto:<A href="mailto:elfenjunge@gmx.net"
target=_blank>elfenjunge@gmx.net</A>>> wrote:<BR><BR>
Have a look at this paper on page 64,
Multimode Ladder Filter<BR> <A
href="https://www.native-instruments.com/fileadmin/ni_media/downloads/pdf/VAFilterDesign_1.1.1.pdf"
rel=noreferrer
target=_blank>https://www.native-instruments<WBR>.com/fileadmin/ni_media/<WBR>downloads/pdf/VAFilterDesign_<WBR>1.1.1.pdf</A><BR>
<<A
href="https://www.native-instruments.com/fileadmin/ni_media/downloads/pdf/VAFilterDesign_1.1.1.pdf"
rel=noreferrer
target=_blank>https://www.native-instrument<WBR>s.com/fileadmin/ni_media/<WBR>downloads/pdf/VAFilterDesign_<WBR>1.1.1.pdf</A>><BR><BR>
You can mix the different poles with a
simple opamp mixer.<BR> input -4
* Pole1 + 6 * Pole 2 -4 * Pole 3 + Pole 4 will<BR>
yield a funky looking HP filter<BR><BR>
julian<BR><BR><BR>
Am 31.07.2017 um 20:10 schrieb Michael
Zacherl:<BR><BR>
Hi,<BR> I discussed
that briefly in one of the last SDIY meetings,<BR>
did some experiments but never came to
a sound conclusion:<BR><BR>
Is there a ‘cheap’ way of turning a low pass filter
into<BR> a high
pass?<BR><BR> How’s
that possibly approached?<BR>
Just something like subtracting the LP’s output from
its<BR> input
signal?<BR> If so,
what about resonance?<BR><BR>
My point about doing that cheaply is the
(upcoming)<BR>
release of two synths with Moog ladder filter featuring<BR>
a switchable high pass
mode.<BR> To my
knowledge, there was no resonating HP filter from<BR>
Moog so far in any synth.<BR>
Until now.<BR>
Since both synths (Moog
Mother-32 and Behringer Model D)<BR>
are on the budget side in terms of money I’d
rather<BR> expect a
simple solution compared to a, say, DSI Pro-2<BR>
with two fully featured filters in
it.<BR><BR> Any
hints?<BR> Thanks,
Michael.<BR><BR><BR>
--<BR> <A
href="http://mz.klingt.org" rel=noreferrer
target=_blank>http://mz.klingt.org</A><BR><BR><BR>
______________________________<WBR>_________________<BR>
Synth-diy mailing
list<BR></DIV></DIV>
<A href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.org</A> <mailto:<A
href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.or<WBR>g</A>><BR>
<A
href="http://synth-diy.org/mailman/listinfo/synth-diy" rel=noreferrer
target=_blank>http://synth-diy.org/mailman/l<WBR>istinfo/synth-diy</A><SPAN
class=gmail-><BR>
<<A href="http://synth-diy.org/mailman/listinfo/synth-diy"
rel=noreferrer
target=_blank>http://synth-diy.org/mailman/<WBR>listinfo/synth-diy</A>><BR><BR><BR>
______________________________<WBR>_________________<BR>
Synth-diy mailing list<BR></SPAN>
<A href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.org</A> <mailto:<A
href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.or<WBR>g</A>><BR>
<A
href="http://synth-diy.org/mailman/listinfo/synth-diy" rel=noreferrer
target=_blank>http://synth-diy.org/mailman/l<WBR>istinfo/synth-diy</A><SPAN
class=gmail-><BR> <<A
href="http://synth-diy.org/mailman/listinfo/synth-diy" rel=noreferrer
target=_blank>http://synth-diy.org/mailman/<WBR>listinfo/synth-diy</A>><BR><BR><BR><BR>
______________________________<WBR>_________________<BR>
Synth-diy mailing list<BR></SPAN>
<A href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.org</A> <mailto:<A
href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.or<WBR>g</A>><BR>
<A href="http://synth-diy.org/mailman/listinfo/synth-diy"
rel=noreferrer
target=_blank>http://synth-diy.org/mailman/l<WBR>istinfo/synth-diy</A><SPAN
class=gmail-><BR> <<A
href="http://synth-diy.org/mailman/listinfo/synth-diy" rel=noreferrer
target=_blank>http://synth-diy.org/mailman/<WBR>listinfo/synth-diy</A>><BR><BR><BR>
______________________________<WBR>_________________<BR>
Synth-diy mailing list<BR></SPAN> <A
href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.org</A> <mailto:<A
href="mailto:Synth-diy@synth-diy.org"
target=_blank>Synth-diy@synth-diy.or<WBR>g</A>><BR> <A
href="http://synth-diy.org/mailman/listinfo/synth-diy" rel=noreferrer
target=_blank>http://synth-diy.org/mailman/l<WBR>istinfo/synth-diy</A><BR>
<<A href="http://synth-diy.org/mailman/listinfo/synth-diy"
rel=noreferrer
target=_blank>http://synth-diy.org/mailman/<WBR>listinfo/synth-diy</A>><BR><BR><BR></BLOCKQUOTE><BR></BLOCKQUOTE></DIV><BR></DIV></DIV></BLOCKQUOTE></BODY></HTML>