为了方便设计补偿器,用matlab代码自动计算参数。
一、Type II型
close all; clear all; clc;
Vo = 5.0;
Vref = 1.0;
Ibias = 0.001;
fp0 = 500;
fp1 = 2000;
fz1 = 300;
Rbias = Vref / Ibias;
R2 = Rbias * (Vo-Vref) / Vref;
C2 = fz1/(2*pi*fp0*fp1*R2);
C1 = (1/(2*pi*fp0*R2)) * (1 - (fz1/fp1));
R1 = 1 / (2*pi*fz1*C1);
fprintf('Rbias = %.2f k\n',Rbias/10^3)
fprintf('R1 = %.2f k\n',R1/10^3)
fprintf('R2 = %.2f k\n',R2/10^3)
fprintf('C1 = %.2f pF\n',C1*10^9)
fprintf('C2 = %.2f pF\n',C2*10^9)
二、Type III型
close all; clear all; clc;
Vo = 5.0;
Vref = 1.0;
Ibias = 0.001;
fp0 = 500;
fp1 = 2000;
fp2 = 5300;
fz1 = 300;
fz2 = 1300;
Rbias = Vref / Ibias;
R2 = Rbias * (Vo-Vref) / Vref;
R1 = R2 * fz2 / (fp1 - fz2);
C1 = 1/(2*pi*fp1*R1);
C2 = fz1/(2*pi*fp0*fp2*R2);
C3 = 1/(2*pi*fp0*R2) - C2;
R3 = 1/(2*pi*fz1*C3);
fprintf('Rbias = %.2f k\n',Rbias/10^3)
fprintf('R1 = %.2f k\n',R1/10^3)
fprintf('R2 = %.2f k\n',R2/10^3)
fprintf('R3 = %.2f k\n',R3/10^3)
fprintf('C1 = %.2f pF\n',C1*10^9)
fprintf('C2 = %.2f pF\n',C2*10^9)
fprintf('C3 = %.2f pF\n',C3*10^9)