summaryrefslogtreecommitdiff
path: root/257/CH11/EX11.7/example_11_7.sce
diff options
context:
space:
mode:
Diffstat (limited to '257/CH11/EX11.7/example_11_7.sce')
-rw-r--r--257/CH11/EX11.7/example_11_7.sce28
1 files changed, 28 insertions, 0 deletions
diff --git a/257/CH11/EX11.7/example_11_7.sce b/257/CH11/EX11.7/example_11_7.sce
new file mode 100644
index 000000000..858626f39
--- /dev/null
+++ b/257/CH11/EX11.7/example_11_7.sce
@@ -0,0 +1,28 @@
+s=poly(0,'s');
+F=syslin('c',[1/((1+0.5*s)*s*(s*0.2+1))])
+
+fmin=0.1; //Min freq in Hz
+fmax=20; //Max freq in Hz
+
+scf(1);clf;
+bode(F,fmin,fmax); //Plots frequency response of open-loop system in Bode diagram
+disp("without including k")
+[GainMargin,freqGM]=g_margin(F) //Calculates gain margin [dB] and corresponding frequency [Hz]
+disp(GainMargin,"GM=")
+disp(freqGM*2*3.14,"omegaPC=")
+
+[PhaseMargin,freqPM]=p_margin(F) //Calculates phase [deg] and corresponding freq [Hz] of phase margin
+disp(PhaseMargin,"PM=")
+disp(freqPM*2*3.14,"omegaGC")
+
+show_margins(F) //display gain and phase margin and associated crossover frequencies
+
+// TO FIND K FOR GM=6dB
+
+k= 10^(6/20) //20*logk=6
+disp(k,"k for GM=6 is")
+
+// TO FIND K FOR PM=25 degrees
+
+k= 10^(6/20) //20*logk=6
+disp(k,"k for PM=25 degrees is") \ No newline at end of file