Files
50ohm-contents-dl/contents/drawings/1123.tex
T

187 lines
6.6 KiB
TeX

% Author: Prof. Dr. Matthias Jung, DL9MJ
% Year: 2026
% Ring modulator, case 1: 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, draw=DARCred, fill=DARCred!10, *-*] (east);
\draw[DARCred] (east) |- (T2.A2);
\draw[DARCred] (T1.B2) to [short] (south);
\draw[DARCred] (south)
to [stroke diode, draw=DARCred, fill=DARCred!10, *-*] (west);
\draw[DARCred] (T2.A1)
to [short] ++(0,0.5) coordinate(activeTop)
to [short] (activeTop-|west)
to [short] (west);
% 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,...,12}{
\fill[DARCblue!10]
(axis cs:{2*#1*pi/10},-1)
rectangle (axis cs:{(2*#1+1)*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,...,12}{
\fill[DARCblue!10]
(axis cs:{2*#1*pi/10},-1)
rectangle (axis cs:{(2*#1+1)*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,...,12}{
\fill[DARCblue!10]
(axis cs:{2*#1*pi/10},-1)
rectangle (axis cs:{(2*#1+1)*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}