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)) =3D G0 (z)Y0(z) =3D G1 (z)Y1(z)" In equation (4.6) they stated that: . beta0(z) beta1(z) . G0(z) =3D --------, G1(z) =3D -------- . alpha(z) alpha(z) And in the neighborhood of equation (4.5) they stated that: alpha(z) =3D 1 - a1z^(-1) - ... - anz^(-n) beta0(z) =3D B01z^(-1) + B02z^(-2) + ... + B0nz^(-n) beta1(z) =3D 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)) =3D G0 (z)Y0(z) or: . alpha(z) . U0(z^(n+1)) =3D -------- Y0(z) . beta0(z) For simplicity, define: U(z) =3D U0(z^(n+1)) then: U(z)=B7beta0(z) =3D Y0(z)=B7alpha(z) U(z)=B7[B01z^(-1)+B02z^(-2)+...+B0nz^(-n)]=3DY0(z)=B7[1-a1z^(-1)-...-anz^(-= n)] so: U(z)=B7B01z^(-1)=3DY0(z)=B7[1-a1z^(-1)-...-anz^(-n)]-U(z)=B7[B02z^(-2)+...+= B0nz^(-n)] Assuming causality, the time domain difference equation can be written by inspection: (B01)u(k-1)=3Dy0(k)-(a1)y0(k-1)-...-(an)y0(k-n)-(B02)u(k-2)-...-(B0n)u(k-n) 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) =3D B01z^(-1) + B02z^(-2) + ... + B0nz^(-n) I think that it should be: beta0(z) =3D B01 + B02z^(-1) + ... + B0nz^(-(n-1)) Can anybody provide some insight into this for me? Thanks, Greg Berchin

# Blind System Identification

Started by ●January 17, 2007

Reply by ●January 21, 20072007-01-21

"Greg Berchin" <gberchin@sentientscience.com> wrote in message news:1169037311.788160.83490@v45g2000cwv.googlegroups.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

Reply by ●January 21, 20072007-01-21

On Mon, 22 Jan 2007 00:48:37 GMT, "Setanta" <a@a.aaa> wrote:>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 outputThis is an inverse system, so y0() is the input and I'm solving for u(). Greg

Reply by ●January 21, 20072007-01-21

"Greg Berchin" <gberchin@comicast.net> wrote in message news:7s38r2l4tqh2nlr2rqkvipa14i3pjpcjc6@4ax.com...> On Mon, 22 Jan 2007 00:48:37 GMT, "Setanta" <a@a.aaa> wrote: > > >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 > > This is an inverse system, so y0() is the input and I'm solving for u(). > > GregThis gives a good view of what the MA paramaters should look like http://darbelofflab.mit.edu/ProgressReports/HomeAutomation/Report3-2/Report% 202.pdf Would be interested in looking at the data Setanta

Reply by ●October 18, 20072007-10-18

Hello Greg, I have this in a nonlinear analysis book for a control function, but in your context think of a fft, run the inverse.

Reply by ●October 19, 20072007-10-19

On 19 Okt, 02:48, "coderanger" <godd...@inbox.com> wrote:> Hello Greg, > > I have this in a nonlinear analysis book for a control function, but in > your context think of a fft, run the inverse.I would have paid meticulous attention to the details of the notatiopnal simplification introducing U(z) instead of U(z^(n+1)). If that change is not accounted for correctly, you might just end up with one or two anticausal terms. Rune

Reply by ●October 19, 20072007-10-19

On Oct 19, 8:08 am, Rune Allnor <all...@tele.ntnu.no> wrote:> I would have paid meticulous attention to the details of the > notatiopnal simplification introducing U(z) instead of > U(z^(n+1)). If that change is not accounted for correctly, > you might just end up with one or two anticausal terms.It's been quite a while since I looked at this, but I recall experimenting with several formulations containing varying amounts of causal and anticausal delay (where causality is referenced to the inverse system). Basically, I found that any formulation that differed from the one in the original paper either led to a matrix that was not of full-rank, and therefore could not be inverted, or to an inverse system in which one or more of the leading coefficients (corresponding to anticausal terms) was zero. The project ended before I could sort through all of the mathematics behind this, but my conclusion was that the authors used the specific formulation described in their paper because it was the only one that actually worked. Greg