experimental drawing of nyquist and bode...
TRANSCRIPT
Experimental drawing of Nyquist and Bode diagrams
1 Theoretical aspects
Frequency response i.e. can be plotted in several ways; two of them are (1) as a polar plot, where the phasor length is the magnitude and the phasor angle is the phase known as Nyquist plot; and (2) as a function of frequency, with separate magnitude and phase plots, called Bode plots. [Nice]
Nyquist diagram is a complete theoretical and graphical tool, especially used in stability analysis, being less intuitive than other methods studied previously like root locus. Bode plots seem particularly familiar because of their common use for representing frequency response data for such consumer items as audio systems. [Westphal]
2 Measurement setup
Two ways are recommended in this lab to evaluate and make experimental investigation of the magnitude and phase frequency response of OpAmp based circuits.
2.1 Practical measurements
In figure 1 and 2, a real test setup is presented. Special attention must be paid to the use of ELAB-080. The TI board ASLkit offers the possibility of implementing simple analog circuits (figure 2). This part presumes as known the use of:
- Signal generators - TL082 general purpose Op Amps - Oscilloscopes
Figure 1 Experiment setup (Signal generator, circuit, oscilloscope) for frequency response measurements
Figure 2 A simple first order element on the ASL Kit (Texas Instruments)
2.2 Numerical experiments
Using the Matlab/ Simulink/ Simscape simulator, the frequency response measuremet can be accomplished if using the Simulink model in figure 3.
This part involves good knowledges on how to configure the entire workspace in Matlab.
Figure 3 OpAmp based circuit performed in Matlab/Simulink, Simscape
3 Solved problem
3.1 Drawing Nyquist diagram from data
For the circuit in figure 1, the next steps are required to complete a short report on how obtain the Nyquist diagram:
1. Open the Matlab environment with current folder on “…/desktop/Lab3”
2. Open the file “circuit1.slx” and sketch the circuit on your notebook (maintain only
the electronic components: Op-Amp, R and C) indicating the input and the output
signals by u and y.
3. Open the companion file “script_circuit1.m” and briefly comment each command
(in case one function is unknown, open the Matlab help).
Figure 4 Oscilloscope capture with the circuit response to an input frequency of 159 Hz [channel A (red) –
input sinewave, channel B(blue)- the steady state response]
Figure 5 Matlab Simulation
4. Fill in the next table for a given range of frequencies around the inverse of circuit
time constant ( )
a. Measure (evaluate) the amplitude of the output signal in steady state
(in figure 4, the output amplitude is 0.69 V),( in figure 5, the
amplitude results more accurately, in 0.6848 V);
b. The phase shift is measured in seconds underlining once again that the
interest is over the steady state, ( in figure 4, 18.834ms-
16.560ms=2.274ms),( in figure 5, 0.05655-0.05416=0.00239 seconds);
c. If using numerical simulations, than use the next structure for the table
you have to fill in:
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
X: 0.05579Y: 0.6848
Raspunsul circuitului la semnal u(t)=sin(1000t)
X: 0.05655Y: 4.901e-15
X: 0.05416Y: 0.000212
intrare
iesire
No. frequency (rad/sec)
frequency (Hz)
tu (sec.) ty (sec) [tu-ty]
… 6 1000 159.2 0.6848 0.05655 0.05416 0.00239 129.1447
…
d. The values for amplitude and phase shift (in sec.) are recorded in the
table from your notebooks and manually typed in a new section in the
current script.
e. The rest of computations (like transforming the phase shift into radians)
are strongly recommended to be made using Matlab.
No. frequency (rad/sec)
frequency (Hz)
1 100 15.9 1 31.778 ms 182.0745
2 143 22.7 0.97 20.457 ms 167.4428
3 200 31.8 0.96 14.49 ms 166.0432
4 250 39.8 0.95 11.221 ms 160.7290
5 500 79.6 0.88 5.114 ms 146.5053
6 1000 ( ) 159.2 0.69 2.274 ms 129.1447
7 2000 318.3 0.44 973.188 us 111.5191
8 4000 636.6 0.22 456.8 us 104.6908
9 5000 795.8 0.18 347.567 us 99.5706
10 7000 1114.1 0.13 243.297 us 97.5792
11 10000 1591.5 0.12 152.92 us 87.6167
5. Plot the 11 measured points using polar representation if considering the
magnitude in and the argument in considered in degrees. After
connecting by straight lines all the eleven points, the approximation of the
Nyquist diagram will result.
6. Use the next script to compare the ideal shape and the one approximated by
points.
%% comparatie cu diagrama obtinuta in Matlab H=tf(-R2/R1,[C1*R2 1]); nyquist(H); hold % click dreapta pe spatiu alb si debifati "Negative
frequencies" A_ss=[1,0.97,0.96,0.95,0.88,0.69,0.44,0.22,0.18,0.13,0.12]; Phi_ss=[182.0745,
167.4428,166.0432,160.7290,146.5053,129.1447,111.5191,104.690
8,99.5706,97.5792,87.6167]; Phi_ss_rad=deg2rad(Phi_ss); [re_m,im_m]=pol2cart(Phi_ss_rad,A_ss); plot(re_m,im_m,'*r');hold;shg legend('diagrama bazata pe model','diagrama bazata pe
masuratori')
Figure 6 Nyquist diagram (approximated by measurements vs. the ideal one in Matlab)
3.1.1 Drawing Bode diagrams 7. Fill in the next tabel
Nr. măs.
Pulsaţia semnalului de intrare
20*lg( ) ]
1 100
2 143
3 200
4 250
5 500
6 1000 ( )
7 2000
8 4000
9 5000
10 7000
11 10000
8. Plot in logarithmic scale the magnitude vs. the frequencies (magnitude
characteristic).
9. Plot in logarithmic scale the phase shift vs. the frequencies (phase characteristic).
10. Use the next script (comment the commands in English) to make the comparison
between the approximated and the ideal diagram.
%% diagrama Bode close all H=tf(-R2/R1,[C1*R2 1]); A_ss=[1,0.97,0.96,0.95,0.88,0.69,0.44,0.22,0.18,0.13,0.12]; Phi_ss=[182.0745,
167.4428,166.0432,160.7290,146.5053,129.1447,111.5191,104.690
8,99.5706,97.5792,87.6167]; % se transforma modulul in decibeli A_ss_dB=20*log10(A_ss); % faza ramane in grade
% vectorul cu pulsatiile wv=[100,143,200,250,500,1000,2000,4000,5000,7000,10000];
-1.2 -1 -0.8 -0.6 -0.4 -0.2 0
-0.4
-0.2
0
0.2
0.4
0.6
Nyquist Diagram
Real Axis
Imag
inary
Axis
diagrama bazata pe model
diagrama bazata pe masuratori
% vor fi 2 caracteristici separate
subplot(211);title('Caracteristca de modul') semilogx(wv,A_ss_dB,'r*-');grid;hold
subplot(212);title('Caracteristca de faza') semilogx(wv,Phi_ss,'r*-');grid;shg
% comparatie cu caracteristica ideala hold wv_i=logspace(1,5,100);% generare pulsatii in scara
logaritmica [modul_i,faza_i]=bode(H,wv_i); modul_i=squeeze(modul_i);faza_i=squeeze(faza_i); subplot(211);semilogx(wv_i,20*log10(modul_i)); legend('masurata','simulata'); subplot(212);semilogx(wv_i,faza_i); legend('masurata','simulata'); hold
Figure 7 Bode Diagram (measured vs. the ideal based on transfer function)
3.2 Questions
1. Indicate the phase shift and the amplitude for frequencies 100 lower/higher than the cutting frequency ( ).
2. Describe the difference between linspace and logspace.
3. Describe the difference between plot and semilogx.
4 Problems
Follow all the steps in section 3 in order to draw the experimental Nyquist and Bode diagrams for the circuit in figure 8 [R1= 1kΩ, R2= 1kΩ, R3==1kΩ, R4=2.2kΩ, R5= 1kΩ, C1= 1µF].
102
103
104
105
-35-30-25-20-15-10
-505
101
102
103
104
105
80
100
120
140
160
180
200
masurata
simulata
masurata
simulata