LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

transfer function from frequency response graph

Hello,

 

Can anyone please help me with how to obtain the transfer function of the system from  frequency domain graph?

 

I have output time domain signal and I used FFT to obtain the frequency domain graph and I'm using Labview 2010.

 

Thanks,

Karthick

0 Kudos
Message 1 of 4
(5,494 Views)

Hi Karthick,

 

CALTech is willing to help

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 4
(5,454 Views)

Thank you..but I wants to know the steps to obtain the transfer function in Labview from the output frequency response.

 

First,is it possible to obtain the transfer function from the output? My input is vibrating machine itself.Excitation is given by running the machine.

 

Thanks,

Karthick

0 Kudos
Message 3 of 4
(5,414 Views)

Simple not-very-accurate way to estimate transfer function: Compute the FFT of the input. You said you have the FFT of the output.  Each FFT is a complex array.  Divide the output FFT array by the input FFT array to get the complex transfer function array.  Use the complex to polar conversion VI to get the magnitude array and the phase array.  The frequency spacing, df=delta freq., of the resulting samples, or estimates, of the transfer function, is df=SR/N, where SR=Sampling rate and N=number of samples.  Use df as the x-axis increment when plotting the arrays on a waveform graph. Above method is simple, but is bad from a statistical point of view, beacause the estimate does not get more accurate as the number of data points increases.  I.e. it is not a consistent estimator.  Much has been written about how to rectify this problem.  You could run a "smoothing window" over the final transfer function estimate.  Better yet, chop the data into segments, compute the auto- and cross-power spectra in each segment, compute the average (across segments) auto- and cross-power spectra, and then take the ratio of the average cross power spectrum to the average auto power spectrum.  Now we are getting complicated, but we have a consistent estimator whose statistical properties are better understood.  And I haven't even mentioned windowing or coherence...

A program is attached that shows the simple method at work.  A random signal is generated by rolling the dice.  This input goes through the "system", which is a Butterworth filter in this example.  User can adjust the "system properties" (type of filter, filter order, cutoff frequencies) and observe how the transfer function estimate changes. The filter output is compared to the input as I described above, to compute the magnitude and phase response of the system.  It re-runs with a new random input signal every 500 msec.  As you can see, the transfer function estimate is noisy.

The transfer function estimate, to the extent that it is OK at all, is only OK at frequencies where the input has power.  The random signal tends to have some power at all frquencies (up to Nyquist), which is why it works as well as it does. If your signal is not random, watch out.

Bill R.

0 Kudos
Message 4 of 4
(5,404 Views)