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

AI Thread 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
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Replies
3
Views
2K
Replies
4
Views
1K
Replies
1
Views
3K
Replies
5
Views
3K
Replies
13
Views
9K
Replies
18
Views
9K
Back
Top