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

Click For Summary
The discussion revolves around simulating ultrasound signal processing using Python's Scipy library, specifically the function scipy.signal.lsim2. The user seeks assistance with deriving the Z-transform of a transfer function from a given differential equation related to the processed signal (us) and the signal sent by the probe (ue). The user starts with a differential equation and transitions to a discrete form using a Taylor series approach, but struggles with obtaining the sequence equivalent of the transfer function. Key points include the understanding that the Z-transform is a discrete version of the Laplace transform and the application of the convolution theorem, which allows for the generation of the transfer function. The final goal is to solve for the Z-transform of the transfer function, denoted as Hz, using the established relationships from the differential equation.
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:
Technology news 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.)
 
  • Like
Likes hugo_faurand and pbuk

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
9
Views
2K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 20 ·
Replies
20
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 13 ·
Replies
13
Views
9K
  • · Replies 18 ·
Replies
18
Views
9K