On 22.10.2010 03:10, Mathieu Bouchard wrote:
On Fri, 22 Oct 2010, Martin Schied wrote:
yeah, but this is often the case when
messing things up in pd. I tried rpole~ 1 with sinewaves first
which worked as integrator, but already had different results
for the output of rpole~ if the wave started at 0 or pi/2 (which
is logic, but I didn't think about it first...)
um, yeah, the amount of DC is rather relative to where you start
looking, and where you stop (or where you're at so far). That's
why I used things like [rpole~ 0.99] to force it to recentre
around 0 rather quickly.
I wanted to use a fairly high a < 1 because then the phase for
all frequencies is approximately 90° off like for the ideal a=1.
Using slightly smaller factors and comparing input / output didn't
satisfy my expectations. maybe that would't matter at all - let's
experiment...
lop's gain compensation = 1 -
0.999 = 0.001
rpole's gain to compensate for = 1/0.001 = 1000
cutoff frequency = 0.001*44100/2π = 7.019
therefore use [lop~ 7.019] with [*~ 1000] (in any order)
I thought about lop~ doing similar things too, but didn't know
what lop~ is doing and I'm sure I wouldn't have figured it out
in any reasonable time this morning. thanks!
Ah, I also think that you'll like to know that the total weight of
an input sample in [rpole~ a] can be written like this :
k = a^0 + a^1 + a^2 + a^3 + a^4 + ...
but
a*k = a^1 + a^2 + a^3 + a^4 + ...
therefore
k-a*k = a^0 = 1
k*(1-a) = 1
k = 1/(1-a) is how the gain of [rpole~] is computed above.
that's indeed interesting. So the gain is defined for a constant
signal having the same input and output samples (or in other words
DC having no amplification) if I understood it correctly.
I attached my [lop2~] abstraction, which is a
rpole~-version of [lop~], with a signal-rate right-inlet. I posted
it some time ago.
I remember it now, and already saved it in my mail archives :)
cheers
Martin