×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Are you an
Engineering professional?
Join Eng-Tips Forums!
• Talk With Other Members
• Be Notified Of Responses
• Keyword Search
Favorite Forums
• Automated Signatures
• Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Turning a Laplace transfer function with time shifting into a z-transform transfer function

Turning a Laplace transfer function with time shifting into a z-transform transfer function

(OP)
I have a continuous system, having L-transfer function F(s)G(s), followed by a sample-and-hold, according to the following scheme:

Input signal -> F(s) --> G(s) --> S&H(period = T) -> Output signal

The sample-and-hold samples its input signal at times t = nT (so T is the period).
I have:
F(s) = (1 - exp(-as))/s -> It integrates the input signal over the last a seconds
G(s) = (1 - exp(-Ts))/s -> It integrates its input signal over the last T seconds (the same T as the S&H)
S&H(s) = (1 - exp(-Ts))/s -> It gives me every T seconds the updated result from G(s)

Because of the S&H, the output signal is a staircase-shaped signal made of T-long steps.
Task: Given the output signal and known F(s), G(s) and S&H(s) I have to reconstruct the input signal.
It is not required to necessarily reconstruct the input signal pointwise. A staircase-shaped reconstruction (I guess with T-long steps) would be enough.

Because of this S&H and the staircase-shaped output signal I think that the best way is to approach the problem using the z-Transform, because this way the output signal can be represented through a polynom.
I have read in the literature that when there are continuous systems (like F(s) and G(s)) first one should turn their L-transform into the corresponding z-Transform.
Developing F(s)xG(s) I get terms like exp(-as)/s3, that is, a parabola shifted by a seconds, where a is not a multiple of T!: how can I find the corresponding z-Transform ? The z-transform time-shift rule applies only for time-shifts that are multiple of T.

Thanks to anybody who can give me suggestions.
Replies continue below

RE: Turning a Laplace transfer function with time shifting into a z-transform transfer function

I tried using wxMaxima. wxMaxima couldn't convert from the s-domain to the z-domain.
/* [wxMaxima: input start ] */
F(s):=(1-exp(-a*s))/s;
G(s):=(1-exp(-T*s))/s;
SH(s):=(1-exp(-T*s))/s;
F(s)*G(s)*SH(s);
partfrac(%,s);
ilt(%,s,t);
/* [wxMaxima: input end ] */

Peter Nachtwey
Delta Computer Systems
http://www.deltamotion.com

RE: Turning a Laplace transfer function with time shifting into a z-transform transfer function

(OP)
Thank you very much, PNachtwey.
Could you retry setting a = nT, with n equal to any integer (for example n = 3) ?

I've read some literature and found many examples of continuous systems preceded by a signal-discretizing S&H: because of the upstream S&H the z-transform should be employed.
But I have not seen any example of continuous system followed by a S&H and it's not clear to me, whether in this case too the usage of the z-transform is appropriate.

RE: Turning a Laplace transfer function with time shifting into a z-transform transfer function

I am at work. I got out the big gun ( Mathematica )
In[40]:= ClearAll["Global`*"];
F[s]:=(1-Exp[-a*s])/s
G[s]:=(1-Exp[-T*s])/s
SH[s]:=(1-Exp[-T*s])/s
F[s]*G[s]*SH[s]
InverseLaplaceTransform[%,s,t]
FullSimplify[%]

Out[44]= ((1-E^(-a s)) (1-E^(-s T))^2)/s^3
Out[45]= 1/2 (t^2-(a-t)^2 HeavisideTheta[-a+t]+(t-2 T)^2 HeavisideTheta[t-2 T]-(a-t+2 T)^2 HeavisideTheta[-a+t-2 T]-2 (t-T)^2 HeavisideTheta[t-T]+2 (a-t+T)^2 HeavisideTheta[-a+t-T])
Out[46]= 1/2 (t^2-(a-t)^2 HeavisideTheta[-a+t]+(t-2 T)^2 HeavisideTheta[t-2 T]-(a-t+2 T)^2 HeavisideTheta[-a+t-2 T]-2 (t-T)^2 HeavisideTheta[t-T]+2 (a-t+T)^2 HeavisideTheta[-a+t-T])

The FullSimplify didn't do anything.
The HeavisideTheta function is 0 when x<0 and 1 when x>0

From the documentation
HeavisideTheta[x]
represents the Heaviside theta function \[Theta](x), equal to 0 for x<0 and 1 for x>0.
The HeavisideTheta function doesn't appear to be defined for x=0.

So the result appears to be the sum of simple functions that are activated at different times.

Peter Nachtwey
Delta Computer Systems
http://www.deltamotion.com

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

• Talk To Other Members
• Notification Of Responses To Questions
• Favorite Forums One Click Access
• Keyword Search Of All Posts, And More...

Register now while it's still free!