Fundamentals
Housekeeping
close all force; clear; clc; s = tf('s');
Before we dive into control theory, transfer functions, state space equations, etc. it's important to have a good grasp of complex exponentials as they form the building block of dynamical systems.
First Order System[s]
As a primer, we will show that an xponential is the solution to a first order differential equation:
Consider the simple equation:
By using the time-tested method of... "guessing", it's elemetary to show that a function of the form is a solution.
yielding the solution:
In this case it doesn't really matter much what the value of A is, will be a solution. Typically when dealing with physical systems, A and B will be real numbers.
Second Order System[s]
So this is all well & good for first order systems, but what about second order systems such as:
Again by using the method above we substitute in as a solution to receive:
Through a little creative change-of-variables, let's define and , then we have:
yielding the solution:
This is certainly more complicated than the first order system, as B can take different values depending on A and C (or ζ and ).
Generally speaking, B will take one of three forms.
1. If , there will be two values of B; both real
2. If , there will be one repeated value of B; real
3. If ,there will be two values of B; both complex
The astute among us will recognize that ζ is what we call the damping ratio and the three cases represent overdamped, critically-damped- and underdamped respectively. Understanding that the real numbers are also a subset of the complex numbers, we can say that the general solution to a second order and below differential equation is a complex exponential of the form . Knowing that the solutions to such polynomials will either be real numbers or complex pairs, we can appreciate that the complex exponential is the building block of the solutions to differential equations! If differential equations are the language of the universe, complex exponentials are the words!
t = 0.1:0.1:10;
omega = 2;
f = figure(); f.Position = [0,0,800,500];
for zeta = [0.25, 1, 1.75]
TF = 1/(s^2 + (2*zeta*omega)*s + (omega^2));
[y,t] = step(TF, t);
plot(t, y, 'LineWidth', 2);
hold on;
end
legend('ζ<1 (under-damped)','ζ=1 (critically-damped)','ζ>1 (over-damped)', 'FontSize', 15, 'location', 'southeast');
hold off;