On 6/21/14 10:45 AM, Andrew Simper wrote:
On 20 June 2014 23:37, robert bristow-johnson<r...@audioimagination.com>
wrote:

well, Kirchoff's laws apply to either linear or non-linear.  but the
methods we know as "node-voltage" (what i prefer) or "loop-current" do
*not* work with non-linear.  these circuits (that we apply the node-voltage
method to) have dependent or independent voltage or current sources and
impedances between the nodes.


If this is the case you should tell everyone that using Spice to stick to
linear components only since the non-linear ones won't work!


um, it's a semantic thing that i just wrote about in response to Urs. i don't use the term myself, but i am defining "nodal analysis" the way i see virtually all other lit doing it. when spice is modeling non-linear circuits, it is using Kirchoff's current law on every node, Kirchoff's voltage law on every loop, and the explicit volt-amp characteristic on every device connected between those nodes. those are the physical axioms. if you wanna call that "nodal analysis", fine by me (but i don't use that term, myself).

but if you're using Spice to give you a quickie frequency response to an ideal op-amp circuit with resistors and capacitors, it's doing what we call the "node-voltage method" (in the s-domain) which **is** limited to independent and dependent sources and impedances. and it solves a system of linear equations. you need to count each of these parts between nodes as something that obeys the s-domain version of Ohm's law. that's the only way you can write the linear equations and solve them to get a meaningful and consistent frequency response which is a function only of the circuit with respect to its input and output terminals. that frequency response is not a function of the applied signal or anything outside of the circuit.


    I was trying to point out that the linear analysis done by Yeh
starts the circuit but then throws it away and instead uses a DF1, and a
DF1 does not store the state of each capacitor individually, so when you
turn the knob you don't get the right time varying behaviour.

in the steady-state (say, a second after the knob is turned) is there the
right behavior with the DF1?

If you start the filters with silence and don't change any settings and you
have infinite processing resolution they will be identical. I would guess
that the time for artificial energy injected into a DF1 due to parameter
changes to be unnoticeable would depend on the particular circuit, guessing
again I would say it is most likely that low frequencies with high
resonance would be most problematic, and from what I have noticed sweeping
downwards in frequency is the worst case, but you are the expert on DF1s
what are the results of research you have conducted into these issues?



i'm no more an "expert" on DF-anything. i am just saying that, when it's LTI (and i am referring to some hand-written papers i've seen of yours a couple years ago) it's gonna boil down to an H(z). then there is, as far as the input-output behavior and frequency response goes, an equivalence of the various topologies that get the same H(z). the different topologies have different behaviors regarding clipping and quantization noise and time-varying behavior (less worried about the occasional knob twist than for the filter modulated with a tremelo signal). it is *for* *those* *reasons* i have an interest in the different topologies, but not for calculating coefficients to get a desired frequency response.


    I am saying
you don't have to throw the circuit away, you can still get an efficient
implementation since in the linear case everything reduces to a bunch of
adds and multiplies.

and delay states.

You just store a single state per capacitor actually, please read these for
some examples: www.cytomic.com/technical-papers



i've been there a while ago.  are there new papers now?

  For non-linear modelling you need additional steps, and depending on the
circuit there are many different methods that can be tried to find the
best
fit for the particular requirements

if, the sample rate is high enough (and it *should* be pretty fast because
of the aliasing issue) the "deltaT" used in forward differences or backward
differences (or predictor-corrector) or whatever should be pretty small.
  in my opinion, if you have a bunch of memoryless non-linear elements
connected in a circuit with linear elements (with or without memory), it
seems to me that the simple Euler's forward method (like we learned in
undergraduate school) suffices to model it.

In tests I've done (where I've had to simplify some parts just to get it
explicit version to be stable) it takes around x8 oversampling of a base
rate of 44.1khz before the single step explicit version sounds the almost
identical to an implicit version, so



Andrew, i realize that you had been using something like that to emulate
linear circuits with capacitors and resistors and op-amps.  it does make a
difference in time-variant situations, but for the steady state (a second
or two after the knob is twisted), i'm a little dubious of what difference
it makes.


I would guess that for guitar circuits if the cutoff frequencies are around
80 hz at the lowest then after two seconds of not moving any knobs the that
any linear filter that hasn't blown up would settle to sound the same given
infinite processing resolution, but I have not done research into this so I
would not bank on it, especially when direct circuit simulation is so
straight forward, and then the non-linear case can also be handled with
identical machinery at the cost of more cpu.

1/(2 seconds) is about 1/2 Hz. two orders of magnitude between 0.5 Hz and 80. i'm would be surprized, outside of a chaotic system (which is non-linear on steroids), if there was any transient left after even a half second.


--

r b-j                  r...@audioimagination.com

"Imagination is more important than knowledge."



--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to