Question: All answers are given in MATLAB code, for each part provide screenshots of your MATLAB code, Figrues / Command window output, to show the code

All answers are given in MATLAB code, for each part provide screenshots of your MATLAB code, Figrues/Command window output, to show the code works. You are provided a demo Z-transform MATLAB file, you MUST use it, make chnages accordingly to it based on the requirement of the question. The demo code is provided below:
clear
clc
sympref('HeavisideAtOrigin',1);
syms z n;
% function to use
xn = heaviside(n)+2^n*heaviside(n)
xn =3*(1/2)^n*heaviside(n)-5*(1/3)^n*heaviside(n)
%% z transform
XZ = ztrans(xn)
% Extract numerator and denominator
[num, den]= numden(XZ);
rational_form = num/den % rational form
%% partial fraction expansion
% numerator and denominator to polynomial form
b = sym2poly(num);
a = sym2poly(den);
% partial-fraction expansion coefficient
[r,p,k]= residue(b,a)
% build partial fraction expansion form
% f(n)= sum( r(i)/(z-p(i)))+ k
% k is polynomial of z
f =0;
for i =1:size(r,1)% column vector
f = f + r(i)/(z - p(i));
end
t = size(k,2); % row vector
for i =1:t
f = f + k(i)*n^(t-i);
end
PFE = vpa(f,4)% display partial fraction expansion form
%% inverse z transform
% with partial fraction method
fn =0;
for i =1:size(r,1)
fi = iztrans(r(i)/(z - p(i))); % inverse z transform for each term
fn = fn + fi;
end
% build k term
fi =0;
t = size(k,2);
for i =1:t
fi = fi + k(i)*n^(t-i);
end
ifi = iztrans(fi); % inverse z transform for k term
fn = fn + ifi;
% compare with build-in method
xn_PFE = vpa(fn,4)% izt by PFE
xn_izt = iztrans(XZ)
sympref('HeavisideAtOrigin','default');
All answers are given in MATLAB code, for each

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!