Here's my derivation and Plug-In sample code for the Korg35 Filter (LPF only) found in the MS-20 and new Montotron. If you have any questions feel free to post them here.
App Note 5:
UPDATE July 19, 2013: I have revised the App Note to v1.3, changing the Nonlinear Processing section to include both naive and "budget" implementations. The code was changed to double precision processing and has also been updated.
New version uploaded August 16, 2013; streamlined code and added explanation of why self oscillation occurs at K = 2 (rather than K = 3 for this Sallen-Key topology)
NEW: v3.0 App Note
I added another App Note (v3.0) for the Korg35 LPF which uses a different method of modeling the signal flow graph exactly rather than modeling the conceptual block diagram. The transfer function, frequency response and sound of this filter are identical to previous versions. By modeling the signal flow graph directly, we can eliminate one filtering block and simplify the equations and design even more.
I left the original (v2.0) App Note in place. The new v3.0 document and sample code are available at the above link on the App Notes page.
NEW: v3.5 UPDATE!
For completeness, this latest update adds the analysis, design and implementation of the single-amplifier Sallen-Key filter used in the Korg35. The frequency response is identical to the two-amplifier version I originally modeled. The point of self oscillation then occurs at K = 3 rather than K = 2. There is no difference in the lack of asymmetrical resonance. This is an interesting App Note update because it shows how to implement loaded RC and CR stages which create a loaded (lossy) BPF in the feedback loop. It is the addition of these lossy models that requires the gain K to be increased to 3. However, the lossy sections require a few more calculations to establish the coefficients, so the original design is more efficient, and is the one I prefer.
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 1
Newest Members:Jas, Rowan, sojourn, fabhenr, rg1, Niklas, Wutru, Tim Campbell, Danny Jonel, Valentin
Moderators: W Pirkle: 573
Administrators: Tom: 74, JD Young: 80, Will Pirkle: 0, W Pirkle: 573, VariableCook: 3