From: Madhu Shurpali on
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
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
"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
> 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
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
 |  Next  |  Last
Pages: 1 2 3
Prev: toeplitz matrix
Next: Finding turning points in a curve