From: robert bristow-johnson on
On Jul 11, 6:34 pm, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote:
> lsfinn wrote:
> > Hi,
>
> > I've a filter expressed as a parallel bank of (~50) second order sections.
> > Each second order section represents a high-Q resonant feature. I need to
> > invert the filter: i.e., if F = A1+A2+... and y = Fx, I need F^{-1} s.t. x
> > = F^{-1}y. (F is invertible.)
>
> You might want to ask RBJ; this is his area.

i don't think necessarily so.

>
> My $0.02:
>
> The straightforward way would be collapse the filter into transfer
> function, factorize it and then invert. Using multiple precision math.
>
> There could be many ways to approximate the inverse or to solve for the
> inverse as numeric optimization problem.

Vlad, i can't add a penny to what you or Tim have said.

if Sam has access to both x and y of his filter bank, he could try
some sorta adaptive filter in series where the input is y and the
desired signal is x.

r b-j
From: Tim Wescott on
On 07/11/2010 08:35 PM, robert bristow-johnson wrote:
> On Jul 11, 6:34 pm, Vladimir Vassilevsky<nos...(a)nowhere.com> wrote:
>> lsfinn wrote:
>>> Hi,
>>
>>> I've a filter expressed as a parallel bank of (~50) second order sections.
>>> Each second order section represents a high-Q resonant feature. I need to
>>> invert the filter: i.e., if F = A1+A2+... and y = Fx, I need F^{-1} s.t. x
>>> = F^{-1}y. (F is invertible.)
>>
>> You might want to ask RBJ; this is his area.
>
> i don't think necessarily so.
>
>>
>> My $0.02:
>>
>> The straightforward way would be collapse the filter into transfer
>> function, factorize it and then invert. Using multiple precision math.
>>
>> There could be many ways to approximate the inverse or to solve for the
>> inverse as numeric optimization problem.
>
> Vlad, i can't add a penny to what you or Tim have said.
>
> if Sam has access to both x and y of his filter bank, he could try
> some sorta adaptive filter in series where the input is y and the
> desired signal is x.

Yes, I think we need to know more.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
From: Greg Berchin on
On Sun, 11 Jul 2010 15:17:32 -0700 (PDT), Rune Allnor <allnor(a)tele.ntnu.no>
wrote:

>On 11 Jul, 23:30, "lsfinn" <lsfinn(a)n_o_s_p_a_m.psu.edu> wrote:
>> Hi,
>>
>> I've a filter expressed as a parallel bank of (~50) second order sections.
>> Each second order section represents a high-Q resonant feature. I need to
>> invert the filter: i.e., if F = A1+A2+... and y = Fx, I need F^{-1} s.t. x
>> = F^{-1}y. (F is invertible.)

....

>Denote the transfer function of one section as
>
>H(z) = B(z)/A(z).
>
>The expression for the inverted filter will then be
>
>H'(z) = A(z)/B(z).


The parallel bank of second order sections is the partial fraction decomposition
of the full transfer function. The transfer function therefore has the same
poles as the individual filters. But it does not have the same zeroes.
Rudimentary example:

X Xz^-1
--- = ------- (X,x arbitrary) has a zero at infinity.
z+x 1+xz^-1

A B A(z+b) + B(z+a) (A+B)z + Ab + aB z + (Ab+aB)/(A+B)
--- + --- = --------------- = ---------------- = (A+B)-----------------
z+a z+b (z+a)(z+b) (z+a)(z+b) (z+a)(z+b)

has a zero at -(Ab+aB)/(A+B).


As the OP mentioned, numerical precision problems make computing the full
transfer function impossible. However, knowing the poles of the full transfer
function (which are the zeroes of the inverted transfer function) should give
enough a priori information for a decent system identification. Think of a
formulation of Prony's Method in which the poles are already known exactly
http://cnx.org/content/m12762/latest/, equation 3.

Greg
From: Vladimir Vassilevsky on


robert bristow-johnson wrote:

> On Jul 11, 6:34 pm, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote:
>
>>lsfinn wrote:
>>
>>>Hi,
>>
>>>I've a filter expressed as a parallel bank of (~50) second order sections.
>>>Each second order section represents a high-Q resonant feature. I need to
>>>invert the filter: i.e., if F = A1+A2+... and y = Fx, I need F^{-1} s.t. x
>>>= F^{-1}y. (F is invertible.)
>>
>>You might want to ask RBJ; this is his area.
>
> i don't think necessarily so.

I far as I remember you worked on the problem of decomposing a transfer
function into the *parallel* set of biquads. It is not obvious to me
what to do with numerator.

Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com




From: robert bristow-johnson on
On Jul 12, 1:31 pm, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote:
> robert bristow-johnson wrote:
> > On Jul 11, 6:34 pm, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote:
>
> >>lsfinn wrote:
>
> >>>Hi,
>
> >>>I've a filter expressed as a parallel bank of (~50) second order sections.
> >>>Each second order section represents a high-Q resonant feature. I need to
> >>>invert the filter: i.e., if F = A1+A2+... and y = Fx, I need F^{-1} s.t. x
> >>>= F^{-1}y. (F is invertible.)
>
> >>You might want to ask RBJ; this is his area.
>
> > i don't think necessarily so.
>
> I far as I remember you worked on the problem of decomposing a transfer
> function into the *parallel* set of biquads.

which is the opposite direction of what Sam is doing. also, i didn't
get very far with that idea, but i should return to it.

> It is not obvious to me what to do with numerator.

well, if the original composite filter was known to be minimum phase,
you switch numerator and denominator. then break it out again into
partial fractions, if that is what Sam wants.

r b-j

First  |  Prev  | 
Pages: 1 2
Prev: THD without using an FFT
Next: Time-Varying Systems