This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS54331: 计算伯德图与WEBENCH不一致

Part Number: TPS54331

我通过WEBENCH计算电路参数并仿真得到以下伯德图

将WEBENCH给出的电路参数带入传递函数用MATLAB画出下面伯德图(蓝色为主功率传函,黄色为补偿后闭环传函),其截至频率只有6.5KHZ,不是仿真中的19KHZ;相位图线完全不一致。

我是按照以下TI教程进行计算,由于占空比小于0.5未考虑斜率补偿。

以下是MATLAB代码

clear all
syms s Avi ESR Co Ro
syms Rz Cz Cp Rup Rlow gm
wz=1/(ESR*Co)
wp=1/((Ro+ESR)*Co)
Goc=Avi*Ro*(1+s/wz)/(1+s/wp)

SYMS1=[Avi ESR Co Ro]  %添加上参数K
SYMS2=[12 3E-3 47E-6 5/1.5]
Goc2=subs(Goc,SYMS1,SYMS2)

wcz=1/(Rz*Cz)
wcp=(Cz+Cp)/(Rz*Cz*Cp)
Gc0=-Rlow*Rup*gm*Cz/((Rlow+Rup)*(Cz+Cp))
Gc=Gc0*(1+wcz/s)/(1+s/wcp)

SYMS3=[Rz Cz Cp Rup Rlow gm]  %添加上参数K
SYMS4=[23.2E3 2700E-12 10E-12 10.2E3 1.96E3 92E-6]
Gc2=subs(Gc,SYMS3,SYMS4)


P = bodeoptions;
P.Grid='on';
P.PhaseVisible = 'on';
P.FreqUnits = 'Hz';
%P.PhaseWrapping='on';
P.XLim={[10,1E8]};
P.XLabel.FontSize=14;
P.YLabel.FontSize=14;
P.TickLabel.FontSize=14;
P.Title.String='';


[num,den]=numden(Goc2)   %提取分子分母
Goc2=tf(sym2poly(num),sym2poly(den))   %从符号中提取多项式系数
bode(Goc2,P); 

[num,den]=numden(Gc2)   %提取分子分母
Gc2=tf(sym2poly(num),sym2poly(den))   %从符号中提取多项式系数
bode(Gc2,P);

bode(Goc2,P)
hold on
bode(Goc2*Gc2,P)
hold off

请问我哪里计算错了?或是传递函数不对?