[PD] [bp~] really equal to [vcf~]?

Alexandre Torres Porres porres at gmail.com
Thu Jul 24 22:14:39 CEST 2014


> vcf~ isn't a 2-pole real filter but a 1-pole complex one

kinda relative to this, since biquad~ can be emulated with 2 complex poles
+ 2 complex zeros, is it more accurate to say biquad is a
2-complex_pole-2-complex_zero-filter???

In its description it says it is a 2-pole-2-zero-filter...

cheers


2014-07-24 13:33 GMT-03:00 Miller Puckette <msp at ucsd.edu>:

> Yep, vcf~ isn't a 2-pole real filter but a 1-pole complex one (although
> its second outlet -- I think -- should be similar to a 2-pole real
> filter's output in theory, but in reality should be numerically more
> precise.)
>
> I'll change the comment to something vaguer and more descriptive in the
> code..
>
> Unless I'm badly mistaken, vcf~ is simply a cpole~ with extra stuff to
> compute
> the coefficient built in.  There's no 'x2' because the input is taken to be
> real-valued.
>
> cheers
> M
>
> On Thu, Jul 24, 2014 at 01:18:28PM -0300, Alexandre Torres Porres wrote:
> > >> The real part may be used as a resonant
> > >> bandpass filter and the imaginary as a
> > >> resonant low-pass filter, but they can be
> > >> combined to make other possibilities."
> >
> > > what sort of possibilities???
> >
> > I wouldn't expect much about this. I guess it's like any other filters
> that
> > can be combined in many ways.
> >
> > Another thing I wanted to inquire is about bp~ having a frequency
> response
> > that is not symmetric. The lower part of the spectrum has more energy.
> > Could one consider it more of a "resonant low-pass filter", similar to
> > [vcf~]'s second outlet?
> >
> > By the way, while we're at it, I'd like to share something that may not
> be
> > too important, but it's related. I was able to implement [cpole~] in
> > [fexpr~]. Here it goes:
> >
> > expr 1:
> >
> > [fexpr~ $x1 + ($x3 * $y1) - ($x4 * $y2);
> > $x2 + ($x4 * $y1) + ($x3 * $y2)]
> >
> > if we consider $x3 and $x4 as variables named, respectively, coefr
> > (coeficient for the real part) and coefi (coeficient for the imaginary
> > part), we then have:
> >
> > expr 2:
> >
> > *[fexpr~ $x1 + (coefr * $y1) - (coefi * $y2);*
> > *$x2** + (*coefi * $y1) + (coefr * $y2)]
> >
> > Now, by checking the code of [vcf~] I was able to narrow down to its core
> > formula, which is something like this
> >
> > expr 3:
> >
> > *ampcorrect * oneminusr* * *f1 + (coefr * re2) - (coefi * im)*;
> > *(coefi * re2) + (coefr * im)*
> >
> > the bolded letters in "expr 3" seem to match perfectly to "expr 2". The
> > differences are underlined ($x2 in expr 2 and ampcorrect/oneminusr in
> expr
> > 3).
> >
> > That gets me closer to being able to implement [vcf~] with a [cpole~] I
> > guess, but I find it weird that the imaginary output does not have the
> $x2
> > signal input to be added to the rest of the expression. I worry that
> > actually prevents it from being successfully implemented with [cpole~].
> Am
> > I missing something?
> >
> > Anyway, the thing is that I'm still really curious to learn wether vcf~
> is
> > a "two pole" filter or a "one complex pole" filter, and the reason behind
> > it is because I believe we could make a biquad~ version of [vcf~] (at
> least
> > for its real output). That's the bottom line.
> >
> > cheers
> >
> >
> >
> >
> > 2014-07-24 6:45 GMT-03:00 i go bananas <hard.off at gmail.com>:
> >
> > > just chipping in with my 2 cents that it would be fantastic to get more
> > > documented info on all this.
> > >
> > > especially curious about:  "but they can be combined to make other
> > > possibilities."
> > >
> > > what sort of possibilities???
> > >
> > >
> > > On Thu, Jul 24, 2014 at 5:07 PM, Alexandre Torres Porres <
> porres at gmail.com
> > > > wrote:
> > >
> > >> Hi Miller, still trying to get my head around this. But anyway, one
> thing
> > >> I have to note is that the source code of [vcf~] says it is a "two
> pole
> > >> filter", not a "one complex pole" filter.
> > >>
> > >> Should that description be changed? If not, why?
> > >>
> > >> thanks
> > >>
> > >>
> > >> 2014-04-12 14:13 GMT-03:00 Miller Puckette <msp at ucsd.edu>:
> > >>
> > >> Yep - vcf~ is essentially a wrapper for cpole~.
> > >>>
> > >>> cheers
> > >>> M
> > >>>
> > >>> On Sat, Apr 12, 2014 at 02:10:19PM -0300, Alexandre Torres Porres
> wrote:
> > >>> > that's great to know, thanks!
> > >>> >
> > >>> > Let me just see if I get a bit of the theory. Can I get [vcf~] with
> > >>> just
> > >>> > one [cpole~] object and the right coeficients?
> > >>> >
> > >>> > Cheers
> > >>> >
> > >>> >
> > >>> > 2014-04-12 13:36 GMT-03:00 Miller Puckette <msp at ucsd.edu>:
> > >>> >
> > >>> > > They're quite different.  bp~ is the cheapest possible bandpass
> > >>> filter
> > >>> > > (as far as I know).  vcf~ is a one-pole complex filter whose
> outputs
> > >>> are
> > >>> > > the real and imaginry parts.  The real part may be used as a
> resonant
> > >>> > > bandpass filter and the imaginary as a resonant low-pass filter,
> but
> > >>> > > they can be combined to make other possibilities.
> > >>> > >
> > >>> > > It's possible to graph their frequency responses using the help
> patch
> > >>> > > "H10.measurement.pd' in 3.audio.examples.
> > >>> > >
> > >>> > > cheers
> > >>> > > Miller
> > >>> > >
> > >>> > > On Sat, Apr 12, 2014 at 04:28:11AM -0300, Alexandre Torres Porres
> > >>> wrote:
> > >>> > > > Hi there, who can confirm that both [bp~] and [vcf~] are
> exactly
> > >>> the
> > >>> > > really
> > >>> > > > same thingy? The code looks quite different...
> > >>> > > >
> > >>> > > > Moreover, why the two outlets for vcf~? Help doesn't say
> anything.
> > >>> > > >
> > >>> > > > Thanks
> > >>> > >
> > >>> > > > _______________________________________________
> > >>> > > > Pd-list at iem.at mailing list
> > >>> > > > UNSUBSCRIBE and account-management ->
> > >>> > > http://lists.puredata.info/listinfo/pd-list
> > >>> > >
> > >>> > >
> > >>>
> > >>
> > >>
> > >> _______________________________________________
> > >> Pd-list at lists.iem.at mailing list
> > >>
> > >> UNSUBSCRIBE and account-management ->
> > >> http://lists.puredata.info/listinfo/pd-list
> > >>
> > >>
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140724/86737897/attachment.html>


More information about the Pd-list mailing list