How to matlab ztransform with time shift?

5 次查看(过去 30 天)
How to code z-transform with time shift. For example F(n) = (1/3)^n u(n-2) using symbolic math toolbox and other ways
  3 个评论
John Bravo
John Bravo 2018-9-20
Symbolic math toolbox. Are there other ways?
Star Strider
Star Strider 2018-9-21
Signal Processing Toolbox, Control system Toolbox, System Identification Toolbox, perhaps others.
Try this:
syms n z
f(n) = (1/3)^n; % Discrete Domain
s(n) = heaviside(n-2); % Discrete Domain
F(z) = ztrans(f, n, z); % Z Domain
S = ztrans(s, n, z); % Z Domain
FS(z) = F * S; % Convolve To Get Shifted Function

请先登录,再进行评论。

回答(1 个)

Dimitris Kalogiros
Dimitris Kalogiros 2018-9-20
If you like to use symbolic math toolbox :
clearvars; clc; close all;
% u(t) : 0 for n<0 and 1 for n>=0
oldparam = sympref('HeavisideAtOrigin',1);
syms n z
assume(n, 'integer');
assumeAlso(n>=0);
%time series
x(n)=( (1/3)^n )* heaviside(n-2)
% plot time series
fplot(x(n), '-b','LineWidth',3);
title(texlabel(x(n))); xlabel('n'), ylabel('x(n)')
% z-transform
X(z)=simplifyFraction( ztrans(x(n-2),n,z) )
If you execute this script:

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by