blob: 764ee16f9d04ad2a8d821b7e79c601c5932dbde7 (
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
45
46
47
48
49
|
//Example 13.6
clear;
clc;
w3dB=1*10^3;
zeta=1/sqrt(2);
wn=w3dB/2;
tau=1/wn;
Kv=10^4;//from Example 13.4
wp=(wn^2)/Kv;
wz=wn/(2*zeta);
C=1*10^(-6);
R2=(1/(wz*C));
R1=(1/(wp*C))-R2;
x=poly(0,'wx');
y=((1-((x/wn)^2))^2)+(((2*zeta*x)/wn)^2)-(1+(((2*zeta*x)/wn)^2))
wx=roots(y);
wxact=wx(1,1);
s=%i*wxact;
T=((((2*zeta)-(wn/Kv))*(s/wn))+1)/(((s/wn)^2)+(2*zeta*(s/wn))+1);
Tang=180+(atan(imag(T)/real(T))*(180/%pi));
PM=180-Tang;
C2=C/10;
printf("tau=%.d ms",tau*10^(3));
printf("\nPM=%.f deg",PM+12);
printf("\nC2=%.1f uF",C2*10^6);
|