Skip to main content

Section 4.5 Full-Wave Rectifier

Let’s look at a full-wave rectifier circuit pictured in Figure 4.5.1.
Figure 4.5.1.
Let’s examine this circuit analytically through several cases.
  1. Times when \(V_\text{in}\gt 2V_F\text{:}\)
    In this case, \(V_A=V_\text{in}\gt V_1,\ V_2,\ V_B\text{.}\) This means that diode \(D_2\) will conduct current \(i_2\) while \(i_3=0\text{.}\) Since \(V_2\gt V_B\text{,}\) diode \(D_4\) will remain off meaning that current will flow across the resistor \(R\text{,}\) dropping voltage in the process. Then, since \(V_A\gt V_1\text{,}\) we confirm that diode \(D_1\) remains off. Consequently, diode \(D_3\) will conduct current \(i_4\text{.}\) Since there was a voltage drop across \(R\) and \(D_3\text{,}\) we find that \(V_B \lt V_2\text{,}\) confirming our assertion that \(D_4\) is off. This current path is represented in Figure 4.5.2
    Figure 4.5.2.
  2. In a similar way, we find that Figure 4.5.3 shows the current path when \(V_\text{in}\lt -2V_F\text{.}\)
    Figure 4.5.3.
An animation showing this behavior more comprehensively is shown in Figure 4.5.4.
Figure 4.5.4. Animation showing behavior of the diode full-wave bridge rectifier. Both \(V_\text{in}\) and \(V_\text{out}\) are shown underneath the circuit; place the mouse over the input signal or the resistor to highlight the appropriate curve in the oscilloscope display. Color represents voltage, with green representing positive voltage and red representing negative voltage. Current within the circuit can be displayed by clicking the three horizontal lines to open the menu. Under ‘Options’, select ‘Show current’. Simulation speed can be adjusted by clicking the two vertical lines in the upper right of the figure, revealing sliders.

Example 4.5.5. Solution Using Newton’s method in Python.

We find KCL equations for the junctions labeled \(V_1\) and \(V_2\)
\begin{align} 0 = \amp I_3 + I_6 - I_4 \tag{4.5.1}\\ 0 = \amp I_2 - I_5 - I_6 \text{.}\tag{4.5.2} \end{align}
We can also write down expressions for the currents by examining voltage changes across components
\begin{align} I_2 = \amp I_0\left(e^{\left(V_\text{in}-V_2\right)/V_T}-1\right) \tag{4.5.3}\\ I_3 = \amp -I_0\left(e^{\left(V_1-V_\text{in}\right)/V_T}-1\right) \tag{4.5.4}\\ I_4 = \amp I_0\left(e^{V_1/V_T}-1\right) \tag{4.5.5}\\ I_5 = \amp -I_0\left(e^{-V_2/V_T}-1\right) \tag{4.5.6}\\ I_6 = \amp \frac{V_2-V_1}{R} \text{.}\tag{4.5.7} \end{align}
Combining (4.5.1)-(4.5.2) with (4.5.3)-(4.5.7), we find that
\begin{align*} 0 = \amp -I_0\left(e^{\left(V_1-V_\text{in}\right)/V_T} + e^{V_1/V_T} - 2\right) + \frac{V_2-V_1}{R} \\ 0 = \amp I_0\left(e^{-V_2/V_T}+e^{\left(V_\text{in}-V_2\right)/V_T}-2\right) - \frac{V_2 - V_1}{R} \text{.} \end{align*}
Using Newton’s method in Section B.1, we’ll set
\begin{equation*} \vec{f}(\vec{V})= \begin{pmatrix} -I_0\left(e^{\left(V_1-V_\text{in}\right)/V_T} + e^{V_1/V_T} - 2\right) + \frac{V_2-V_1}{R}\\ I_0\left(e^{-V_2/V_T}+e^{\left(V_\text{in}-V_2\right)/V_T}-2\right) - \frac{V_2-V_1}{R} \end{pmatrix} \end{equation*}
where
\begin{equation*} \vec{V}=\begin{pmatrix} V_1 \\ V_2\end{pmatrix}\text{.} \end{equation*}
Given \(\vec{f}(\vec{V})\text{,}\) we then calculate
\begin{equation*} \nabla\vec{f}\left(\vec{V}\right) = \begin{pmatrix} -\frac{I_0}{V_T}\left(e^{\left(V_1-V_\text{in}\right)/V_T} + e^{V_1/V_T}\right)-\frac{1}{R} \amp \frac{1}{R}\\ \frac{1}{R} \amp -\frac{I_0}{V_T}\left(e^{-V_2/V_T}+e^{\left(V_\text{in}-V_2\right)/V_T}\right) - \frac{1}{R} \end{pmatrix}\text{.} \end{equation*}
Then, Newton’s method can be used in Python to estimate the circuit behavior governed by
\begin{equation*} \nabla\vec{f}\left(\vec{V}\right) \cdot \Delta \vec{V} = \vec{f}\left(\vec{V}\right) \end{equation*}
to solve for \(\Delta\vec{x}\) and find our new root estimate
\begin{equation*} \vec{x}' = \vec{x}-\Delta\vec{x}\text{,} \end{equation*}
iterating to some desired tolerance.