Other Parts Discussed in Thread: TPS61175,
Tool/software:
I am following application report SLVA452 ( Compensating the Current-Mode-Controlled Boost Converter) to understand how to determine the compensation network values. The example provided is for TPS61175 but most concepts are similar.
I created an Octave script to perform the analysis. The results I obtained are identical or very close of those of the example. This is the gain of the frequency response, which closely matches the gain on Figure 3 of the app. report:

I copied the script and made adjusts to calculate the compensation network for TPS61178. Below an excerpt of the script with the input parameters:
Vin = 10; % Worst case (Vin min) Vout = 19; % Output voltage Iout = 1.6; % Output current Eff = 0.97; % Estimated efficiency fSW = 636000; % Switching frequency L = 5.6e-6; % Inductor Cout = 5e-5; % Total output capacitance Resr = 3e-3; % Output capacitance ESR Rdson_ls = 0.022; % From data sheet, Fig 11, worst case Rsense = 0.083; % From data sheet, typical value D = 1-Vin/Vout; % Duty cycle Rout = Vout/Iout; % Output equivalent resistance Sn = Rsense*Vin/L; Se = 0.06*Rdson_ls*fSW/(1-D);
Notice Se uses the Eq. 21 of the data sheet:

Here the graph of the gain:

I found that peak at 300kHz suspicious. I then noticed Sn > Se:

Notice values of output capacitance and inductance ( 5.6uH and 50uF) are typical for Vin, Vout, Iout, swiching frequency and ripple current of 30% (ish).
I made Se = 5*Sn just to see what happens and this is what I get:

For comparison, this is the bode plot of He(s) for TPS61175...

..., the bode plot of He(s) for TPS61178 with Sn > Se...

..., and the bode plot of He(se) for TPS61178 with Se = 5*Sn:

This is the complete Octave script for TPS61178 (it may work with Matlab but I am not sure):
% Calculate gain of power stage o TPS61178
clear all
Vin = 10; % Worst case (Vin min)
Vout = 19; % Output voltage
Iout = 1.6; % Output current
Eff = 0.97; % Estimated efficiency
fSW = 636000; % Switching frequency
L = 5.6e-6; % Inductor
Cout = 5e-5; % Total output capacitance
Resr = 3e-3; % Output capacitance ESR
Rdson_ls = 0.022; % From data sheet, Fig 11, worst case
Rsense = 0.083; % From data sheet, typical value
D = 1-Vin/Vout; % Duty cycle
Rout = Vout/Iout; % Output equivalent resistance
Sn = Rsense*Vin/L;
Se = 0.06*Rdson_ls*fSW/(1-D);
%Se = Sn*5;
fP = 2/(2*pi*Rout*Cout);
fESR = 1/(2*pi*Resr*Cout);
fRHP = Rout*(1-D)^2/(2*pi*L);
s = tf('s');
He = 1/(1+ s*((1+Se/Sn)*(1-D)-0.5)/fSW + s^2/(pi*fSW)^2);
G0 = Rout*(1-D)/(2*Rsense);
Zesr = 1+s/(2*pi*fESR);
Zrhp = 1-s/(2*pi*fRHP);
Pout = 1+s/(2*pi*fP);
%Gps = G0 * He * Zesr * Zrhp / Pout;
Gps = G0 * He * Zrhp / Pout;
FMIN = 10;
FMAX = 1000000;
WRANGE = {FMIN*2*pi, FMAX*2*pi};
[mag, w] = bodemag(Gps, WRANGE);
f = w/(2*pi);
magdb = 20*log10(mag);
semilogx(f,magdb)
grid on
title('Gain of the frequency response with TPS61178')
xlabel('Frequency (Hz)')
ylabel('Power stage gain (dB)')
The script requires the control package (pkg load control) to work.


