How to get impulse response of an array of values aiming to apply fast fourier transform (fft) on impulse response array
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Basim Touqan
le 6 Nov 2016
Commenté : Star Strider
le 10 Nov 2016
Dear colleagues, I have a challenge in building or extracting the transfer function in the form of Laplace based on a signal plotted in time domain in a pdf paper/articles. So far i managed to evaluate manually the coordinates of the signal in time domain by the following code in Matlab:
t0=[0 20 30 48 63 77 100 110 150 180 200 233 300 330 370 400 450 500 600 700 800];% points of t are obtained from the signal in whalley's paper%
y0=[0 0.5 1 1.5 2 2.5 2.875 3 3.375 3.5 3.55 3.57 3.6 3.57 3.55 3.52 3.48 3.44 3.35 3.25 3.15];% points of y are obtained from the signal in whalley's paper%
figure
plot(t0,y0,'o');
The question is how can I get the impulse response of the signal y0(t0) and how can I get the frequency response of the same signal for the same time duration. At the end I want to get the frequency response to plot bode diagram and to try to conclude the transfer function in the Laplace transform from Bode plot. Any suggestion from you ends?
0 commentaires
Réponse acceptée
Star Strider
le 6 Nov 2016
You are doing ‘system identification’. MATLAB has an entire System Identification Toolbox devoted to it, and the Signal Processing Toolbox has the invfreqz function that will approximate it. This will be in discrete z-space. You can later use the bilinear transform to convert it to Laplace s-space. You will have to experiment to get the result you want.
5 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Spectral Measurements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!