Message Boards Message Boards

4 Replies
1 Total Likes
View groups...
Share this post:

Computing the transient response of linear systems using Laplace transforms

Posted 11 years ago

I need to calculate the maximum value of the derivative of the response of a linear system when a specific input is applied. I am interested in getting this information during the transient response phase.

My input signale is a sequence of gaussian shapes equally shaped and separated that start at t>0.

My idea to calculate this is:

Create a Fourier series of input signal (time domain):
 Q = 5*10^7*1.602*10^-19;
 sigmat = (172/4)*10^-9;
 Trev = 629*10^-9;
 sigmaAux = sigmat*2*Pi/Trev;
 input = FourierSeries[Q/(Sqrt[2*Pi]*sigmaAux)*Exp[-t^2/(2*sigmaAux^2)],
    t, 10];
 input[t_] = input;
 input[t_] = input[t - Pi];
 input[t_] = input[t*(2*Pi/Trev)];
Plot[input[t], {t, -1*10^-6, 1*10^-6}]

Compute Laplace transform of input signal, multiply it by transfer function of system and compute inverse transform of result:
transient[t_] :=
   LaplaceTransform[input[t], t, s]*2*Pi*10^5/(s + 2*Pi*10^5), s, t];
Plot[transient[t], {t, 0, 1*10^-5}, Mesh -> All]

After this I could compute derivative of signal. But the time response of the system is not right. I should be getting an output signal with "oscillations" around an increasing mean value, but I'm not getting this. The output

I've tried different things, like increasing the series order but I get the same behaviour

Any idea why this is not working?

Many thanks in advance
POSTED BY: Miguel Fernandes
4 Replies
Hello David,

Thank you very much for your help valuable. This approach using the linear systems functions is exactly what I need. And thanks also for putting the code in such a nicely structured way. This will be really helpful to me.

All the best,
POSTED BY: Miguel Fernandes
Posted 11 years ago
An addition: I noticed what you really want is the point of max derivative. I added that by differentiating the output and applying the same methods. An updated notebook is attached. Note that I differentiated the response to the specific system. More generally, you could differentiate the fully symbolic solution.

POSTED BY: David Keith
Posted 11 years ago
Hello Miguel,

Attached please find a notebook which uses a different approach -- it uses the linear system modeling functions (control theory) now built in to Mathematica. They are truly marvelous. You will like them. But there is far too much detail to be pasted into a sequence of boxes and pictures.

I used this methodology:
  1. Your system, as you no doubt know, is a one-pole low pass filter. The transfer function (which you gave in the s-domain) is made into a transfer function model.
  2. The output response to a Gaussian input can be solved symbolically for an output response, with all of the parameters defining both the transfer function and the Gaussian still symbolic.
  3. Any specific output can be obtained by substistuting (by replacing using a rule) the parameters with their values.
  4. The system is linear, so the response to a sum of Gaussians is the sum of the individual responses.
  5. I find the max of the combined response in a two-step process. First a table of values vs time is created with range and density appropriate to the time constants of the system. These are sorted to obtain a best guess for the time at which the max output occurs. Then this is used as a starting value for FindMaximum. The rsult is an effective global maximization.
  6. Note that I found your Gaussian spread to be very large compared to the time constant of the filter -- the example below uses narrower Gaussians.
You may find the control theory functionality a bit of heavy lifting at first -- I did. But it is well worth the effort.

Kind regards,

The result of an input-> output for a pair of Gaussians:

The result of maximizing the output:

POSTED BY: David Keith
Dear Mathematica users,

Any ideas about my problem?

POSTED BY: Miguel Fernandes
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract