summaryrefslogtreecommitdiff
path: root/3432/CH6/EX6.7/Ex6_7.sce
blob: 0ea6d5b7fd8a29f8c21d4add7b20e72d58457f77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//Example 6.7
//Computation of velocity error constant Kv from Bode plot

xdel(winsid())//close all graphics Windows
clear;
clc;
//------------------------------------------------------------------
//System transfer function and its bode plot
K=10;
s=poly(0,'s');
Gs=syslin('c',(K)/(s*(s+1)));
//The bode plot of the system

fmin=0.01/2/%pi; //mininmum frq. in Hz for response (0.1 rad/sec)
fmax=10/2/%pi; //maximum frq. in Hz for response (100 read/sec)
//------------------------------------------------------------------
//Bode plot for frequency in Hz (scilab ver. 5.4.1)
//bode(g,fmin,fmax); 
//OR 
//Bode plot for frequency in rad/sec (scilab ver. 5.5.1)
bode(Gs,fmin,fmax,0.01,"rad")
title(['Determination of Kv from the Bode plot for the system',...
'$10/[s(s+1)]$'],'fontsize',3)
//choose frequency (rad) and magnitude from bode plot and calculate Kv
//Here at w=0.01, magngitude in db is M=60 
//i.e actual magnitude of the reponse is |A|=10^(M/20)
w=0.01;      // in rad
M=60         // in db
A=10^(M/20)  //actual gain

//Velocity error constant Kv=w*|A(w)|
Kv=w*A;
disp(Kv,"The Velocity error Constant from bode plot is: ")
//------------------------------------------------------------------
// Computation of the Kv
[frq repf]=repfreq(Gs,fmin,fmax);
//frq in Hz, repf is freq. response in rectangular form.  
//From bode plot, Kv=w*|A(w)|
//i.e Kv=2*pi*f*|A(2*pi*f)|

idx=1;//selecting the frequency and response at that frequency from arrays
Kv=2*%pi*frq(idx)*abs(repf(idx))
disp(Kv,"The Velocity error Constant is computed at 0.0015915 Hz (0.01 rad/sec) : ")
//------------------------------------------------------------------