필터 지우기
필터 지우기

z transform of a left handed sequence

조회 수: 10 (최근 30일)
AlireaA Mirrabie
AlireaA Mirrabie 2022년 11월 11일
댓글: AlireaA Mirrabie 2022년 11월 19일
Hello. I want to calculate z trnasform of the following sequence :
how can i do it without doing the math? The first part of sequence is easy I just need to subtract the elements of n=0 and n=1 from the but for the second part i need to use math and that's a bother to be honest. Is there a way to just calculate the z transform of a left handed sequence or a command for and ?
here's what I've got so far
clear; close; clc
syms n z
yp1 = ztrans((1/3)^n)
v = (1/3)^n * z^-n
yp2 = symsum(v,n,0,1)
Yp = yp1-yp2
YPs = simplify(Yp)
y1 = n*2^n*z^-n
v = symsum(y1,n,0,inf)
meq = simplifyFraction(children(v,1))
eqn = YPs + meq
  댓글 수: 1
AlireaA Mirrabie
AlireaA Mirrabie 2022년 11월 11일
Hello and thank you for your answer. I've tried the heaviside command but heviside is defined as
but i want the u(t) as
is there a command for that? i tried sympref and other ways to make that 0.5 at t=0, 1 but it didn't work for z transform. For example look at the code below. I want to calculate the z transform of
syms a n
y = a^n*heaviside(-n-2)
y = 
ztrans(y)
ans = 
0
and I'm sure that, this answer is incorrect.

댓글을 달려면 로그인하십시오.

채택된 답변

Paul
Paul 2022년 11월 13일
편집: Paul 2022년 11월 15일
Hi AlireaA
You are on the right track by breaking this problem into two parts. Let's look at the first part
syms n integer
syms z
yp1 = ztrans((1/3)^n)
yp1 = 
v = (1/3)^n * z^-n;
yp2 = symsum(v,n,0,1);
Yp = yp1-yp2
Yp = 
YPs = simplify(Yp)
YPs = 
That result is correct, and could also have been obtained as follows:
sympref('HeavisideAtOrigin',1);
u(n) = heaviside(n);
simplify(ztrans((1/3)^n*u(n-2)))
ans = 
We can use ztrans here because the sequence in question is zero for n < 0.
Also, it's very important to note that the Region of Convergence (ROC) for Yps is abs(z) > 1/3.
Now, moving onto the second component .... it looks like you're trying to use symsum to compute the z-transform explicitly. However, because the sequence is left-sided we need to use the bi-lateral z-transform (which I'm sure is the point of the exercise). Furthermore, because the sequence is zero for n > -1, we can take the sum from -inf to -1 (instead of -inf to inf),
y1 = n*2^n*z^-n; % no need to include u(-n-1) when summing from -inf to -1, because y1[n>=0] = 0
%v = symsum(y1,n,0,inf)
v = symsum(y1,n,-inf,-1)
v = 
The z-transform of this sequence only coverges over the ROC abs(z) < 2. Combined with result above, the ROC for the z-transform of the sum of the two sequences is
assume(1/3 < abs(z) < 2);
Recompute v with this assumption to get a compact form
v = simplify(symsum(y1,n,-inf,-1))
v = 
BTW, you could also have obtained this result from a standard, z-transform table.
Consequently, the z-transform of x[n] is
X(z) = YPs + v
X(z) = 
with ROC
assumptions(z)
ans = 
  댓글 수: 1
AlireaA Mirrabie
AlireaA Mirrabie 2022년 11월 19일
Thank you Paul for your answer. That is exactly what I was looking for you're a life saver.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by