Unformatted text preview: Bode_fit 1/8 Identifying G(s) from a Bode Plot CHE 361 Bode plots contain the frequency response of a transfer function model G(s) (for example generated by
using freqg) or obtained from an analysis of input/output data from an experiment (for example a
PULSE test). The MATLAB program chebode creates a standard Bode plot and independent plots of
AR and phase angle from the data contained in the datafile freqg.dat in the format freq,ReG(j ),ImG(j ),AR,Phase(degs). The program chebode2i is similar to chebode, but instead of reading the file
freqg.dat, chebode2i reads two files. The first file is plotted as solid lines, the second as dashed lines. ω ω NOTE: A limitation when using pulse testing with a rectangular pulse: the useful information will be at
frequencies less than ωmax, pulse ≤ 2π radians
, where tw is the duration of the pulse = Tu in pulse testing.
tw time Suggested "steps" to interpret frequency response data of stable linear systems: φ Yes  approach a finite limit as ω 1 Does phase angle goes to ∞ ? then system has no time delay, otherwise some time delay exists. 2. Does the amplitude ratio (AR) approach a constant value asymptote at low frequencies ?
Yes  then the system has a finite, nonzero gain Kp with an absolute value equal to this limit
of AR at low frequencies. No  If the slope of the log AR versus log plot at low frequencies has a constant slope
equal to n (no upper limit to AR as decreases) then there are n poles of the
process transfer function located at the origin of the complex plane. Similarly,
if this slope is equal to +m, then there are m zeros at the origin. ω ω 3. Look for changes in the slope of asymptotic lines which describe the AR part of the Bode plot.
Whenever the slope increases by +1, the presence of a zero (either LHP or RHP) is indicated.
Similarly whenever the slope decreases by 1, the presence of a pole (either RHP or LHP) has
been detected. The location of these zeros and poles are at 1 or +1 times where the
"corner" or change in the slope of the asymptote is determined. To determine whether the pole
or zero is in the LHP or RHP, look at the part of the Bode plot. High freq. contribution of a
pole or zero does not depend on LHP or RHP location. ω φ 4. To determine time delay ( ), first find poles and zeros. Then at highest frequency ( max, data ) in the
data, find the measured phase angle ( φmeasured in radians). Calculate the phase angle at this ω θ frequency for each pole and zero and add them together ( φpoles + zeros in radians). Then the time
= ( φmeasured − φpoles + zeros )/( max, data ). ω θ delay is just bode_fit 2/8 AR slope, low > high ω PA at "high" ω LHP pole 0 > 1 0o 90o RHP pole 0 > 1 180o 90o LHP zero 0 > +1 0o +90o RHP zero
4. PA at "low" ω 0 > +1 0o 90o Examples discussed in class:
LHP pole : G1(s) =
RHP pole : G2(s) =
LHP zero : G3(s) = Zero at origin : G6(s) = 5
s (2s ( 10 s 1) 2s
1) (1 s 1 1s
1
1s 1 1s 1
1 1s
1 RHP zero : G4(s) = Pole at origin : G5(s) = 1 1 K
ω NOTE: AR → 1) as ω → 0 NOTE: AR →K ω as ω → 0 Underdamped with fast zero : G7(s) =
Underdamped with slow zero : G8(s) = Overdamped with zero to left of poles : G9(s) = Overdamped with zero between poles : G10(s) = Overdamped with zero to right of poles : G11(s) = 5 ( 0.1 s
s 2 1)
1 s 5 ( 10 s
s 2 1) s 1 ( 0.1 s 1 )
( 10 s ) ( 1 s 1 )
(s 1)
( 10 s 1) ( 0.1 s (1s ( 10 s 1 )
1 ) ( 0.1 s 1) 1) bode_fit 3/8 Amplitude Ratio 10 10 10 G1 LHP pole, G = 1/(s+1) 0 1 2 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 Phase (deg) 0 30 60 90
2
10 Amplitude Ratio 10 G2 10 10 10 1 0 10
Frequency (rad/min) 10 1 10 2 RHP pole, G = 1/(s1) 0 1 2 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 Phase (deg) 90 120 150 180
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 bode_fit 4/8 Amplitude Ratio 10 10 LHP zero, G = (s+1) 2 1 0 10
2
10 G3 10 1 0 10
Frequency (rad/min) 10 1 10 2
Phase (deg) 90 60 30 0
2
10 Amplitude Ratio 10 10 10 1 0 10
Frequency (rad/min) 10 1 10 2 RHP zero, G = (s+1) 2 1 0 G4 10
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 Phase (deg) 0 30 60 90
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 bode_fit 5/8 Pole at origin, G = 5/(2s2+s) Amplitude Ratio 10 10 10 10 G5 2 0 2 4 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 Phase (deg) 90 120 150 180
2
10 Amplitude Ratio 10 10 10 1 0 10
Frequency (rad/min) 10 1 10 2 Zero at origin, G = (2s)/(10s2+11s+1) 0 1 2 3 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 90 45
Phase (deg) G6 10 10 0 45 90
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 bode_fit 6/8 10 Amplitude Ratio 10 10 10 10 G7 Underdamped with "fast" zero, G = (0.5s+5)/(s2+s+1) 1 0 1 2 3 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 0 Phase (deg) 45 90 135 180
2
10 Amplitude Ratio 10 10 10 1 0 10
Frequency (rad/min) 10 1 10 2 Underdamped with "slow" zero, G = (50s+5)/(s2+s+1) 2 1 0 1 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 90 45
Phase (deg) G8 10 10 0 45 90
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 bode_fit 7/8 10 Amplitude Ratio 10 10 10 10 G9 Zero to the left of poles, G = (0.1s+1)/(10s2+11s+1) 0 1 2 3 4 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 0 Phase (deg) 45 90 135 180
2
10 Amplitude Ratio 10 10 10 1 0 10
Frequency (rad/min) 10 1 10 2 Zero between poles, G = (s+1)/(s2+10.1s+1) 0 1 2 3 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 0 Phase (deg) G10 10 10 30 60 90
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 bode_fit 8/8 Amplitude Ratio 10 10 0 1 10 2 10 1 0 10
Frequency (rad/min) 10 1 10 2 90 45
Phase (deg) G11 10 Zero to the right of poles, G = (10s+1)/(0.1s2+1.1s+1) 1 0 45 90
2
10 10 1 0 10
Frequency (rad/min) 10 1 10 2 Page 1 of 3 Fitting a firstoversecond order overdamped G(s) Bode Plot: chebodei using freq5.dat 1 Amplitude Ratio 10 0 10 1 10 2 10 1 0 10 10 1 2 10
Frequency (rad/min) 3 10 10 30 60 90
1
10 0 10 1 2 10
Frequency (rad/min) For an estimate with correct gain and slower time constant: G ( s) = 5
1s + 1 10 1 = 1.0 min. Double Bode Plot: chebode2i, solid=freq5.dat dash=try1.dat 1 10 Amplitude Ratio 3 10 τ Phase (deg) 0 0 10 1 10 2 10 1 10 0 10 1 10
Frequency (rad/min) 2 10 3 10 Phase (deg) 0 30 60 90
1
10 0 10 1 10
Frequency (rad/min) 2 10 3 10 ω To find time constants for poles and zeros, start to examine the Bode plot at low
values, first gain ( K = 5 ) then look for trends in the AR and phase angle plots. Page 2 of 3 Based on the PA shape, the next change corresponds to adding a zero to bring up the
phase angle, try: z = 0.25 min., 1 = 1.0 min. (maybe too much, i.e. phase angle up too
much). τ τ G( s) = Double Bode Plot: chebode2i, solid=freq5.dat dash=try2.dat 1 10 Amplitude Ratio 5(0.25s + 1)
s +1 0 10 1 10 2 10 1 0 10 1 10 10
Frequency (rad/min) 2 3 10 10 Phase (deg) 0 30 60 90
1
10 0 1 10 10
Frequency (rad/min) 2 3 10 10 Adding a second pole at higher frequency gives the correct shape, but not quite a final fit:
2 = 0.1, z = 0.25, 1 = 1.0
5(0.25s + 1)
G (s) =
( s + 1)(0.1s + 1) τ τ Double Bode Plot: chebode2i, solid=freq5.dat dash=try3.dat 1 Amplitude Ratio 10 0 10 1 10 2 10 1 10 0 10 1 10
Frequency (rad/min) 2 10 3 10 Phase (deg) 0 30 60 90
1
10 0 10 1 10
Frequency (rad/min) 2 10 3 10 τ Page 3 of 3 = 0.1, z = 0.2, τ 5(0.2s + 1)
( s + 1)(0.1s + 1) Double Bode Plot: chebode2i, solid=freq5.dat dash=try4.dat 1 10 Amplitude Ratio τ G (s) = 2 τ Decreasing the time constant of the zero from 0.25 to 0.2, so that
1 = 1.0 , all in min., yields the correct final result. 0 10 1 10 2 10 1 10 0 10 1 10
Frequency (rad/min) 2 10 3 10 Phase (deg) 0 30 60 90
1
10 0 10 1 10
Frequency (rad/min) 2 10 3 10 In general, start with lower frequencies (poles/zeros nearer the origin) and work toward
matching at higher frequencies. An alternative is to write equations for AR or PA (phase
angle) in terms of the unknowns. Here we have two real pole time constants and one real
zero time constant, so we need 3 independent equations in the three unknowns to solve to
find these. The equation approach uses 3 specific frequencies for fitting whereas the
shape fitting above utilizes all frequencies in the fitting process. ...
View
Full Document
 Winter '08
 Staff
 Nyquist plot, (rad/min)

Click to edit the document details