Boost Converter Example Derivation: Average Model & Small Signal Circuits → State Space, Sampled Time, and Discrete Time Models. Linearized Waveforms Boost Converter Interval II: D' Interval I: D Averaged, Small Signal Circuit Description D (Interval I) 𝑣𝐿 (𝑡) = 𝑉𝑖𝑛 − 𝑖𝐿 (𝑡)𝑟𝐿 D' (Interval II) 𝑣𝐿 (𝑡) = 𝑉𝑖𝑛 − 𝑖𝐿 (𝑡)𝑟𝐿 − 𝑉𝑜𝑢𝑡 | 𝑖𝐶 (𝑡) = −𝑉𝑜𝑢𝑡 /𝑅𝑜𝑢𝑡 | 𝑖𝐶 (𝑡) = 𝑖𝐿 (𝑡) − 𝑉𝑜𝑢𝑡 /𝑅𝑜𝑢𝑡 Cap. Charge & Volt. Second Balancing Equations: 𝐿〈 𝑑𝑖𝐿 (𝑡) 𝑑𝑡 〉 = 𝐷(𝑉𝑖𝑛 − 𝑖𝐿 (𝑡)𝑟𝐿 ) + 𝐷′(𝑉𝑖𝑛 −𝑖𝐿 (𝑡)𝑟𝐿 − 𝑉𝑜𝑢𝑡 ) 𝑑𝑣𝐶 (𝑡) 𝑉𝑜𝑢𝑡 𝑉𝑜𝑢𝑡 〉 = 𝐷 (− ) + 𝐷′ (𝑖𝐿 (𝑡) − ) 𝑑𝑡 𝑅𝑜𝑢𝑡 𝑅𝑜𝑢𝑡 Implementation Notes: Insert Small Signal “hat” Terms: 𝑥(𝑡) = 𝑋 + 𝑥̂ - Eliminate 2nd order terms: 𝑥̂ ⋅ 𝑥̂ 𝐶〈 𝑑(𝐼𝐿 + 𝑖̂𝐿 ) 𝐿 = (𝐷 + 𝑑̂)(𝑉𝑖𝑛 + 𝑣̂𝑖𝑛 − (𝐼𝐿 + 𝑖̂𝐿 )𝑟𝐿 ) + 𝑑𝑡 - The “(t)” is dropped for notation simplicity. - Separate 1st order (𝑥̂ ⋅ 𝑋) and DC (𝑋) terms. (1 − (𝐷 + 𝑑̂ ))(𝑉𝑖𝑛 + 𝑣̂𝑖𝑛 − (𝐼𝐿 + 𝑖̂𝐿 )𝑟𝐿 − (𝑉𝑜𝑢𝑡 + 𝑣̂𝑜𝑢𝑡 )) → 𝐿 𝑑𝑖̂𝐿 = 𝑑̂𝑉𝑖𝑛 − 𝑑̂ 𝐼𝐿 𝑟𝐿 + 𝐷𝑣̂𝑖𝑛 − 𝐷𝑖̂𝐿 𝑟𝐿 + 𝑣̂𝑖𝑛 − 𝑖̂𝐿 𝑟𝐿 − 𝑣̂𝑜𝑢𝑡 − 𝑑̂𝑉𝑖𝑛 + 𝑑̂𝐼𝐿 𝑟𝐿 + 𝑑̂𝑉𝑜𝑢𝑡 − 𝐷𝑣̂𝑖𝑛 + 𝐷𝑖̂𝐿 𝑟𝐿 + 𝐷𝑣̂𝑜𝑢𝑡 → 𝑑𝑡 𝐿 𝑑𝑖̂𝐿 = 𝑣̂𝑖𝑛 − 𝑖̂𝐿 𝑟𝐿 − 𝑣̂𝑜𝑢𝑡 + 𝑑̂ 𝑉𝑜𝑢𝑡 + 𝐷𝑣̂𝑜𝑢𝑡 → 𝑑𝑡 𝐿 𝑑𝑖̂𝐿 = 𝑣̂𝑖𝑛 − 𝑖̂𝐿 𝑟𝐿 + 𝑑̂𝑉𝑜𝑢𝑡 − 𝐷′𝑣̂𝑜𝑢𝑡 𝑑𝑡 0 = 𝑉𝑖𝑛 − 𝐼𝐿 𝑟𝐿 − 𝐷′𝑉𝑜𝑢𝑡 𝐶 𝑑(𝑉𝐶 +𝑣̂𝐶 ) 𝑑𝑡 𝑉 Small Signal Equation Averaged Steady State DC Equation 𝑣̂ 𝑉 𝑣̂ = (𝐷 + 𝑑̂) (− 𝑅𝑜𝑢𝑡 − 𝑅𝑜𝑢𝑡 ) + (1 − 𝐷 − 𝑑̂ )(𝐼𝐿 + 𝑖̂𝐿 − 𝑅𝑜𝑢𝑡 − 𝑅𝑜𝑢𝑡 ) → 𝑜𝑢𝑡 𝐶 𝐶 𝑜𝑢𝑡 𝑜𝑢𝑡 𝑜𝑢𝑡 𝑑𝑣̂𝐶 𝐷𝑣̂𝑜𝑢𝑡 𝑑̂𝑉𝑜𝑢𝑡 𝑣̂𝑜𝑢𝑡 𝐷𝑣̂𝑜𝑢𝑡 𝑑̂ 𝑉𝑜𝑢𝑡 =− − + 𝑖̂𝐿 − − 𝐷𝑖̂𝐿 + − 𝑑̂ 𝐼𝐿 + → 𝑑𝑡 𝑅𝑜𝑢𝑡 𝑅𝑜𝑢𝑡 𝑅𝑜𝑢𝑡 𝑅𝑜𝑢𝑡 𝑅𝑜𝑢𝑡 𝑑𝑣̂𝐶 𝑑𝑡 𝑣̂ = 𝐷′ 𝑖̂𝐿 − 𝑅𝑜𝑢𝑡 − 𝑑̂ 𝐼𝐿 0=− 𝑜𝑢𝑡 𝑉𝑜𝑢𝑡 + 𝐷′𝐼𝐿 𝑅𝑜𝑢𝑡 Small Signal Equation Averaged Steady State DC Equation Implementation Note: - Use each small signal equation to construct equivalent circuits. - Combine the circuits, using duty cycle as a “transformer.” - Reduce the circuit by reflecting impedances through the transformation ratio (here: D') - Find transfer functions by zeroing sources (superposition), calculated below. Find Control to Output Transfer Function, 𝐺𝑣𝑑 (𝑠)|𝑣̂𝑖𝑛 =0 = 𝑉𝑜𝑢𝑡 = 0, 𝑣̂𝑖𝑛 = 0 𝑣̂𝑜𝑢𝑡 = − (( 𝑣̂𝑜𝑢𝑡 𝑑̂ 𝑟𝐿 + 𝑠𝐿 1 ) || ||𝑅 ) 𝑑̂ 𝐼𝐿 𝐷′2 𝑠𝐶 𝑜𝑢𝑡 𝐼𝐿 = 0, 𝑣̂𝑖𝑛 = 0 𝑣̂𝑜𝑢𝑡 1 ||𝑅𝑜𝑢𝑡 𝑑̂𝑉𝑜𝑢𝑡 𝑠𝐶 ) =( 𝑟𝐿 + 𝑠𝐿 1 𝐷′ 2 + 𝑠𝐶 ||𝑅𝑜𝑢𝑡 ′ 𝐷 Control (d) to Output (vc) Transfer Function: Add the terms and simplify 𝐺𝑣𝑑 (𝑠) = 𝐼𝐿 𝑟𝐿 𝑅𝑜𝑢𝑡 − 𝑠𝐼𝐿 𝐿𝑅𝑜𝑢𝑡 − 𝑅𝑜𝑢𝑡 𝐷′𝑉𝑜𝑢𝑡 𝑅𝑜𝑢𝑡 𝐷′2 + 𝑟𝐿 + 𝑠(𝐿 + 𝑟𝐿 𝐶𝑅𝑜𝑢𝑡 ) + 𝑠 2 𝐶𝐿𝑅𝑜𝑢𝑡 State Space Description Fundamental State Space Equations: 𝑑𝒙(𝑡) 𝑑𝑡 = 𝒙′ (𝑡) = 𝑨𝒙(𝑡) + 𝑩𝒖(𝑡) and 𝒚(𝑡) = 𝑪𝒙(𝑡) + 𝑫𝒖(𝑡) 𝒙(𝑡) : state vector – typically comprised of “history dependent” signals (capacitor voltages, inductor currents). 𝒙′ (𝑡) : derivative of state vector – each element of 𝒙(𝑡) is differentiated with respect to time. 𝒖(𝑡) : input vector – typically comprised of independent sources (voltage, current). To achieve linearity (make the state space useful/solvable in a reasonable time), this vector is approximate to be ideal: 𝒖(𝑡) = 𝑼. 𝒚(𝑡) : output vector – dependent signals (not states or inputs) that the user would like to extract from the state space. Boost Converter: 𝑑𝑖𝐿 𝑖 𝑖𝐿′ 𝑑𝑡 Let 𝒙(𝑡) = [ 𝐿 ] such that 𝒙′ (𝑡) = [𝑑𝑣 ] = [ ], and let 𝑼 = [𝑉𝑖𝑛 ] and 𝒚(𝑡) = [𝑣𝑟𝐿 ]. 𝑐 𝑣𝑐 𝑣𝑐′ 𝑑𝑡 A and B are matrices of proportionality such that the elements of 𝒙′ (𝑡) are described in terms of 𝒙(𝑡) and 𝑼. Similarly, C and D are used to describe elements of 𝒚(𝑡) in terms of 𝒙(𝑡) and 𝑼. First, we will derive A and B for each interval of the periods: A1, B1 for interval I (duty cycle: D) and A2, B2 for interval II (duty cycle: D'). The original differential equations of each interval are leveraged once again: Interval I: D Interval II: D' D (Interval I) → 𝑣𝐿 = 𝑉𝑖𝑛 − 𝑖𝐿 𝑟𝐿 → 𝑖𝐶 = −𝐼𝑜𝑢𝑡 𝐿 𝐶 𝑑𝑣𝑐 𝑑𝑖𝐿 𝑑𝑡 𝑉 = − 𝑅𝑜𝑢𝑡 𝑑𝑡 𝑜𝑢𝑡 𝑟 − 𝐿⁄𝐿 𝑨𝟏 = [ 0 D' (Interval II) → 𝐶 𝑑𝑣𝑐 𝑑𝑡 𝑟 − 𝐿⁄𝐿 𝑨𝟐 = [ 1 ⁄𝐶 𝑑𝑖𝐿 𝑑𝑡 𝐿 𝑉 𝑜𝑢𝑡 𝐿 𝑜𝑢𝑡 Implementation Note: 0] 0 → 𝑣𝑐′ = −1⁄ 1⁄ 𝐿 𝐿 ] , 𝑩 = [ 𝟐 −1⁄ 0 𝐶𝑅 𝑜𝑢𝑡 - Again, the “(t)” is dropped. 𝑖𝐿′ = → = 𝑉𝑖𝑛 − 𝑖𝐿 𝑟𝐿 − 𝑣𝑐 = 𝑖𝐿 − 𝑅𝑜𝑢𝑡 𝑖𝐿 𝑟 𝐿 𝑣 1 ] , 𝑩𝟏 = [ ⁄𝐿 −1⁄ 0 𝐶𝑅𝑜𝑢𝑡 𝐿 − 𝑣𝑐′ = − 𝐶𝑅 𝑐 0 → 𝑣𝐿 = 𝑉𝑖𝑛 − 𝑖𝐿 𝑟𝐿 − 𝑉𝑜𝑢𝑡 𝑖𝐶 = 𝑖𝐿 − 𝐼𝑜𝑢𝑡 → 𝑉𝑖𝑛 𝑖𝐿′ = → = 𝑉𝑖𝑛 − 𝑖𝐿 𝑟𝐿 𝑖𝐿 𝐶 𝑉𝑖𝑛 𝐿 − 𝑖𝐿 𝑟 𝐿 𝐿 − 𝑣𝑐 𝐿 𝑣 − 𝐶𝑅𝑐 𝑜𝑢𝑡 0] 0 These A and B matrices are the state space descriptions that include the full differential equations. Through iteration with a small timestep (Δ𝑡), the state variables (elements of x) can be found at any point in time. To extract a signal that does not exist in the state vector, the equation 𝒚(𝑡) = 𝑪𝒙(𝑡) + 𝑫𝑼 must be leveraged. Here, setting 𝒚(𝑡) = 𝑣𝑟𝐿 means that we want to extract 𝑣𝑟𝐿 from the circuit. Therefore, C and D are built to describe 𝒚(𝑡) in terms of 𝒙(𝑡) and 𝑼: 𝑣𝑟𝐿 = 𝑖𝐿 𝑟𝐿 [both intervals] 0], 𝑪𝟏,𝟐 = [𝑟𝐿 𝐷1,2 = [0] Sampled Time Description For a given interval, the states at time 𝑡 can be found by using the solution to the state space equation: 𝒙(𝑡) = 𝑒 𝑨𝑡 𝒙(𝑡) + 𝑨−1 (𝑒 𝑨𝑡 − 𝑰)𝑩𝑼 This equation is powerful and can be used for finding steady state iteratively (faster than iterating through the state space because the timestep does not need to be small). This equation can also be leveraged to find a closed form equation for the steady state (where 𝑘 is the number of intervals in one period): −1 𝑘 𝑿𝑺𝑺 = (𝑰 − ∏ 𝑒 𝑖=1 𝑨𝒊 𝑡𝑖 ) 𝑘 𝑘 ⋅ ∑ ( ∏ 𝑒 𝑨𝒎 𝑡𝑚 ) 𝑨𝒊−1 (𝒆𝑨𝒊𝒕𝒊 − 𝐼)𝑩𝒊 𝑼 𝑖=1 𝑚=𝑖+1 Clearly this is the fastest way to find stead state… a closed form solution! Sampled Time modeling is essentially using the function 𝒙(𝑡) = 𝑒 𝑨𝑡 𝒙(𝑡) + 𝑨−1 (𝑒 𝑨𝑡 − 𝑰)𝑩𝑼 to quickly propagate through the states – one calculation will allow you to traverse from the beginning of an interval to the end of that interval. Then, run through the next interval with the solution from the last. Example shown in MATLAB! Sampled Time The closed form steady state solution of the Boost converter: ′ 𝑿𝑺𝑺 = (𝐼 − 𝑒 𝑨𝟏𝐷𝑇𝑠 𝑒 𝑨𝟐𝐷 𝑇𝑠 ) −1 ′ ′ ′ 𝑨𝟏 𝐷 𝑇𝑠 𝑨𝟐 𝐷 𝑇𝑠 − 𝐼) 𝑩𝟏 𝑼 ) + (𝑨−1 − 𝐼)𝑩𝟐 𝑼)) (𝑒 𝑨𝟐𝐷 𝑇𝑠 (𝑨−1 𝟏 (𝑒 𝟐 (𝑒 Note that this is the solution for the state matrix 𝒙 at the beginning of the interval (not the averaged values). Discrete Time Description The small signal state space equations of the discrete time system are: ̂[𝑛 + 1] = 𝚽𝒙 ̂[𝑛] + 𝚪𝑑̂ [𝑛] and 𝒚 ̂[𝑛] = 𝚿𝒙 ̂[𝑛] 𝒙 where 𝑛 is the current sample and 𝑛 + 1 is the next sample. Note that these are small signal equations (“hat” terms only) and are meant to be relevant only around a steady state operating point. The first equation can be manipulated to yield the matrix of discrete time control-to-state transfer functions: 𝑮𝒙𝒅 (𝑧) = ̂ 𝒙 = (𝑧𝑰 − 𝚽)−1 𝚪 ̂ 𝑑 𝑖 For the boost converter with the states defined as 𝒙(𝑡) = [ 𝐿 ], the previous equation yields 𝑣𝑐 𝑮𝒙𝒅 (𝑧) = [ 𝐺𝑖𝑑 (𝑧) ], 𝐺𝑣𝑑 (𝑧) where the discrete time transfer function 𝐺𝑣𝑑 (𝑧) is comparable to the continuous time 𝐺𝑣𝑑 (𝑠) that was previously derived by the averaging methods. Now, 𝚽 and 𝚪 must be derived. ̂[𝑛 + 1]) in terms of the current state (𝒙 ̂[𝑛]). This is the natural The matrix 𝚽 describes the next state (𝒙 response of the system. ̂[𝑛 + 1]) in terms of the current state control perturbation (𝑑̂ [𝑛]), this is The matrix 𝚪 describes the next state (𝒙 the forced response of the system. The natural response matrix can be described by propagating the states through each interval with 𝑒 𝑨𝑡 : 1 𝚽 = ∏ 𝑒 𝑨𝒊 𝑡𝑖 𝑖=𝑘 And specifically, for the boost circuit: 𝚽 = 𝑒 𝑨𝟐 𝑡2 𝑒 𝑨𝟏 𝑡1 . The forced response matrix is more complicated. The control perturbation 𝑑̂ causes some change in the states, denoted by ̂ = [𝒗 ̂𝑪 𝒊̂𝑳 ]𝑇 . This change due to the perturbation is 𝒙 approximated with the linearized affect: ̂ = ((𝐼 + 𝑨𝟏 )𝑿𝒑 + 𝑩𝟏 𝑼𝟏 ) 𝑡̂ − ((𝐼 + 𝑨𝟐 )𝑿𝒑 + 𝑩𝟐 𝑼𝟐 ) 𝑡̂ 𝒙 = (𝑨𝟏 − 𝑨𝟐 )𝑡̂ This change propagates through the end of the period using 𝑒 𝑨𝒓𝑡𝑟 using r to represent each interval after the perturbation. Using 𝑡̂ = 𝑑̂𝑇𝑠 to translate from time to duty cycle, the final forced response matrix is represented by multiplying the change in the states by the propagation through the end of the period: 𝚪 = e𝐀𝟐 t2 (𝑨𝟏 − 𝑨𝟐 )𝑿𝒑 𝑇𝑠 . Finally, the discrete time transfer function 𝐺𝑣𝑑 (𝑧) can be compared with the continuous time transfer function 𝐺𝑣𝑑 (𝑠) (for arbitrarily chosen circuit values) in the graph below: