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

Alexandre Torres Porres porres at gmail.com
Thu Jul 24 18:18:28 CEST 2014

```>> 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/d4ebca68/attachment.html>
```