"Greg Berchin" <
[email protected]> wrote in message
news:
[email protected] ups.com...
Okay, so I'm trying to work my way through "Blind System Identification
and Channel Equalization of IIR Systems without Statistical
Information", by Bai and Fu; specifically "Algorithm 4.1". Though the
nomenclature seems to be standard for multirate systems, it is
cumbersome. But I think I've got a good handle on the technique, up to
the point just beyond equation (4.6), where it says:
.. "... as far as equalization is concerned, either G0(z) or G1(z) is
.. sufficient to recover the input because
.. -1 -1
.. U0(z^(n+1)) = G0 (z)Y0(z) = G1 (z)Y1(z)"
In equation (4.6) they stated that:
.. beta0(z) beta1(z)
.. G0(z) = --------, G1(z) = --------
.. alpha(z) alpha(z)
And in the neighborhood of equation (4.5) they stated that:
alpha(z) = 1 - a1z^(-1) - ... - anz^(-n)
beta0(z) = B01z^(-1) + B02z^(-2) + ... + B0nz^(-n)
beta1(z) = B11 + B12z^(-1) + ... + B1nz^(-(n-1))
Since it doesn't matter whether we use G0 or G1 to solve for U0, I
tried using G0:
.. -1
.. U0(z^(n+1)) = G0 (z)Y0(z)
or:
.. alpha(z)
.. U0(z^(n+1)) = -------- Y0(z)
.. beta0(z)
For simplicity, define:
U(z) = U0(z^(n+1))
then:
U(z)·beta0(z) = Y0(z)·alpha(z)
U(z)·[B01z^(-1)+B02z^(-2)+...+B0nz^(-n)]=Y0(z)·[1-a1z^(-1)-...-anz^(-n)]
so:
U(z)·B01z^(-1)=Y0(z)·[1-a1z^(-1)-...-anz^(-n)]-U(z)·[B02z^(-2)+...+B0nz^(-n)
]
Assuming causality, the time domain difference equation can be written
by inspection:
(B01)u(k-1)=y0(k)-(a1)y0(k-1)-...-(an)y0(k-n)-(B02)u(k-2)-...-(B0n)u(k-n)
Would have thought you can view this as:
y is your output for a control signal at a previous time
control action dosn't appear instantly at the output
And this is causing me consternation: the system is anticipatory. The
output value at PREVIOUS time "u(k-1)" is dependent upon the input
value at CURRENT time "y0(k)". Also, if the same analysis is performed
using G1 instead of G0, a causal system results. So either there is an
error in the paper or there is an error in my analysis of it; I'm not
certain which.
I suspect that the problem is in the definition of beta0:
beta0(z) = B01z^(-1) + B02z^(-2) + ... + B0nz^(-n)
I think that it should be:
beta0(z) = B01 + B02z^(-1) + ... + B0nz^(-(n-1))
Can anybody provide some insight into this for me?
Thanks,
Greg Berchin