Buck, Boost and Buck-Boost Design, Small-Signal Modeling and Control with MATLAB, Simulink, PLECS and LTspice