From: Pawel on 13 Jun 2010 07:44 Dear All, I have a following question: how does one implement anticausal filter with backward filtering (or any other means)? I understand that x(n) with a transform X(z) when flipped gives flip(x(n)) the transform X(z^-1). According to this I can peform following flip(x(n)) and filter with the filter H(z) and then flip back the result Y(z)= X(z^-1)H(z) ->flip Y(z)=X(z)H(z^-1), where H(z^-1) is the transfrom of anticausal filter. Now if I have unstable, causal filter H(z) then H(z^-1) anticausal filter should be stable. I can't see how simply flipping x(n) would lead to the stable filter - the software do not know if the filter is stable or not it just calculate the response from the difference equation. Would the whole answer lay in the initial conditions of the filter? Would You please point me to some literature dealing with this problem. Regards Pawel
From: Tim Wescott on 13 Jun 2010 11:08 On 06/13/2010 04:44 AM, Pawel wrote: > Dear All, > > I have a following question: how does one implement anticausal filter > with backward filtering (or any other means)? > I understand that x(n) with a transform X(z) when flipped gives > flip(x(n)) the transform X(z^-1). According to this I can peform > following flip(x(n)) and filter with the filter H(z) and then flip > back the result Y(z)= X(z^-1)H(z) ->flip Y(z)=X(z)H(z^-1), where > H(z^-1) is the transfrom of anticausal filter. Now if I have unstable, > causal filter H(z) then H(z^-1) anticausal filter should be stable. I > can't see how simply flipping x(n) would lead to the stable filter - > the software do not know if the filter is stable or not it just > calculate the response from the difference equation. Would the whole > answer lay in the initial conditions of the filter? Would You please > point me to some literature dealing with this problem. "I can't see how simply flipping x(n) would lead to the stable filter" By definition, if x(n) is the response to an entirely unstable system, then all of its components are growing exponentials. A growing exponential in positive time is a decaying exponential in negative time -- hence, stability. If x(n) is the response to a system that is a mix of stable and unstable elements (i.e. some of it's components grow and some shrink), then running it in reverse will still result in an unstable system. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
From: Pawel on 13 Jun 2010 12:08 On Jun 13, 4:08 pm, Tim Wescott <t...(a)seemywebsite.now> wrote: > On 06/13/2010 04:44 AM, Pawel wrote: > > > Dear All, > > > I have a following question: how does one implement anticausal filter > > with backward filtering (or any other means)? > > I understand that x(n) with a transform X(z) when flipped gives > > flip(x(n)) the transform X(z^-1). According to this I can peform > > following flip(x(n)) and filter with the filter H(z) and then flip > > back the result Y(z)= X(z^-1)H(z) ->flip Y(z)=X(z)H(z^-1), where > > H(z^-1) is the transfrom of anticausal filter. Now if I have unstable, > > causal filter H(z) then H(z^-1) anticausal filter should be stable. I > > can't see how simply flipping x(n) would lead to the stable filter - > > the software do not know if the filter is stable or not it just > > calculate the response from the difference equation. Would the whole > > answer lay in the initial conditions of the filter? Would You please > > point me to some literature dealing with this problem. > > "I can't see how simply flipping x(n) would lead to the stable filter" > > By definition, if x(n) is the response to an entirely unstable system, > then all of its components are growing exponentials. A growing > exponential in positive time is a decaying exponential in negative time > -- hence, stability. > > If x(n) is the response to a system that is a mix of stable and unstable > elements (i.e. some of it's components grow and some shrink), then > running it in reverse will still result in an unstable system. > > -- > Tim Wescott > Control system and signal processing consultingwww.wescottdesign.com Hi Tim, Thanks a lot. I am trying to implement this in Matlab, so I do fliplr(x), next filter it with the all-pole filter H(z)=1/[(z-2)(z-3)] - certainly unstable filter, next I flip the result back and I get this ugly skyrocketing response at the beginning (something like 10^46)- would it be caused by the problem of initial conditions. The x is randomly generated data that value varies between 1 and -1 of lenght of 100. Thanks in advance Pawel Pawel
From: Pawel on 14 Jun 2010 07:41 On Jun 13, 5:08 pm, Pawel <prulikow...(a)gmail.com> wrote: > On Jun 13, 4:08 pm, Tim Wescott <t...(a)seemywebsite.now> wrote: > > > > > On 06/13/2010 04:44 AM, Pawel wrote: > > > > Dear All, > > > > I have a following question: how does one implement anticausal filter > > > with backward filtering (or any other means)? > > > I understand that x(n) with a transform X(z) when flipped gives > > > flip(x(n)) the transform X(z^-1). According to this I can peform > > > following flip(x(n)) and filter with the filter H(z) and then flip > > > back the result Y(z)= X(z^-1)H(z) ->flip Y(z)=X(z)H(z^-1), where > > > H(z^-1) is the transfrom of anticausal filter. Now if I have unstable, > > > causal filter H(z) then H(z^-1) anticausal filter should be stable. I > > > can't see how simply flipping x(n) would lead to the stable filter - > > > the software do not know if the filter is stable or not it just > > > calculate the response from the difference equation. Would the whole > > > answer lay in the initial conditions of the filter? Would You please > > > point me to some literature dealing with this problem. > > > "I can't see how simply flipping x(n) would lead to the stable filter" > > > By definition, if x(n) is the response to an entirely unstable system, > > then all of its components are growing exponentials. A growing > > exponential in positive time is a decaying exponential in negative time > > -- hence, stability. > > > If x(n) is the response to a system that is a mix of stable and unstable > > elements (i.e. some of it's components grow and some shrink), then > > running it in reverse will still result in an unstable system. > > > -- > > Tim Wescott > > Control system and signal processing consultingwww.wescottdesign.com > > Hi Tim, > > Thanks a lot. I am trying to implement this in Matlab, so I do > fliplr(x), next filter it with the all-pole filter H(z)=1/[(z-2)(z-3)] > - certainly unstable filter, next I flip the result back and I get > this ugly skyrocketing response at the beginning (something like > 10^46)- would it be caused by the problem of initial conditions. The x > is randomly generated data that value varies between 1 and -1 of > lenght of 100. > > Thanks in advance > > Pawel > > Pawel Any help on backward filtering? Pawel
From: Rune Allnor on 14 Jun 2010 09:13 On 14 Jun, 13:41, Pawel <prulikow...(a)gmail.com> wrote: > On Jun 13, 5:08 pm, Pawel <prulikow...(a)gmail.com> wrote: > > > > > > > On Jun 13, 4:08 pm, Tim Wescott <t...(a)seemywebsite.now> wrote: > > > > On 06/13/2010 04:44 AM, Pawel wrote: > > > > > Dear All, > > > > > I have a following question: how does one implement anticausal filter > > > > with backward filtering (or any other means)? > > > > I understand that x(n) with a transform X(z) when flipped gives > > > > flip(x(n)) the transform X(z^-1). According to this I can peform > > > > following flip(x(n)) and filter with the filter H(z) and then flip > > > > back the result Y(z)= X(z^-1)H(z) ->flip Y(z)=X(z)H(z^-1), where > > > > H(z^-1) is the transfrom of anticausal filter. Now if I have unstable, > > > > causal filter H(z) then H(z^-1) anticausal filter should be stable. I > > > > can't see how simply flipping x(n) would lead to the stable filter - > > > > the software do not know if the filter is stable or not it just > > > > calculate the response from the difference equation. Would the whole > > > > answer lay in the initial conditions of the filter? Would You please > > > > point me to some literature dealing with this problem. > > > > "I can't see how simply flipping x(n) would lead to the stable filter" > > > > By definition, if x(n) is the response to an entirely unstable system, > > > then all of its components are growing exponentials. A growing > > > exponential in positive time is a decaying exponential in negative time > > > -- hence, stability. > > > > If x(n) is the response to a system that is a mix of stable and unstable > > > elements (i.e. some of it's components grow and some shrink), then > > > running it in reverse will still result in an unstable system. > > > > -- > > > Tim Wescott > > > Control system and signal processing consultingwww.wescottdesign.com > > > Hi Tim, > > > Thanks a lot. I am trying to implement this in Matlab, so I do > > fliplr(x), next filter it with the all-pole filter H(z)=1/[(z-2)(z-3)] > > - certainly unstable filter, next I flip the result back and I get > > this ugly skyrocketing response at the beginning (something like > > 10^46)- would it be caused by the problem of initial conditions. The x > > is randomly generated data that value varies between 1 and -1 of > > lenght of 100. > > > Thanks in advance > > > Pawel > > > Pawel > > Any help on backward filtering? Probably not. It seems you have all the pieces of the jigsaw, but is unable to put them together to a picture. No one can help you with that; it has to happen inside your mind. Rune
|
Next
|
Last
Pages: 1 2 3 4 5 Prev: DPLL jitter Next: The Old "What's All This BLANK Stuff, Anyhow" Series by Bob Pease |