% Author: Prof. Dr. Matthias Jung, DL9MJ % Year: 2026 % Ring modulator, case 2: U2 < 0 and U3 = -U1 \begin{circuitikz}[european, straight voltages] \ctikzset{ quadpoles/transformer core/inner=1, quadpoles/transformer core/width=0.6, quadpoles/transformer core/height=2.0, transformer L1/.style={inductors/width=1.5, inductors/coils=6}, transformer L2/.style={inductors/width=1.5, inductors/coils=6}, } \begin{scope}[scale=1.25, transform shape, local bounding box=bb] \ctikzset{ diodes/scale=\getDarcImageFactor, inductors/scale=\getDarcImageFactor, blocks/scale=\getDarcImageFactor } % T1: \draw(-0.5,0) node [transformer core, american](T1){T1}; \draw(T1.A1) to [short,-o] ++(-0.5,0) coordinate(h) to [open, v={${\color{DARCblue}U_1}$}] (h|-T1.A2) to [short,o-] (T1.A2); % Help coordinates: \draw(T1.B1) to [short,-*] ++(2.5,0) coordinate(north); \draw(T1.B2) to [short,-*] ++(2.5,0) coordinate(south); \draw(north) to [open, name={center}] (south); \draw(center.center) to [open] ++(-1.65,0) coordinate(west); \draw(center.center) to [open] ++(+1.65,0) coordinate(east); % Diode ring: \draw(north) to [stroke diode, invert, -*] (west); \draw(north) to [stroke diode, -*] (east); \draw(south) to [stroke diode, -*] (west); \draw(south) to [stroke diode, invert, -*] (east); % T2: \draw(east) to [short] (east|-T1.B2) to [short] ++(0.9,0) node [transformer core, american, anchor=A2](T2){T2}; \draw(T2.B1) to [short,-o] ++(+0.5,0) coordinate(h) to [open, v^={\rotatebox{90}{${\color{DARCblue}\scriptstyle U_3=-U_1}$}}] (h|-T2.B2) to [short,o-] (T2.B2); \draw(T2.A1) to [short] ++(0,0.5) coordinate(h) to [short] (h-|west) to [short] (west); % Local oscillator: \draw(T1-L2.midtap) to [short, *-] ++(+0.25,0) to [short] ++(0,-2.25) coordinate(start); \draw(T2-L1.midtap) to [short, *-] ++(-0.25,0) to [short] ++(0,-2.25) coordinate(end); \draw(start) to [cgenerator, v={${\color{DARCblue}\scriptstyle U_2=-1\,\mathrm{V}}$}] (end); % Node voltages for this switching state: \tikzset{node voltage/.style={ text=DARCblue, font=\scriptsize, inner sep=1pt }} \node[node voltage, anchor=north west] at ($(T1.B1)+(0.95,0.4)$) {$-1\,\mathrm{V}+\frac{U_1}{2}$}; \node[node voltage, anchor=north west] at ($(T1.B2)+(0.55,-0.2)$) {$-1\,\mathrm{V}-\frac{U_1}{2}$}; \node[node voltage, anchor=north east] at ($(T2.A1)+(-0.35,0.4)$) {$-1\,\mathrm{V}+\frac{U_1}{2}$}; \node[node voltage, anchor=north east] at ($(T2.A2)+(-0.7,-0.2)$) {$-1\,\mathrm{V}-\frac{U_1}{2}$}; \node[node voltage, anchor=south west] at ($(T1-L2.midtap)+(0.18,0.18)$) {$-1\,\mathrm{V}$}; \node[node voltage, anchor=south east] at ($(T2-L1.midtap)+(-0.18,0.18)$) {$0\,\mathrm{V}$}; % Conducting diode pair and signal paths: \draw[DARCred] (T1.B1) to [short] (north); \draw[DARCred] (north) to [stroke diode, invert, draw=DARCred, fill=DARCred!10, *-*] (west); \draw[DARCred] (T2.A1) to [short] ++(0,0.5) coordinate(activeTop) to [short] (activeTop-|west) to [short] (west); \draw[DARCred] (T1.B2) to [short] (south); \draw[DARCred] (south) to [stroke diode, invert, draw=DARCred, fill=DARCred!10, *-*] (east); \draw[DARCred] (east) |- (T2.A2); % Stable canvas for all three applet states: \path (-1.9,-3.5) rectangle (6.92,1.9); \end{scope} \begin{scope}[shift={($(bb.south west)+(0.75/\getDarcImageFactor,-2.1/\getDarcImageFactor)$)}] \begin{axis}[ axis lines=center, axis line style={-Triangle}, scale only axis, axis on top, height=1.8cm, width=\linewidth*\getDarcImageFactor, xmin=0, xmax=2.5*pi, ymin=-1, ymax=1, ticks=none, xlabel={$t$}, xlabel style={anchor=north}, ylabel={$U_2$}, ylabel style={anchor=east}, ] \pgfplotsinvokeforeach{0,...,11}{ \fill[DARCblue!10] (axis cs:{(2*#1+1)*pi/10},-1) rectangle (axis cs:{(2*#1+2)*pi/10},1); } \addplot[mark=none, DARCblue, thick, domain=0:2.5*pi, samples=1201] {0.9*sign(sin(deg(10*x)))}; \end{axis} \end{scope} \begin{scope}[shift={($(bb.south west)+(0.75/\getDarcImageFactor,-4.2/\getDarcImageFactor)$)}] \begin{axis}[ axis lines=center, axis line style={-Triangle}, scale only axis, axis on top, height=1.8cm, width=\linewidth*\getDarcImageFactor, xmin=0, xmax=2.5*pi, ymin=-1, ymax=1, ticks=none, xlabel={$t$}, xlabel style={anchor=north}, ylabel={$U_1$}, ylabel style={anchor=east}, ] \pgfplotsinvokeforeach{0,...,11}{ \fill[DARCblue!10] (axis cs:{(2*#1+1)*pi/10},-1) rectangle (axis cs:{(2*#1+2)*pi/10},1); } \addplot[smooth, mark=none, DARCblue, thick, domain=0:2.5*pi, samples=400] {0.9*sin(deg(x))}; \end{axis} \end{scope} \begin{scope}[shift={($(bb.south west)+(0.75/\getDarcImageFactor,-6.3/\getDarcImageFactor)$)}] \begin{axis}[ axis lines=center, axis line style={-Triangle}, scale only axis, axis on top, height=1.8cm, width=\linewidth*\getDarcImageFactor, xmin=0, xmax=2.5*pi, ymin=-1, ymax=1, ticks=none, xlabel={$t$}, xlabel style={anchor=north}, ylabel={$U_3$}, ylabel style={anchor=east}, ] \pgfplotsinvokeforeach{0,...,11}{ \fill[DARCblue!10] (axis cs:{(2*#1+1)*pi/10},-1) rectangle (axis cs:{(2*#1+2)*pi/10},1); } \addplot[mark=none, DARCblue, thick, domain=0:2.5*pi, samples=1201] {0.9*sign(sin(deg(10*x)))*sin(deg(x))}; \end{axis} \end{scope} \end{circuitikz}