Prev: toeplitz matrix
Next: Finding turning points in a curve
From: Madhu Shurpali on 18 Feb 2010 00:53 hello, I am trying to use invfreqs to get the transferfunction from frequency response data. I have the frequency response measured at 0.5 Hz, 1Hz, 2HZ, 4Hz and 6Hz. I used a 3rd order for the numerator and 4th order for the denominator. The complex frequency reponse is as follows: 30.56 + i 3.143 33.75 + i 1.916 34.36 + i 1.860 33.69 + i 6.308 35.86 + i 5.768 When I used invfreqs, I got the following transfer function. Numerator = 1.0e+007 * -0.0014 -0.0177 -0.7040 -1.9653 Denominator = 1.0e+005 * 0.0000 -0.0038 -0.0504 -1.9995 -6.7095 Looking at the Numerator and Denominator, i feel there is something wrong. Now when I plot the reposnse using the transfer function, there is not a good match between the desired response and the actual response. Please suggest if I am doing anything wrong while obtaining the transfer function. Thanks Madhu
From: Rajiv Singh on 19 Feb 2010 15:12 A more effective way might be to use parametric modeling tools in System Identification Toolbox. Your task is an exercise in "frequency domain identification". Represent the frequency response as an IDFRD object (it packages frequency and response values). Then use estimation commands such as N4SID and OE to estimate state-space or transfer function form of a parametric model. Use BODE to plot frequency response data and model response together; use COMPARE command to check how well the model fits the data. You may find the following demo useful: http://www.mathworks.com/products/sysid/demos.html?file=/products/demos/shipping/ident/iddemofr.html Rajiv "Madhu Shurpali" <madhu.shurpall(a)cvgrp.com> wrote in message news:hlikk3$l6a$1(a)fred.mathworks.com... > hello, > I am trying to use invfreqs to get the transferfunction from frequency > response data. > > I have the frequency response measured at 0.5 Hz, 1Hz, 2HZ, 4Hz and 6Hz. I > used a 3rd order for the numerator and 4th order for the denominator. The > complex frequency reponse is as follows: 30.56 + i 3.143 > 33.75 + i 1.916 > 34.36 + i 1.860 33.69 + i 6.308 > 35.86 + i 5.768 > > When I used invfreqs, I got the following transfer function. Numerator = > 1.0e+007 * > -0.0014 -0.0177 -0.7040 -1.9653 > Denominator = > 1.0e+005 * > 0.0000 -0.0038 -0.0504 -1.9995 -6.7095 > > > Looking at the Numerator and Denominator, i feel there is something wrong. > Now when I plot the reposnse using the transfer function, there is not a > good match between the desired response and the actual response. > Please suggest if I am doing anything wrong while obtaining the transfer > function. > Thanks > Madhu
From: Wayne King on 19 Feb 2010 15:55 "Madhu Shurpali" <madhu.shurpall(a)cvgrp.com> wrote in message <hlikk3$l6a$1(a)fred.mathworks.com>... > hello, > > I am trying to use invfreqs to get the transferfunction from frequency response data. > > I have the frequency response measured at 0.5 Hz, 1Hz, 2HZ, 4Hz and 6Hz. I used a 3rd order for the numerator and 4th order for the denominator. The complex frequency reponse is as follows: > 30.56 + i 3.143 > 33.75 + i 1.916 > 34.36 + i 1.860 > 33.69 + i 6.308 > 35.86 + i 5.768 > > When I used invfreqs, I got the following transfer function. > Numerator = > 1.0e+007 * > -0.0014 -0.0177 -0.7040 -1.9653 > Denominator = > 1.0e+005 * > 0.0000 -0.0038 -0.0504 -1.9995 -6.7095 > > > Looking at the Numerator and Denominator, i feel there is something wrong. > Now when I plot the reposnse using the transfer function, there is not a good match between the desired response and the actual response. > > Please suggest if I am doing anything wrong while obtaining the transfer function. > > Thanks > Madhu Hi Madhu, In addition to Rajiv's fine advice (System Identification Toolbox has a lot of nice tools), can you please give us your sampling frequency? Without your sampling frequency, nobody can get the right normalized frequencies to try and help you. Wayne
From: Madhu Shurpali on 22 Feb 2010 06:19 > Hi Madhu, In addition to Rajiv's fine advice (System Identification Toolbox has a lot of nice tools), can you please give us your sampling frequency? Without your sampling frequency, nobody can get the right normalized frequencies to try and help you. > Wayne Wayne and Rajiv thanks a lot for the advice. Wayne: I think the Sampling freq doesnt come into picutre here. The way I got my Complex Freq response is as follows: I input a displacement of 0.5 Hz freq and 5 mm amplitude sine wave into my specimen and measured the force as the output. Now my specimen has some damping in it so when I plot Disp Vs Force I get a elliptical hysteresis curve. From the Hysteresis curve I get the stiffness and damping. I did this at Freqs of 0.5 Hz, 1Hz, 2HZ, 4Hz and 6Hz keeping the amplitude constant. Thus I got the stiffness and damping at each Freq. From the stiffness and damping at each freq I came up with the Complex Freq response. Also since I am trying to get the transfer function in the s domain, freq normalisation will not be done. Thanks for all the help
From: Madhu Shurpali on 22 Feb 2010 07:28
While trying to use IDFRD and OE, I came up with the following script: freq = [0.314159 3.141592654, 6.283185307, 12.56637061, 25.13274123, 37.69911184]; Real = [31.93 32.914 34.25 34.6 33.18 36.57 ]; Img = [3.446 2.941 1.828 1.646 7.213 7.955]; Response = complex(Real, Img); Respone_model = idfrd(Response, freq, 0); Tf_model = oe(Respone_model, [3 4]); With this my Tranfer function model predicted was as follows: >> Tf_model.b ans = 1.0e+008 * 0.0023 -0.0253 1.2619 >> Tf_model.f ans = 1.0e+006 * 0.0000 -0.0000 0.0081 -0.0945 3.8178 These values I feel are very large and I think I doing something wrong.. Can you please comment on the script and the Trasnfer function that 'OE' has predicted. P.S: I am trying to get the continuous time transfer function model. Thanks Madhu |