16 July 2002
1
Sinusoidal-Input DFs 2
Topic Outline
Introduction
Basic Concepts
SIDF Calculations
Examples
Examples
Classic references:
Introduction
Considerations:
0.5 0.04
0.02
x(5)
y(t)
0 0
0.02
0.5 0.04
0.06
1
0 1 2 3 5 0 5
Time, t x(4) x 10
3
0
x(5)
y(t)
0
1
2
0.2
3
0 0.5 1 1.5 2 0.02 0 0.02
Time, t x(4)
Note that the transfer function and operating point are coupled
Hereafter we will call G(j; u0, a) an SIDF Input/Output Model
(SIDF I/O Model)
Sinusoidal-Input DFs 7
Classical Case:
u(t) e(t) y(t)
W(s)
f(y(t))
f( . )
p(s)
Y (s) = L (y(t)) = E(s)
q(s)
= W (s) L (e(t)) (2)
e(t) = u(t) f (y(t))
Multi-variable Case:
x = f (x, u(t))
(3)
y(t) = h(x, u(t))
x1 = x2
x2 = 7x1 3x2 + 2[ u(t) 4y 3 ]
In MATLAB:
num = 2; den = [ 1 3 7 ];
u = 3.5 * sin(10*t);
xdot(1) = x(2);
xdot(2) = - den(3)*x(1) - den(2)*x(2) + num*(u - 4*x(1)^3);
xdot = xdot(:);
To run a simulation:
0
s
20
0.5
10
1
0
1 0.5 0 0.5 1 0 0.2 0.4 0.6 0.8 1
y a
f (a cos(t)) = K[ a cos(t) ]3
3 1
= K a3 [ cos(t) + cos(3t) ]
4 4
3 K a2
= a cos(t) (5)
4
so Ns(a) = 3 K a2/4. Trigonometric identities are a shortcut to
formulating and solving Fourier integrals; use for any power-law
element.
Cubic Nonlinearity Cubic Nonlinearity SIDF
1 0.8
0.7
0.5 0.6
0.5
N (a)
f(y)
0 0.4
s
0.3
0.5 0.2
0.1
1 0
1 0.5 0 0.5 1 0 0.2 0.4 0.6 0.8 1
y a
1 F 1 F0
0
0.5 0.5
I/O Behavior
f(y)
0 0
= 0.3 x1
0.5 0.5
1 F0 1 F0
1 0.5 0 0.5 1 0 2 4 6
y Time, t
1 Z 2
N (a) = f (a cos(x)) exp(jx) dx
a 0
2 F0 (Z x1 Z )
= exp(jx)dx x exp(jx)dx (by symmetry)
a 0 1
N(a)
f(y)
0 0.6
m = 0.3
1
0.4
0.5
0.2
1
0
1 0.5 0 0.5 1 0 1 2 3 4
y a
The SIDF cannot lie outside the slopes of the enclosing sector
1.6
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4
For large signals the details near the origin do not make much
difference
Sinusoidal-Input DFs 16
where:
function f_sat = f_gvdv(x)
% saturation function "f" for calculating SIDFs for PWL functions
% Gelb & Vander Velde, Appendix B, p. 519
% JH Taylor - 18 June 2002
if abs(x) >= 1,
fdf = sign(x);
else
fdf = 2*(asin(x) + x*sqrt(1 - x*x))/pi;
end
Sinusoidal-Input DFs 17
1. Classical Case:
u0 W(j0) u = u0 + a cos(t)
v0 y0 = u0 + uac
f ( y0 , c )
0
y = y0 + Re [ c exp(jt) ]
= y0 + yac
N( y0 , c )
vac yac
v = f0(y0, c) + Re [ N (y0, c) c exp(jt) ]
uac W(j )
= v0 + vac
AC Harmonic Balance:
1.5
1 num = 100*poly([ 1 70 ])
1/N, Relay
0
Imaginary Axis
1.5
2.5
3
2 1 0 1 2 3 4
Real Axis
u y u y
W(s) f( . ) f( . ) W(s) . . . Etc.
u y
W(s) u y
f( . ) W(s)
. . . Etc.
f( . )
2.5
Amplitude Density
1.5
p(a) = 1
A2 a2
, |a| < A
1
0.5
0
1 0.5 0 0.5 1
Input amplitude / A
is a good approximation
Sinusoidal-Input DFs 21
1
DFs for a unity limiter:
0.8 Sinusoidal density
Gaussian density
0.6 Triangular density
N(a)
Uniform density
0.4
0.2
0
0 1 2 3 4 5 6
a
80
40 Uniform density
20
0
0 1 2 3 4 5 6
a
Sinusoidal-Input DFs 22
c
- Kp -
- 1 e
-
= F0
6
- - R
0
- 1
J s
- 1
s
-
o h
S
(1+s/100)(1+s/20)
6
Hydraulic Servo Amp.
+
Kv
6+
Kp
Nyquist Diagrams
Gibson, Problem 9.2 (Missile Roll Control)
0.1
Gco = 0.5069
= 28.28
co
0.05
Imaginary Axis
0.05
0.2 = 0.130
0.1
0.1
0.2
t = 1.671 t = 1.943
0.3
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time
2
dot
6
0.4 0.3 0.2 0.1 0 0.1 0.2 0.3
Two methods for generating the SIDF I/O model G(j; u0, a):
0
10 a=1
a=4
a = 16
magnitude
1
10
02Jul2002
2
10 zeta = 0.05
3
10
0 1 2
10 10 10
frequency (rad/sec)
G(j ; a)
Magnitude part:
M (j) = | W (j) |;
|c| 4F0
| G(j; a) | = = M (j)
a | a c |
Phase part:
6
= W (j) ;
4F0
6 G(j) = sin1 M (j) sin()
a
Sinusoidal-Input DFs 29
0
10
| G(j ; a ) |
2
10
4
10
0 1 2
10 10 10
Frequency, (rad/sec)
Phase angle of SIDF I/O Model and linearizations
0
150
0 1 2
10 10 10
Frequency, (rad/sec)
Sinusoidal-Input DFs 30
F1
Fourier
sin( t)
Integrals
F2
Z kT
F1k = (k1)T
y(t) cos(t)dt
Z kT
F2k = (k1)T
y(t) sin(t)dt
% Initialize:
global Ampl Freq Xdim;
k = 0; T = 2*pi/Freq; tspan = [ 0 T ]; x0 = zeros(Xdim,1);
[t,x] = ode45(Model,tspan,x0);
[nrows,ncols] = size(x);
Sinusoidal-Input DFs 32
xf = x(nrows,:);
mag0 = Freq/(pi*Ampl)*abs(xf(ncols-1)+j*xf(ncols));
phase0 = atan2(xf(ncols),xf(ncols-1));
% Simulate cycle-by-cycle until convergence obtained:
while (k >= 0)
k = k+1;
x0 = xf; % initial condition from last cycle
x0(ncols-1) = 0; % reset the Fourier states
x0(ncols) = 0;
[t,x] = ode45(Model,tspan,x0);
[nrows,ncols] = size(x);
xf = x(nrows,:);
mag = Freq/(pi*Ampl)*abs(xf(ncols-1)+j*xf(ncols));
phase = atan2(xf(ncols),xf(ncols-1));
magdiff = abs(20*log10(mag/mag0));
phasediff = (180/pi)*abs(phase-phase0);
if ((magdiff >= MAGTOL) | (phasediff >= PHASETOL))
mag0 = mag;
phase0 = phase;
else
k = -1;
end
end;
for jj=1:3
Ampl = 4^(jj-2) %% Ampl = .25, 1, 4
av(jj) = Ampl;
% frequency loop
for ii=1:30
Freq = 10^((ii-17)/16) %% w_min = 0.1, w_max ~= 6.5
wv(ii) = Freq;
[mag(ii,jj),phase(ii,jj)] = ggen(mdl,mtol,ptol);
end % frequency loop
end % amplitude loop
phase = phase .*dpr; %% change radians to degrees
%% routine plotting commands for "Bode plots" omitted
a = 0.25
0
10
magnitude
a=1
a=4
1
10
12Jul2002
2
10
0 1
10 10
frequency (rad/sec)
<G(jw,a) for limfilt2
0
50 a = 0.25, 1, 4
phase (deg)
100
150
200
0 1
10 10
frequency (rad/sec)
Sinusoidal-Input DFs 34
Vin 6!! m2 Te Tm
m1 - 1 R R
- - STICTION - - -
J
!!
6
1
10
0
10
Magnitude
1
10 b(1) = 0.25
b(2) = 0.325
2
10 b(3) = 0.4
b(4) = 0.8
3
10
1 2
10 10
Frequency (rad/sec)
100
120
Phase (degrees)
u0 = 3yc (3 5yc2 )
r
a = 2 1/3 yc2
Sinusoidal-Input DFs 39
2. For K = 6,
(a) No limit cycles exist for | u0 | > 6/ 5 = 2.68
(b) Two limit cycles exist for 2.31 < | u0 | < 2.68
K=6
0.6 maximum yc = 0.57735
Equilibrium value, y
0
Center Value, yc
0.4
Half amplitude, a/2
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
Input DC Level, u
0
Sinusoidal-Input DFs 40
1.5
y +a
c
0.5
x(1)
0.5
1
y a
c
1.5
0 5 10 15 20 25
time, t
The limit cycle is stable if a > aLC moves the pure imagi-
nary eigenvalues into the left half plane and a < aLC moves
the pure imaginary eigenvalues into the right half plane
0.2
1/N(a) a>a
LC
instability
0
a<a
LC
stability
0.2
Imaginary Axis
0.4
0.6
0.8
1
0.5 0.4 0.3 0.2 0.1 0
Real Axis
Another test works if there is no bias and there is only one limit
cycle predicted: The limit cycle is stable if the enclosed equilib-
rium is unstable, and conversely.
Sinusoidal-Input DFs 43