Help with the Python package Scipy and the Z-transform please

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 replies · 4K views
hugo_faurand
Messages
62
Reaction score
10
Hello everyone !

I am working on ultrasound scan and the processing of the signal received by the probe. I made the model I wanted and as I do not have an ultrasound scan machine I want to simulate the signal processing.
I will do that with the Python package Scipy and the function [scipy.signal.lsim2] But here is the problem. To use this function I need the Z-transform of a sequence... And I only know few things about Z-transform. I only know a bit about the Laplace Transform and I think I understood that the Z-transform is the discrete version of Laplace transform.
Let me explain what is my problem. Let's say us
is the processed signal and ue
the signal sent by the probe to the computer. I got this differential equation :

$$\frac{du_s(t)}{dt}=−\frac{u_e(t)}{τ}−\frac{u_s(t)}{τ′}$$What I need is the transfer function ##\frac{u_s(t)}{u_e(t)}##

. In the Laplace domain I know I would have :

$$\frac{Us}{Ue}=−\frac{1}{pτ+ττ′}$$I know that to apply the Z-transform I need to consider ue

and us as sequences by sampling them. So now I need to get the Z-transform. I consider the sequences ##(u_{sn})## and ##(u_{en})##. By using the Taylor series (I'm french, I don't know if it's the correct name) the differential equation become : Let's take ##n\in \mathbb{N}##$$ \frac{u_{s(n+1)}−u_{sn}}{T_e}=−\frac{u_{en}}{τ}−\frac{u_{sn}}{τ′}$$But then I don't know what to do to get the sequence equivalent of the transfer function. Could you help me please ? Also, I didn't know how to post this message, I thought that Computer Science section was the better placeThanks in advance.
 
Last edited by a moderator:
on Phys.org
hugo_faurand said:
But then I don't know what to do to get the sequence equivalent of the transfer function.
The important thing here is that the Z-transform follows a convolution theorem (scroll down in the properties table until you see "convolution"), same as the Laplace transform. You can combine this with the finite difference properties (see "first difference forward" row in the table I mentioned) to generate a transfer function:

$$\frac{u_{s(n+1)} - u_{sn}}{T_e} = -\frac{u_{en}}{\tau} - \frac{u_{sn}}{\tau'}$$
$$\frac{(z-1)U_{sz} - z u_{s}(0)}{T_e} = -\frac{U_{ez}}{\tau} - \frac{U_{sz}}{\tau'}$$
The convolution property means that ##H_{z} = \frac{U_{sz}}{U_{ez}}##, so you just need to solve the above equation for ##H_{z}##. (Edit: ##H_{z}## is the z-transform of the transfer function.)
 
Reply
  • Like
Likes   Reactions: hugo_faurand and pbuk