z-transform of unit step function?

12 vues (au cours des 30 derniers jours)
Diamond
Diamond le 26 Mai 2014
Commenté : Nour le 12 Nov 2024
i have this n-domain function H[n]= (0.5^n)*u[n] and i need to find z transformation of this function. i've tried this one:
>> syms n z
>> y = ((0.5)^n)*heaviside(n);
>> yz = ztrans (y,n,z)
yz =
1/(2*z - 1) + 1/2
isn't supposed to be 1/(-0.5^z-1)+1 ? is there any solution to solve this z transform?
  1 commentaire
Fardin Ahasan Maraz
Fardin Ahasan Maraz le 14 Nov 2021
syms a n f
n = 0;
f = a^n
f = 
1
ztrans(f)
ans = 

Connectez-vous pour commenter.

Réponse acceptée

Geoff Hayes
Geoff Hayes le 27 Mai 2014
I don't have the Symbolic Toolbox but I think that the provided answer is correct. If
x[n] = 0.5^n * u[n]
=> x[n] = {,0,0,0.5^0 * 0, 0.5^1 * 1, 0.5^2 * 1,}
then the z-transform is
sum(n=-Inf:+Inf)(0.5^n)*(z^-n)
= sum(n=0:+Inf)(0.5^n)*(z^-n) % ignore all n<0
= 0.5 + sum(n=1:+Inf)(0.5^n)*(z^-n)
= 0.5 + sum(n=1::+Inf)(0.5/z)^n
= 0.5 + (0.5/z)/(1-(0.5/z)) % assuming abs(0.5/z)<1
= 0.5 + 0.5/(z-0.5)
= 1/2 + (1/2)/(z-1/2)
= 1/(2*z - 1) + 1/2
  2 commentaires
Diamond
Diamond le 27 Mai 2014
Modifié(e) : Diamond le 27 Mai 2014
is it same with the 3rd row formula of this table ? or am i wrong to define u[n] by heaviside (n)?
Geoff Hayes
Geoff Hayes le 27 Mai 2014
As Azzi mentions below, MATLAB's heaviside defines H(0) to be 0.5, whereas other definitions of the same function define H(0) to be 1. (See http://en.wikipedia.org/wiki/Heaviside_step_function#Zero_argument for details.)
The formula in the third row of your table assumes that H(0)=1 and can be derived similar to above.
I think that it is fine to define u[n] with heaviside(n) as long as your are aware (and state) that heaviside(0) = 0.5.

Connectez-vous pour commenter.

Plus de réponses (2)

Amine BENZOUBIR
Amine BENZOUBIR le 22 Oct 2019
use this commande to change the origine to 1
v=1;
sympref('HeavisideAtOrigin', v);
  1 commentaire
Nour
Nour le 12 Nov 2024
Thanks!

Connectez-vous pour commenter.


Azzi Abdelmalek
Azzi Abdelmalek le 27 Mai 2014
Modifié(e) : Azzi Abdelmalek le 27 Mai 2014
The heaveaside function of Matlab is defined with heaviside(0) equal to 0.5
If you look at the table using another definition of heaviside (e(0)=1), you will find the z-transform of a^n is z/(z-a) . The heaviside defined in Matlab can be written as
heaviside(n)=e(n)-delta(n) (delta is Kronecker function), the z-transform is z/(z-a)-0.5
In your case replace a by 0.5
  1 commentaire
Diamond
Diamond le 27 Mai 2014
is it same with the 3rd row formula of this table? or am i wrong to define u[n] by heaviside (n)?

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by