# How to find transfer function of real world system?

1. Aug 5, 2015

### perplexabot

Hey all!
I am trying to figure out how one goes about to try and find the transfer function (impulse response) of a real life system. Assuming the system is LTI.

This "system" I speak of is a channel that is comprised of components such as linear amps, a mixer (can we even assume a mixer is linear? If i'm not mistaken a mixer exists due to the nonlinearities of nature) and a DAC.

I know to find the transfer function (or impulse response) of a system (theoretically speaking) one should find Vo(ω) / Vi(ω) (or input a delta function and find the output in the case of the impulse response. I know this is not possible since the delta function is only an ideal construct).

One question I have is, for finding Vo(ω) / Vi(ω), do we just input a function (say a sin wave, sin(ω1) ) with a certain frequency and read the output, say fo? Is the transfer function then = fo / sin(ω1)?

The only way I can think of that seems to make sense to me is to sweep through the frequencies that seem important to me (or the system) through the input and study the output. This will give me a plot (or a set of data points) that represents the transfer function would it not?

I apologize if my post seems all over the place, but I thought I would let you know my process of thought.

Basically, my question is:
"How do you find the transfer function of a real world system, assuming the system is LTI?"

Thank you : )

2. Aug 5, 2015

### Staff: Mentor

There is a whole body of study called system identification. Search for that and you'll find lots of literature.

Last edited by a moderator: Aug 5, 2015
3. Aug 6, 2015

### LvW

Yes - in principle, you are right.
However, it is important to record not only "data points" (magnitudes) but, of course, also the corresponding phase deviations between input and output.
Therefore: The transfer function of a linear system is
H(jw)=Vout(jw)/Vin(jw)=|Vout(w)/Vin(w)|*exp(j*phi).

As an example: If the input voltage is sinusoidal Vin=1*sin(2Pi*f*t) (volts), the output voltage (magnitude, phase shift) is identical to the complex transfer function H(jw).

4. Aug 6, 2015

### meBigGuy

If you measure the time domain response to an impulse you have the time domain equivalent of the frequency response. That is, the fourier transform of the impulse response is the frequency response of the system(and vice versa). (assume complex numbers, so you are really talking frequency and phase.)

Likewise, if you measure the frequency response (and phase) and take the inverse fourier transform (in the proper data representation), you then have the impulse response.

You can also measure the step response and derive the impulse response from that.

The mixer is a wrinkle. For example a 100Mhz mixer mixing to 10 Mhz going through an IF stage and filter. You put in a 100Mhz step, and get a 10MHhz step response output. The 10MHz envelope represents the step response for the RF, mixing and IF system. You can also sweep the 100Mhz and look at the frequency and phase response at different points.

5. Aug 6, 2015

### perplexabot

Thank you! I guess I will expand on this thought.

I know of this already ; ) But thank you regardless!

Hmmmm. So I know through literature that finding the impulse response (which I know is the inverse Fourier of the Transfer Function) of a system requires sending an impulse through the input and to study the resulting output (or as you say sending in a step and studying the resulting output). Are these methods feasible in real life? As in, are they achievable? Can we indeed find the transfer function of a real world system by sending in these idealized waveforms (steps and impulses)? Do close approximations of these waveforms work instead?

I know that impulse functions require the superposition of infinite sin waves of all frequencies (in fourier analysis). So technically, the method of sweeping through frequencies at the input and studying the output (as mentioned in the OP) seems to be an approximation of the impulse response. (right?)

Thank you!

Last edited: Aug 6, 2015
6. Aug 6, 2015

### milesyoung

A property of a linear system is that its output will only contain the frequency components of its input. In other words, a linear system can't output a signal at a different frequency than what you're feeding it, which makes a mixer a nonlinear element, i.e. a transfer function can't capture the input-output relationship of any system containing a mixer.

Manually sweeping over some frequency range of interest with a signal generator (usually around crossover/resonance frequencies) and recording the small-signal frequency response is a time-honoured, and usually very effective, method of designing controllers for a large class of systems. You typically don't bother with the transfer function then, since you already have the frequency response, and that's all you need for a large segment of design methods in classical control theory.

Alternatively, if you have the equipment, you can feed the system a test signal that approximates a flat amplitude spectrum over the bandwidth of the system (chirp, "white" noise, PRBS signals etc.), and run the output through a spectrum analyzer.

No physical system has the input-output relationship of a transfer function, but it can be a good approximation under the right circumstances, so it really depends on what you want to use the transfer function for. Thankfully, you don't typically need a very accurate model of a system in order to control it well (that's the beauty of negative feedback).

Very often, you can assume a model order based on the appearance of, for instance, the step response of the system, i.e. does the system have first- or second-order characteristics? Time constant, percent overshoot, damping factor etc. That should allow you do get a decent estimate of the low-frequency behavior of the system, which is usually all you need to enforce stability and robustness, barring any significant high-frequency resonances.

7. Aug 6, 2015

### jim hardy

Hewlett=Packard in the 1960's was a great company . They made analyzers to do what you ask.

Here's an appnote that somebody had the good judgement to preserve.

http://literature.cdn.keysight.com/litweb/pdf/5953-5136E.pdf

Similar articles were published in the "Hewlett Packard Journal" ca 1970. I remember my awe as a young engineer upon reading them.

8. Aug 7, 2015

### meBigGuy

I guess a network analyzer would be the class piece of equipment to totally analyze your system.

http://cp.literature.agilent.com/litweb/pdf/5989-1420EN.pdf [Broken]

Last edited by a moderator: May 7, 2017
9. Aug 10, 2016

### Frank H

I will be teaching control theory soon to a group of practical, rather than academic students. The main problem I had before was making the students realise that transfer functions represented real life physical things. Does anyone know if there is a list of these physical "things" (motors, heaters etc.) along with the transfer function that describes them? I haven't been able to find one that doesn't go into mathematical detail- this detail has the effect of losing the students.

10. Aug 10, 2016

### LvW

Several years ago I was teaching control theory to students. According to my experience it was a good thing to support all the theoretical stuff with some real-world examples like
* x-y plotter (DC motor within a servo loop),
* PLL (good example to show the relation between linear and non-linear behaviour)
* AGC (good example for disturbing loop behaviour).

11. Aug 10, 2016

### donpacino

Why use a speed control for a car as an example?
You can incorporate basic feedback, PI controller, relate it to the real world, do conversions (wheel speed -> car speed) etc. Most students should be able to pick up on it, since it is a physical thing that most people have dealt with. The actual math you show can be very simple (make a magic block that converts the accelerator pedal to car acceleration). Then they only need to worry about acceleration, speed and distance.

Another example that can be fun is to make a controller to parallel park a car. Make a model in simulink or matlab that will show the car driving around. Choose what "sensors" the car has, and have the students build a parking algorithm. You can show what

12. Aug 10, 2016

### jim hardy

Excite it with a sinewave , swept over a few decades, plot magnitude and phase response on log log paper (that's a Bode Plot)

show them how each break point is a pole or zero

and how natural is the progression from Bode Plot to poles & zeros to the fraction you seek

old jim