> It could be done with cascaded allpasses and setting the amount needed to
> "passive" (pole(s) @z=0, zero(s) @z=inifinity <= that is the main problem !!).

... in this way they would still be allpasses!
Zeros schould also be move to z=0, but when crossing the unit-circle that will
temporarily become a highpass (N=1) or a notchfilter (N=2).
Mattias

Reply by Mattias Schick●June 25, 20032003-06-25

Gustave schrieb:

> For an allpass filter of varying depth:
> H(z) = [g+z^(-k-d)]/[1+gz^(-k-d)]
> where d is not a constant, but rather a varying quantity:
> d = int(d0*sin(wt))

Hi Gustave,
you want an allpass with modulated order?
That's a real challenge! ;-)
It could be done with cascaded allpasses and setting the amount needed to
"passive" (pole(s) @z=0, zero(s) @z=inifinity <= that is the main problem !!).
The other way is to tap a filter-cascade ... maybe with crossfade ...
Mattias

Reply by Gustave●June 25, 20032003-06-25

Some details about the filter I'd like to simulate:
H(z) = (g+z^-k)/(1+gz^-k) -> transfer function for an allpass filter
with fixed delay (trivial to implement with filter.m Matlab script).
For an allpass filter of varying depth:
H(z) = [g+z^(-k-d)]/[1+gz^(-k-d)]
where d is not a constant, but rather a varying quantity:
d = int(d0*sin(wt))
Thanks for your inputs.
Gustave

Reply by cf●June 25, 20032003-06-25

Gus,
You can try the eigenfilter technique in
T.Q. Nguyen and et.al., "Eigenfilter Approach for the Design of Allpass
Filters Approximating a Given Phase Response", IEEE Trans on Signal
Processing, vol 42(9), 09/1994.
It approximates the least square error criterion using the Taylor
approximation so that the problem can be formulated into a Rayleigh
quotient. I've used the iterative technique described in the paper,
though not for designing allpass filters, but for other FIR filters.
Nonetheless it's easy to implement and works quite well.
hth,
cf
Mattias Schick wrote:

>
> Jerry Avins wrote:
> > Gustave wrote:
> >> I'm looking for a 'simple' way to implement allpass filters of
> >> varying depth in Matlab.
> >> Any suggestion welcome.
> > I can't help, but I'm curious: what do you mean by "depth"?
>
> I think he wants to build a guitar phaser ;-)
>
> To Gustave:
> You could look for "lattice" (or "ladder") filters.
> The Matlab-code is 2 or 3 lines then ...
> Mattias

Reply by Mattias Schick●June 24, 20032003-06-24

Jerry Avins wrote:

> Gustave wrote:
>> I'm looking for a 'simple' way to implement allpass filters of varying
>> depth in Matlab.
>> Any suggestion welcome.
> I can't help, but I'm curious: what do you mean by "depth"?

I think he wants to build a guitar phaser ;-)
To Gustave:
You could look for "lattice" (or "ladder") filters.
The Matlab-code is 2 or 3 lines then ...
Mattias

Reply by Jerry Avins●June 24, 20032003-06-24

Gustave wrote:

>
> Hi everyone,
>
> I'm looking for a 'simple' way to implement allpass filters of varying
> depth in Matlab.
> Any suggestion welcome.
>
> Thanks,
>
> Gus

I can't help, but I'm curious: what do you mean by "depth"?
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������

Reply by Gustave●June 24, 20032003-06-24

Hi everyone,
I'm looking for a 'simple' way to implement allpass filters of varying
depth in Matlab.
Any suggestion welcome.
Thanks,
Gus