0
|
8041 Views
|
4 Replies
|
1 Total Likes
View groups...
Share
GROUPS:

# Computing the transient response of linear systems using Laplace transforms

Posted 10 years ago
 Hello,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_] :=  InverseLaplaceTransform[   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 behaviourAny idea why this is not working?Many thanks in advance
4 Replies
Sort By:
Posted 10 years ago
 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,Miguel
Posted 10 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.   Attachments:
Posted 10 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: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.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.Any specific output can be obtained by substistuting (by replacing using a rule) the parameters with their values.The system is linear, so the response to a sum of Gaussians is the sum of the individual responses.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.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,DavidThe result of an input-> output for a pair of Gaussians: The result of maximizing the output:  Attachments:
Posted 10 years ago
 Dear Mathematica users,Any ideas about my problem?Thanks