Circuit modeled filter, how to?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Big question : is it an approximation to consider a capacitor with its impulse response off the circuit ? Its impulse response can change if you take it inside a circuit with the measures just before and after ?

Macro example of what I'm saying : if you replace the capacitor with a "linear" circuit section, considering its impulse response when it is alone as its representation, means to decrease the importance of coupling between it and the other sections.

Maybe it is one of the characteristics which brings differences between each kind of capacitor...

Post

Wolfen666 wrote:Big question : is it an approximation to consider a capacitor with its impulse response off the circuit ? Its impulse response can change if you take it inside a circuit with the measures just before and after ?
Capacitor's impulse response should not change (LTI system), or otherwise it would be a non-linear element, modeled with a different than differential approach. So, you can easily change capacitor with a "DC current source+resistance" element and hide its impulse response "behind the scenes".

All you need after sampling the impulse response is to scale (multiply by a gain constant of choice) it properly.
Image

Post

Capacitor's impulse response should not change (LTI system)
Ouch I'm tired today :hihi: But you have understood what I mean, and...
So, you can easily change capacitor with a DC current source+resistance element and hide its impulse response "behind the scenes".
Looks like an interesting approach :wink:

Post

Wolfen666 wrote:
So, you can easily change capacitor with a DC current source+resistance element and hide its impulse response "behind the scenes".
Looks like an interesting approach :wink:
Yep, I just hope it works. :) (no reason it should not as schematic can't force capacitor to give off more energy than what impulse response dictates depending on the previously stored energy - that's part of causality criterion, another part is that capacitor can't take energy from the future).

I'm only hoping I can find a good non-linear equations solver that does not require turning a ready system of non-linear equations into a bunch of differential steps. (somebody did that, but it's not a publicly available method - that guy is no Newton, and we are not living in newtonian times, you know) but at least I hope this method will be disclosed in the future.
Image

Post

aciddose wrote:you're just upset that i've proven you wrong on your original statement.
I must have missed that. Where do you think you have proved me wrong? Please share.

Andrew

Post

Aleksey Vaneev wrote:
andy_FX wrote: In this case, where the oversampling amount will not allow for correct tuning then how do I generate a function that I can fit to correct for this tuning? Will I need to use a transfer function at all like H(s) or H(z)?
Yep, in that case you'll probably need to know s- and z-plane math deeply. However, it's not the best way around. You may, after all, just transform the 'basic' 1st order low-pass filter into a higher order low-pass filter with the same slope and pass band group delay...
Unfortunately there is a critical non-linearity that means each single low pass filter must be kept by itself, and no allpass filters used since they screw up the phase which is critical to keep correct with non-linearities. So, we have concluded you will need some s-plane and z-plane skills. To do analog filter modeling. Next...

Andrew

Post

andy_FX wrote:Unfortunately there is a critical non-linearity that means each single low pass filter must be kept by itself, and no allpass filters used
Sorry, but you don't get the method I've proposed. Schematic as a whole won't see what's going on in the capacitor, it will only deal with the output of the capacitor.
Image

Post

you're such a baby :lol:

i've proven you wrong with regard to your statement that:

"you can not model a integrator and clamp using the simple method of a waveshaper on the output."

unless you're either blind or retarded, i can see no explaination other than that you're being a baby with regard to denying this.

you said:
When someone new to analog modeling see this, they might think oh, I'll model that by:

lp += g*(input - lp);
output = diodewaveshaper (lp);

where:
g = 1 - exp (-2*pi*cutoff/samplerate);
and diodewaveshaper () is your favorite approximation of the voltage to voltage transfer function of the diode pair.
it isnt true at all, the following code does this:
lp += g*(input - storage);
storage = diodewaveshaper(lp);
output = lp;
you must only admit that you were blind to the obvious solution that we use the inverse of the function, the voltage-to-current standard 'diode equation' at this point and store the value for it's use in the next sample. the problem you have is you have no knowledge of what is going on in these systems despite the fact you pretend to have such knowledge.

Post

..and now i'll finish telling you, and i do not want to deal with you in these matters any more.

perhaps you should consider that the methods i have outlined do in fact work. perhaps you should consider that you have denied that they could work, or should work, and have been proven incorrect. perhaps the methods that you use, while i have said already that they may be best for you, may not be best for others or even in general.

now you have turned full circle. my original argument was that the best place to start should be in this simple macro-model of integrators. additional function should be added over time as the individual gains the skills to do so. you have made my original argument your own after you have been shown the foolishness of yours. do not pretend to have been 'correct' all along. you have only now changed your point of view after having been shown that the one you held to start this argument, and that you held to argue against my advise, was wholly incorrect.

you have been acting like a child.

Post

aciddose wrote:you're such a baby :lol:

i've proven you wrong with regard to your statement that:

"you can not model a integrator and clamp using the simple method of a waveshaper on the output."
I never said that, ever. What I said was:
When someone new to analog modeling see this, they might think oh, I'll model that by:

lp += g*(input - lp);
output = diodewaveshaperVV (lp);

where:
g = 1 - exp (-2*pi*cutoff/samplerate);
and diodewaveshaper () is your favorite approximation of the voltage to voltage transfer function of the diode pair.
This does not model the top circuit http://www.vellocet.com/dsp/analog/RCDD-RCBDD.png, it is a model for the buffered case, which we have all agreed this fact, which is the point I was making, which you seemed to have not been able to grasp, is that you need to know more than your basic dsp of a lowpass filter and a regular looking waveshaper to get the correct solution to this, the most basic of circuits.

So not only have you failed to point out where I got anything wrong, you can't understand the simple point I was indeed making. Thanks for all the insults along the way.

Andrew

Post

but no, before i stop posting here i just want to clarify my position.

nobody needs to know all that shit just "to start". this thread is titled: "how to start?". to start you take your first steps, you do not make a long list of all the 10,000 steps you'll need to be taking. without having experienced and understood those first steps there is no way a beginner could grasp which steps need to be taken later, or why. this is exactly what i posted in my first post to this thread. i said that i'm unhappy with what others have said, and unhappy that no other person has posted a single line of code to given any practical advise. the idea was to get somebody started, not to hold them back with fears of needing to spend years learning a bunch of nonsense.

eventually? yes. all this must be learned and understood to achieve the best results. to start? give me a break, and please for f**k's sake give all the beginners a break at the same time.

"you need to know more than your basic dsp of a lowpass filter and a regular looking waveshaper"

your statement is incorrect. look at my code, this is "basic dsp of a integrator and regular waveshaper."

uh, if you're so devoted to proving that what you say means something other than the words you use to say it, can you explain to everyone which part of the code i have shown is more than what i've used to describe it above?
Last edited by aciddose on Wed Feb 20, 2008 6:12 pm, edited 1 time in total.

Post

And aciddose, when quoting please quote, and not just make stuff up.

Andrew

Post

sorry i have to edit the post to add this bit so you can comprehend it:
And aciddose, when quoting please quote, and not just make stuff up.

Andrew
some individuals have the ability to read back and understand context, rather than quoting out of context in rediculous one-sided A/B commentary. do you carry around a recorder for the conversations you have, and play back everything the other person has said previously before speaking yourself?

Post

oh my, i must apologize again for my lack of a quote to aid your feeble memory:
Guys, I'm wondering on doing a simple low-pass filter that is based on a real analog circuit-modeled one. But I have no idea on where to start.
the thread was not explicitly titled "how to start".[/b]

Post

aciddose wrote:...nobody needs to know all that shit just "to start".
I agree, people need to learn as they go along, you can't know all this stuff in an instant, it all takes time.
aciddose wrote:this thread is titled: "how to start?".
Um, not the topic of the thread is: "Circuit modeled filter, how to?" The original poster was talking about filters in general but did happen to post a specific example.
WilliamK wrote:I found some designs over the internet, but to be honest, I don't know how to translate this into math. But not only that, how each component works in real-life. Here's an example of a very complex filter I found:
So posting some code is good and all, but doesn't help in the long run since the person hasn't learnt anything other that how to copy and paste. I agree that hacking at some code and having fun is great, but trial and error is no way to approach circuit modeling.
aciddose wrote:the idea was to get somebody started, not to hold them back with fears of needing to spend years learning a bunch of nonsense.
Sure, I can see the use in not scaring people off, what I said was not meant to scare people off, I was just listing some simple steps to do circuit modeling in general, which I am glad that I have helped people out.
aciddose wrote:eventually? yes. all this must be learned and understood to achieve the best results.
Thanks, I'm glad you agree with me :)
aciddose wrote:to start? give me a break, and please for f**k's sake give all the beginners a break at the same time.
What I posted was pretty simple stuff really, all of it is simple linear equations and quite practical.
aciddose wrote:you need to know more than your basic dsp of a lowpass filter and a regular looking waveshaper"
your statement is incorrect. look at my code, this is "basic dsp of a integrator and regular waveshaper."
No it's not basic dsp. The code is easy to implement in that += is easy and a table lookup or low order polynomial is easy to compute, but what's behind it is not basic dsp. Given that computers just basically add, multiply, subtract, and do some bit twiddling, then by what you have said all numerical computing is in fact "basic dsp".

The particular placement of the waveshaper shows a level of circuit knowledge beyond what a beginner in dsp would have. How is a beginner meant to derive what you have posted? Given a new circuit they are looking at how do they solve the problem for themselves? I am all about learning and giving people the correct references to learn for themselves and I will answer any questions people have.

Andrew

Post Reply

Return to “DSP and Plugin Development”