Steiner Parker filter topology

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

Can you recommend a blog hosting site? Preferrably free, secure and with a nice layout for C++ code blocks? Maybe one that does MathML? :clown:

Post

I would love to be able to give you a suggestion, but I'm still trying to move from the free Wordpress.org for my blog, and I don't have chosen anything yet. I'm going to consider the options given in this article, if that can help : http://www.dearblogger.org/blogger-or-wordpress-better

Post

Urs wrote:
itoa wrote:yep its all about performance/aliasing/quality balance.

Sometimes, where there is a single dominating nonlinearity, I solve this directly (it's usually doable using lambertW stuff) and then apply cheap method for the rest of them.
lambertW sounds groovy, I haven't tried that yet.

We're currently optimizing multiple unknowns with Newton Raphson. This way we can parallelize several filter stages in SSE code even for monophonic filters. As this converges in 2-3 rounds for filters with buffers, it's pretty much almost as fast as any one step method with an added correction step, as long as a few tanhs() are involved, or anything with similarly nice derivatives.
The ProductLog or LambertW function is the explicit solution to the implicit equation: z = w exp(w) for w, which is useful when solving equations with pn-junctions either in a single step or in fewer steps than usual without it, but is by no means a silver bullet. Just getting a decent approximation of the function is hard enough, and using it in a general solver context containing multiple arbitrary pn-junctions requires work. Sometimes it's quicker just to use multiple iterations of a standard NR solver which just requires exp, since exp is a much easier function to approximate.
The Glue, The Drop, The Scream - www.cytomic.com

Post

Well, one day I'll try to figure this out :)

Post

Urs wrote:Can you recommend a blog hosting site? Preferrably free, secure and with a nice layout for C++ code blocks? Maybe one that does MathML? :clown:

Although I haven't used it yet, I'd recommend Jekyll with the MathML plug-in.
It's basically a static site generator that works from text files, so it's secure by design, and it's going to be much lighter and faster than a CMS relying on a database + php.
You can write your text in Markdown and even convert a whole existing Wordpress site with it.
You cant then host it on Gihub pages.

There's also http://www.jekyllnow.com/ that simplifies the setup.

Post

I have heard a lot of times people talking about GitHub pages and Jekyll now. So, I have tried it, and I have been able to create a blog in a few minutes ! I'm digging into the options right now, and I think I'm going to use it, I love the concept. Thanks for the suggestion !

Post

Urs wrote:
itoa wrote:btw. Urs

Isn't "cheap Mystran's" method + oversampling enough?
I found this very usable and got aliasing battle won by the way, even in stiff systems.

I don't hear any difference for high enough oversampling, except I can "push them stronger" in case of Mystran's method.
When I use an iterative method with an error margin that's much lower than the error in Mystran's method I can still hear a lot of noise. I presume the error in Mystran's method (or other methods that approximate tanh(x) by a*x + b) isn't as "random" as with iterative solvers, but it might have similar propagation over time.
I'm very late to this party, but the noise you get with a variable-round iterative solver is not really related to the absolute error (which is essentially irrelevant), but rather the "process variation" that results from terminating the iteration at variable rounds (or using other branches such as piecewise models).

The "single iteration" semi-implicit scheme has a large error, but it does not produce "noise" (nor does any other "signal independent" fixed-iteration scheme) because it's "exactly" (ignoring finite mantissa) calculating an approximated process, rather than performing approximate calculations of the ideal process until some convergence threshold (which results in noise proportional to the variation in the remaining error).

edit: You can try this yourself and take any "smooth" iterative scheme (piece-wise branching and such also results in noise) and replace the tolerance threshold with a fixed iteration count; the result will now have varying accuracy (some samples converge better than others), but it will no longer produce any random noise (at least not if the scheme is reasonably well behave).

Post

As for Mystrans method, I think I am aware how this "walking approximation" works. But can this be empirically perceived as a noise? e.g. I have ladder filter model with 5 nonlinearities, 4x oversampled I don't see anything that may be called noise on FFT even when I push it stronger (down to -90db).

Ok just reading Mystrans answer above ;)
giq

Post

itoa wrote:As for Mystrans method, I think I am aware how this "walking approximation" works. But can this be empirically perceived as a noise? e.g. I have ladder filter model with 5 nonlinearities, 4x oversampled I don't see anything that may be called noise on FFT even when I push it stronger (down to -90db).
It does not produce noise. It produces the (slightly) wrong result exactly! ;)

Noise only ever comes into play when you truncate an iterative scheme early when it reaches some desired level of accuracy. You then get noise relative to the remaining error interval.

Post

mystran wrote:Noise only ever comes into play when you truncate an iterative scheme early when it reaches some desired level of accuracy. You then get noise relative to the remaining error interval.
Gotcha!

Post Reply

Return to “DSP and Plugin Development”