Z-Transforms and Difference Equations? - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: Z-Transforms and Difference Equations? (/thread-14983.html) |
Z-Transforms and Difference Equations? - anyfoo - 05-13-2020 03:40 AM Z-Transforms are a great tool for dealing with difference equations, for example: y(n) = 2*x(n) + 3*x(n-1) + 4*y(n) + 2*y(n-1) However, I don't know how to type such a difference equation into the CAS. If I just try to define it as a function, the CAS warns me that I have a recursive definition, and goes into an infinite loop if I try to actually evaluate the z-transform. Somewhat relatedly, I noticed that simply taking the Z Transform of the Dirac function does not lead to a simple "1", but instead to sum(z^-n * Dirac(n),n,0,inf) Which is just the direct application of the Z Transform, without any simplification. RE: Z-Transforms and Difference Equations? - victorvbc - 05-13-2020 02:40 PM Yeah, I was never able to do that either. I think the ztrans() command can't handle difference equations, only expressions like e^(-kT), Heaviside(k-1), etc. The inverse Z transform of 1 "invztrans(1,z,k)" returns the Kronecker delta, not Dirac, but "Kronecker(k)" doesn't seem to have any definition in the calculator. Maybe that's the reason it can't do the transform of impulse function? RE: Z-Transforms and Difference Equations? - anyfoo - 05-13-2020 07:06 PM Playing around with it more, it seems what's missing here is the ability to declare, but not define, sequences. I.e. x and y in my example above are not functions (which would make x's definition above indeed recursive), but sequences. If you could just tell the CAS that x and y are sequences, then ztrans(2*x(n) + 3*x(n-1) + 4*y(n) + 2*y(n-1),n,z) (omitting the "y(n) =" at the front) would, through the shift theorem, resolve to something like: ztrans(2*x(n)) + z^(-1)*ztrans(3*x(n)) + ztrans(4*y(n)) + z^(-1)*ztrans(2*y(n)) And that would be very nice already. Now, if you could also tell the CAS that, say, X is the z-transform of x, and Y is the z-transform of y, the expression could be further simplified to remove the "ztrans()"s. I don't suppose that possible? This kind of thing, i.e. declaring relations between functions/sequences/other objects without defining those objects, so that they stay symbolic, is something that I've wondered about before. In another thread, I asked about how to tell the CAS that F(x) is the indefinite integral/antiderivative of f(x) without defining f(x) to a specific function. RE: Z-Transforms and Difference Equations? - victorvbc - 05-22-2020 02:09 AM So this is when the Kronecker delta was added to Xcas as the inverse Z transform of 1. The function itself still isn't defined in the Prime's cas though. Any chance it could be added in the next update? |