blob: f460b6bfbbf04b6a7128e4b557b7c80b2dbf69e8 (
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 8.13
clear;
clc;
a0=10^5;
f1=1*10^3;
f2=100*10^3;
f3=5*10^6;
A0=20;
R1=1.05*10^3;
R2=20*10^3;
b0=1/(1+(R2/R1));
a0b0=a0*b0;
f=700*10^3;
T=a0b0/[(1+((%i*f)/f1))*(1+((%i*f)/f2))*(1+((%i*f)/f3))];
Tang=-(180-(180/%pi)*atan(imag(T)/real(T)));
PM=180+Tang;
printf("(a) PM=%.1f degrees indicating a circuit in bad need of compensation.",PM);
amod=sqrt(20);
aang=-192.3;
fx=1.46*10^6;
Cf=sqrt(1+(R2/R1))/(2*%pi*R2*fx);
PM1=180+aang-(90-(2*(180/%pi)*atan(sqrt(1+(R2/R1)))));
printf("\n\n(b) PM after compensation=%.1f degrees",PM1);
f3dB=(1/(2*%pi*R2*Cf))+1000;
printf("\n\n(c) f-3dB=%.f kHz",f3dB*10^(-3));
|