I am working on a blackbox system and I would like to make a Bode plot to find its transfer function. Since I do not have a lot of information on the system I am trying to input a series of sin waves of a known amplitude & frequency to find the corresponding gain and phase. I made the Bode plot manually with Matlab and I don't really know how to interpret it :

enter image description here

I measured the points several times to make sure it was correct, but it does not look like the plots I usually see, I don't know if I made a mistake somewhere. For the gain I used $$20\times log_{10}({\frac{Amplitude_{Out}}{Amplitude_{In}}})$$ and for the phase $$ 360 \times {\frac{Delay_{InputToOutput}}{InputPeriod}}$$

I usually see the phase converge at -90 or -180° of phase but this one looks like it's completely falling at higher frequencies. Also I don't seem to have a -20dB slope at \$10^{-3}\$. Does my plot look wrong ? How do you read such a plot ? Thank you.

  • \$\begingroup\$ You don't really have enough points to make a correct guess, and I'm referring here mostly to the 1e-2...5e-3 range, where there seem to be only two points. That means you're likely to miss important variations by linearly interpolating. At any rate, you're measuring mHz, which means the settling time should be in the order of tens...hundreds of seconds, did you really wait that long before making the measurements? What generator did you use? What measurements: voltmeter, oscilloscope, ...? Did you correctly account for I/O impedances? \$\endgroup\$ Mar 24, 2022 at 16:31

1 Answer 1


Also I don't seem to have a -20dB slope at 10−3. Does my plot look wrong ?

Real world systems may not be as clear cut as a transfer function, and in many cases a transfer function can only be approximated. Without knowing more about the physical system it won't be possible to tell you if the plot is 'right' or not. What I can tell you is you may want to get a system identification package for matlab (matworks makes one, and there are also some free packages). These use estimators to estimate the transfer function of the system.

One thing that you may want to know is with any system identification estimation, you need to have a good input that spans the frequencies that you want to look at, a sine sweep is a good way to start or a step function (or lots of step functions with different periods in between, the system needs to go into steady state or stop ringing at some point if it can)

How do you read such a plot ?

Assuming the data is taken correctly, I would say this is a second or third order system at least (two or three poles). The zeros can complicate things just by trying to look at the data by hand (and you need good input data). Because the order is high, it may be difficult to estimate the TF by hand, with a one pole or simple two pole, it can be easy to do this by hand.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.