In signal processing, the Z-transform converts a discrete-time signal, which is a sequence of real or complex numbers, into a complex frequency-domain representation.
Z-transform of x(n) is given by,
In z-transform we find a function always that includes z. You cannot ignore z. Moreover you cannot put a value of z. So you should take a variable z that can be calculated. Matlab offer such kind of variable. That is called symbolic variable. If you add two symbolic variable x and y the result will be x+y. not the sum of there value (It is the sum of them). Similarly you multiply symbolic x by 5 that will be 5x. Here we will declare a symbolic variable z.
NB: Sym doesn’t work in default octave. It needs package. But MatLAB runs.
To find z-transform we need the sequence x(n). We will ask for it to the user.
x = input('Enter the sequence x(n): ');
We need the start value of transform sequence from where we will start z-transform. That is the start value of n. Take it as user input.
n1 = input('Enter the start value of n: ');
We need also the last value of z-transform sequence. That is the end value of n. As our sequence x(n) is limited so we will find from the length of x. Find it as below.
n2 = n1+length(x)-1;
The value of n can be negative or zero. But MatLAB cannot take negative or zero index. So we need an index variable m. Set it’s value to 1. As x has the initial value at index 1 by default.
m = 1;
As the result of z-transform will be sum of product term. So it cannot be null. Because it is needed to at with the previous value. Declare it to 0.
result = 0;
Now run a loop from n1 to n2. FInd the z-transform as the formula above. increase the index value m.
for i=n1:n2 result = result + x(m)*(z^(-i)); m = m + 1; endfor
Display the result.
sym 'z'; x = input('Enter the sequence x(n): '); n1 = input('Enter the start value of n: '); n2 = n1+length(x)-1; m = 1; result = 0; for i=n1:n2 result = result + x(m)*(z^(-i)); m = m + 1; endfor disp(result);
I think your experience with this tutorial is quite good. If you have to seek anything please ask in comment.