11/16/2023 0 Comments Matlab bode plot![]() ![]() It is a bit trickier to be able to predict the behavior of our closed-loop system in the region around the crossover frequency. So as we have just seen, it is quite straightforward to figure out what will be going on at the high and low frequency ends of our open loop design. If we want good noise rejection characteristics, our open loop designs should have a good, sharp roll of rate and provide nice attenuation past the crossover frequency. Actually, if we want to achieve zero steady-state error, our gain needs to be infinity at DC, which means that our open loop transfer function needs to resemble a pure integrator on low frequencies. So just to summarize, if we want good tracking performance characteristics in T and good disturbance rejection in S, we need to make sure that our open-loop design has a high enough gain at low frequencies- in other words, PC needs to be well above zero dB, at least a decade below the crossover frequency. Once again, the actual trace of S follows our asymptotic approximation quite closely. So both the magnitude and the phase of S will be approximately 0 on the body plot for the high-frequency region. ![]() When PC is much less than 1, S will approximate 1/1. So the trace of S will be symmetric with respect to 0 in the low-frequency region. In a similar fashion, if we look at the sensitivity transfer function, when PC is much greater than 1, it will approximate 1/PC, which, in a logarithmic scale, means the negative of PC. Note that the actual trace of T follows our asymptotic approximation very closely. If we look at the region way after the crossover, and the magnitude of the open loop transfer function is much less than 1, now, the 1 will dominate the denominator, and T will approximate PC/1, which means that the trace for T on this region will follow the trace of PC. So both the magnitude and the phase of T will stay at approximately 0 on the bode plot. If we look at the region way before the crossover frequency, and the magnitude of the open-loop transfer function is much greater than 1, or 0 dB on the plot, then PC will dominate the denominator, and T will be approximately PC/PC, or 1. So we need to use our asymptotic approximation method to try to infer the shape of T from the given open-loop transfer function. Note that we cannot use superposition directly because there is a summation in the denominator. We want to see how the complementary sensitivity transfer function T=PC/(1+PC), relates to the open-loop transfer function. And remember, the crossover frequency is located where the magnitude trace crosses that 0 dB line. Let me first highlight the 0 dB line on the magnitude trace and the minus 180 degrees on the phase trace. So now we might ask, what kind of shape should we give to our open-loop transfer function in order for it to make the closed-loop system have the frequency characteristics we are looking for? ![]() The big advantage of dealing with the open-loop transfer function is that we can directly design the shape of C in such a way that, when superimposed with our plan, P, the resulting PC will have somewhat desirable characteristics. Because this is just the product of P times C on a logarithmic scale, the frequency trace PC will be the superposition of the trace of the given plant and the trace of the controller we're trying to design. In this case, it's our top row, row 1: p.So given that now we have a general idea of the shapes, we would like for those two main closed-loop transfer functions T and S, the question becomes, how can we make sure that our controller will make the closed-loop system have a response that is anywhere close to having those frequency characteristics? To answer that, let us start by taking a look at the bode plot of a generic open-loop transfer function. The 4 is because we have four rows of plots. Suppose I want to now change the top left-hand plot's y-axis limits from to, how would I do it? Type in p into the command line to get a peak at adjustable plot parameters: p = P=getoptions(Handleplot) %get the handle options Assuming you already have a system, called sys_Orig Handleplot=bodeplot(sys_Orig) %create a handle I've provided a multiple-input, multiple-output (MIMO) system to illustrate how this works. Incidentally, MATLAB provides a pretty good example here already: This can be done when creating a handle to the Bode plot. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |