On 6/23/14 12:16 AM, Andrew Simper wrote:
you
have a function of two variables that you can explicitly evaluate
using your favourite route finding mechanism, and then use an
approximation to avoid evaluating this at run time. This 2D
approximation is pretty efficient and will be enough to solve this
very basic case. But each non-linearity that is added increases the
space by at least one dimension, so your function gets big very
quickly and you have to start using a non-linear mapping into the
space to keep things under control.

i haven't been able to decode what you just wrote.
This is important to understand if you want to use massive tables to
model this stuff. Perhaps read Yeh's thesis paper? I have already
posted this to another thread, but here it is again:

"... but missed David Yeh's dissertation
https://ccrma.stanford.edu/~dtyeh/papers/DavidYehThesissinglesided.pdf
which contains a great description of MNA and how it relates to the
DK-method. I highly recommend everyone read it, thanks David!!

I really hope that an improved DK-method that handles multiple
nonlinearities more elegantly that it currently does. A couple of
things to note here, in general, this method uses multi-dimensional
tables to pre-calculate the difficult implicit equations to solve the
non-linearities, but as the number of non-linearities increases so
does the size of your table as noted in 6.2.2:

"The dimension of the table lookup for the stored nonlinearity in
K-method grows with the number of nonlinear devices in the circuit. A
straightforward table lookup is thus impractical for circuits with
more than two transistors or vacuum tubes. However, function
approximation approaches such as neural networks or nonlinear
regression may hold promise for efficiently providing means to
implement these high-dimensional lookup functions."
"

As you add more non-linearities to the circuit it becomes less
practical to pre-calculate tables to handle the situation. Also
changes caused by things like potentiometers add extra dimensions, and
you will spend all your time doing very high dimensional table
interpolation and completely blow the cache.

<sigh>   it's a function.  given his parameters, g and s, then x[n] goes in,
iterate the thing 50 times, and an unambiguous y[n] comes out.  doesn't
matter what the initial guess is (start with 0, what the hell).  i am saying
that *this* net function is just as deserving a candidate for modeling as is
the original tanh() or whatever.  just run an offline program using MATLAB
or python or C or the language of your delight.  get the points of that
function defined with a dense look-up-table.  then consider ways of modeling
*that* directly.  maybe leave it as a table lookup.  whatever.  but at least
you can see what you're dealing with and use that net function to help you
decide how much you need to upsample.
<sigh>  <sigh>  <sigh>  please at least try and understand what I wrote
before sighing at me! Yes, I agree that for low dimensional cases this
is a good approach, but for any realistic circuit things get
complicated and inefficient really quickly and you are better off with
other methods.

Andy and Urs, i have been making consistent and clear points and challenges and the response is not addressing these squarely.

let's do the Sallen-Key challenge, Andy.  that's pretty concrete.

you pick the circuit (i suggested the one at wikipedia) so we have a common reference. then you pick an R1, R2, C1, C2 (or an f0 and Q, i don't care). let's leave the DC gain at 0 dB. then we'll have a common and unambiguous H(s).

then let's agree on a common sampling rate, Fs.

then you do your trapezoid rule to both of the integrators (C1 and C2) in the circuit and solve for your discrete-time model. then spell out to the rest of us the difference equations.

i will take those difference equations and turn them into an unambiguous H(z) in the z-plane. then the question is if it will be the same H(z) we get from the original H(s) and applying the bilinear transform without any prewarping of anything. i am saying they will be the same, you had been saying they will not be the same. this is a falsifiable experiment, and we can see who's correct.

now that's one thing. it's about applying the trapezoid-rule integration or the bilinear transform (without prewarping) to the same continuous-time LTI circuit.

the other thing Urs brought up for discussion is an iterative and recursive process that converges on a result value, given an input. i am saying that this can be rolled out into a non-recursive equivalent, if the number of iterations needed for convergence is finite. this is a totally different issue.

i'm happy to address either (or both) issues directly without deferring to any other distraction. i can state clearly what my claim is and can we can test that claim. likewise, you can state clearly what your claim is, and we can test that.

--

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