For a rough approximation of a "realistic" OTA in the spirit of CA3080 or LM13700, you could probably try something like:
Iout = Iabc*tanh(Vin/(2*Vt)) - Is*(exp((Vout+VdropPos-Vpos)/Vt)-exp((Vneg+VdropNeg-Vout)/Vt))
where Vin is the differential input voltage, Vout is the voltage of the output, Vpos and Vneg are the positive and negative supply voltages and VdropPos and VdropNeg are constants approximating a few junction voltage drops from the mirrors (eg. something like VdropPos=3V and VdropNeg=1.5V should be fairly close to LM13700).
This is obviously a couple of layers of approximations piled on top of each other (in order to make it cheap), but the idea is to shortcut the "ideal" current through a pair of diodes to voltages slightly below supply if we try to push the voltage too close to the rails.
As a practical note, I actually used a pair of diodes in series with voltage sources to implement the second term when testing this in LTSpice (something that might dramatically improve your convergence in a custom solver too, at the cost of having to solve two extra nodes), since it didn't seem to handle the above term in a behaviour source directly (which usually runs into converge problems if you try to model ideal diodes, so not really surprised).
When compared against this LM13700 model in LTSpice, it actually seems surprisingly reasonable. The negative rail in general seems fine, where as the current drop on the positive rail is a bit more gradual in the "proper model" so making the positive rail clamp diode worse (eg. maybe a larger ideality factor would fix that) might improve it further.
Overall the value for you money should be fairly decent though, given that the whole thing still costs less than a pair of Ebers-Moll transistors. I don't know if it improves the SEM filter (which might be too well-behaved for this to really matter), but it should (hopefully) handle more "abusive" circuits in a fairly reasonable way.
What makes SEM filter so special :)
DSP, Plugin and Host development discussion.
Moderator: KVR Moderators (Main)
What makes SEM filter so special :)
2018-01-09T19:52:05+00:00
I modelled some filters, basing on their circuits (more or less), using TPT and Newton-Raphson metod with oversampling. The models sound not exactly the same but share a lot of character with the original.
Well.. until I sat on SEM filter :) The only significant nonlinearity I see on the scheme are diodes in damping path. I've tried to make everything with them, but my model doesn't even touch the SEM character. (especially this beautifully buzzing high-end and filter modulation).
I know, I'm asking about black art, but any tip? Where should I go?
itoa
https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=214659
- KVRAF
- 7959 posts since 12 Feb, 2006 from Helsinki, Finland
- Contact:
-
- KVRist
- 201 posts since 26 Sep, 2017 from Berlin
- Contact:
Return to “DSP and Plugin Development”
Jump to
- The Main Forums
- ↳ KVR Studio Manager
- ↳ KVR Experts
- ↳ Getting Started (AKA What is the best...?)
- ↳ Instruments
- ↳ Effects
- ↳ Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)
- ↳ Guitars
- ↳ Mobile Apps and Hardware
- ↳ Soundware
- ↳ Samplers, Sampling & Sample Libraries
- ↳ Hardware (Instruments and Effects)
- ↳ Modular Synthesis
- ↳ Sound Design
- ↳ Production Techniques
- ↳ Music Theory
- ↳ Computer Setup and System Configuration
- ↳ DSP and Plugin Development
- ↳ DIY: Build it and they will come
- ↳ Music Cafe
- ↳ Sell & Buy (+Special Offers, Deals & Promos)
- ↳ KVR Developer Challenge 2023
- ↳ Everything Else (Music related)
- ↳ Off Topic
- ↳ Off Topic Classics
- Official Company Forums
- ↳ 2getheraudio
- ↳ accSone
- ↳ Acon Digital
- ↳ AcousticsampleS
- ↳ AcousModules
- ↳ Agitated State
- ↳ AIR Music Technology
- ↳ AMG
- ↳ Ample Sound
- ↳ Antares Audio Technologies
- ↳ Apisonic Labs
- ↳ apulSoft
- ↳ AriesCode
- ↳ Arts Acoustic
- ↳ Arturia
- ↳ Audjoo
- ↳ AudioSpillage
- ↳ Audiority
- ↳ Best Service
- ↳ Big Tick
- ↳ Bitwig
- ↳ Controller Scripting
- ↳ Blue Cat Audio
- ↳ Cherry Audio
- ↳ CWITEC
- ↳ Embertone
- ↳ energyXT
- ↳ Eventide
- ↳ Expert Sleepers
- ↳ forward audio
- ↳ Future Audio Workshop
- ↳ FXpansion
- ↳ g200kg
- ↳ Harrison Mixbus
- ↳ HG Fortune
- ↳ Homegrown Sounds
- ↳ HoRNet Plugins
- ↳ Ilya Efimov Production
- ↳ Image Line
- ↳ Impact Soundworks
- ↳ Indiginus
- ↳ Insert Piz Here
- ↳ Ju-X
- ↳ Kirk Hunter Studios
- ↳ Kirnu
- ↳ Kong Audio
- ↳ Krotos
- ↳ Kuassa
- ↳ KV331 Audio
- ↳ LennarDigital
- ↳ Les Productions Zvon
- ↳ Liqube Audio
- ↳ Loomer
- ↳ LVC-Audio
- ↳ Maizesoft
- ↳ Manytone Music
- ↳ MeldaProduction
- ↳ Mellowmuse
- ↳ MIDIMood
- ↳ moForte
- ↳ Mozaic Beats
- ↳ mucoder
- ↳ MusicDevelopments
- ↳ Tips & Tricks
- ↳ MusicLab
- ↳ MUTOOLS
- ↳ New Sonic Arts
- ↳ NUSofting
- ↳ Oli Larkin Plugins
- ↳ Orange Tree Samples
- ↳ patchpool
- ↳ Photosounder
- ↳ PlugInGuru
- ↳ Polyverse Music
- ↳ Precisionsound
- ↳ Premier Sound Factory
- ↳ Psychic Modulation
- ↳ Realitone
- ↳ Resonance-Sound
- ↳ Reveal Sound
- ↳ Roger Linn Design
- ↳ rs-met
- ↳ S3A: Spatial Audio
- ↳ SaschArt
- ↳ Smart Electronix
- ↳ sonible
- ↳ SonicBirth
- ↳ Sonic Reality / eSoundz.com
- ↳ Soundiron
- ↳ SPC Plugins
- ↳ Sugar Bytes
- ↳ TAL Software
- ↳ Tokyo Dawn Labs
- ↳ Tracktion
- ↳ u-he
- ↳ u-he Linux support
- ↳ United Plugins
- ↳ VAZ Synths
- ↳ Virharmonic
- ↳ Wolfgang Palm
- ↳ xoxos
- ↳ XSRDO - SynthCraft
- ↳ ZynAddSubFX
- Site Stuff
- ↳ Site Stuff
- Archived Forums
- ↳ AlgoMusic
- ↳ easytoolz
- ↳ Elevayta
- ↳ Hollow Sun
- ↳ Kazrog
- ↳ LinPlug
- ↳ Muse Research and Development
- ↳ Shuriken
- ↳ SoHa Sound Design
- ↳ Soniccouture
- ↳ Topten Software
- ↳ Tweakbench
- ↳ Valhalla DSP
- ↳ CK Modules & VST
- ↳ Sennheiser AMBEO
- ↳ Muon Software
- ↳ Westgatesounds.net
- ↳ Squaredheads
- ↳ Sonigen
- ↳ CFA-Sound
- ↳ Back In Time Records
- ↳ Livelab.dk
- ↳ Skytopia
- ↳ audioD3CK
- ↳ Inspire Audio
- ↳ Krakli
- ↳ Drumdrops
- ↳ Futucraft
- ↳ OverTone DSP
- ↳ RaXnTraX
- ↳ solar3d-software
- ↳ Signaldust
- ↳ Soundemote
- KVR Forum index
- All times are UTC
- Delete cookies