On 20.06.2014, at 17:37, robert bristow-johnson <r...@audioimagination.com> 
wrote:

> On 6/20/14 10:57 AM, Andrew Simper wrote:
>> On 20 June 2014 17:11, Tim Goetze<t...@quitte.de>  wrote:
>> 
>>> [Andrew Simper]
>>>> On 18 June 2014 21:01, Tim Goetze<t...@quitte.de>  wrote:
>>>>> I absolutely agree that this looks to be the most promising approach
>>>>> in terms of realism.  However, the last time I looked into this, the
>>>>> computational cost seemed a good deal too high for a realtime
>>>>> implementation sharing a CPU with other tasks.  But perhaps I'll need
>>>>> to evaluate it again?
>>>> The computational costs of processing the filters isn't high at all, just
>>>> like with DF1 you can compute some simplified coefficients and then call
>>>> process using those. Since everything is linear you end up with a bunch of
>>>> additions and multiplies just like you do in a DF1, but the energy in your
>>>> capacitors is preserved when you change coefficients just like it is when
>>>> you change the knobs on a circuit.
>>> Yeh's work on the Fender tonestack is just that: symbolic nodal
>>> analysis leading to an equivalent linear digital filter.   I
>>> mistakenly thought you were proposing nodal analysis including also
>>> the nonlinear aspects of the circuit including valves and output
>>> transformer (which without being too familiar with the method I
>>> believe to lead to a system of equations that's a lot more complicated
>>> to solve).
>>> 
>>> 
>> Nodal analysis can refer to linear or non-linear, so sorry for the
>> confusion.
> 
> 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.

I don't quite understand. Are you saying that one can not write down an 
equation for each node once there's a diode or a transistor in the circuit?

I was of the opinion that transfer functions of, say, diodes are well known, 
and even though the resulting equations need more than just adds and multiplies 
and delays, they are still correct equations albeit ones that require more 
complex measures than undergrade math to solve. I could be wrong though, and in 
this case I'd be happy to learn!

> 
>>  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?

But of course - in a linear filter, such as one composed out of RC networks. 
But what about voltage controlled filters?

> 
>>  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.

But of course there has to be a state history. But Andy talks about 
computational efficency here, so he was referring to actual mathematical 
operations, not loads and stores which may be optimised away if the results can 
be kept in a CPU register within a tight loop.

> 
>> 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.

That's where it's a bit tricky. In my naive way of thinking, I see non-linear 
elements, say a diode, or something tanh-ish, as voltage dependent resistors. 
Therefore the signal in a non-linear filter, naively spoken, influences the 
overall filter frequency. This explains why for instance in an analogue 
synthesizer the frequency of the self oscillating filter sounds like it's 
modulated by the filter input (in actual fact, run an LFO through a 
self-oscillating filter and you get a filter sweep. Alternatively, drive a 
square wave really hard in a lowpass filter and hear the upper harmonics 
attenuate)

Now, if we could agree that, naively spoken, the signal performs audio rate 
modulation of the cutoff frequency in a non-linear filter, then we would have 
to determine whether or not the effect of using simple Euler has any 
disadvantage over, say, trapezoidal integration and solving feedback loops 
delayless. That is, is there an audible difference in a practical case, even at 
really high samplerates?

We have done this, and as we express opinions here, my opinion is that using 
Euler sounds like plastic while using "the other method" sounds dope. We need a 
tad more than undergraduate math, but we think it's worth it. That is, for our 
line of work, which is building software implemented synthesizers and effects. 
Not sure how this translates to valve amps.

> 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 think that's what I tried to say is, in a non-linear filter there is no 
steady state. Add a DC component to the input and the filter frequency changes. 
Therefore the filter frequency is not just dependent on coefficients alone. 
It's like someone sits inside that thing twiddling the cutoff knob like there's 
no tomorrow and faster than the eye can see ¯\(°_o)/¯

Cheers,

- Urs


--
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