diff options
author | Nao Pross <np@0hm.ch> | 2021-10-27 19:36:49 +0200 |
---|---|---|
committer | Nao Pross <np@0hm.ch> | 2021-10-27 19:36:49 +0200 |
commit | 0bff4f6017de929991cb8b8f3eb091d4df2cdb6f (patch) | |
tree | 88b81fa5fe1ccef25d3a30d94e2bf6103c67ae0e /doc/thesis/figures | |
parent | Hardware AM korrigiert, QPSK angefangen (diff) | |
download | Fading-0bff4f6017de929991cb8b8f3eb091d4df2cdb6f.tar.gz Fading-0bff4f6017de929991cb8b8f3eb091d4df2cdb6f.zip |
Block diagram for QAM modulator
Diffstat (limited to '')
-rw-r--r-- | doc/thesis/figures/tikz/qam-modulator.tex | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/thesis/figures/tikz/qam-modulator.tex b/doc/thesis/figures/tikz/qam-modulator.tex new file mode 100644 index 0000000..c792fae --- /dev/null +++ b/doc/thesis/figures/tikz/qam-modulator.tex @@ -0,0 +1,89 @@ +% vim: set ts=2 sw=2 noet: + +\begin{circuitikz}[ + ] + \matrix [ + row sep = 5mm, column sep = 7mm, + nodes = { + align = center, + fill = white, + }, + ] { + & \coordinate (vmi); + & \node[twoportshape] (B2Li) {}; + & + & \coordinate (mi); + & + & \node[mixer] (Mi) {}; + & \coordinate (si); + \\ + \node[] (M) {\(m(n)\)}; + & \node[twoportshape] (BSp) {}; + & + & + & \node[twoportshape] (H) {}; + & \node[oscillator] (OSC) {}; + & \coordinate (phii); + & \node[adder] (SUM) {}; + & \node (S) {\(s(t)\)}; + \\ + &&&& \coordinate (phiq); + \\[-3mm] + & \coordinate (vmq); + & \node[twoportshape] (B2Lq) {}; + & \coordinate (mq); + & \node[mixer] (Mq) {}; + & + & + & \coordinate (sq); + \\ + }; + + % Add missing lables + \node at (H.center) {\large \(\mathcal{H}\)}; + \node at (B2Li.center) {\textsf{B2L}}; + \node at (B2Lq.center) {\textsf{B2L}}; + \node at (BSp) {\textsf{BSp}}; + + % Add connections + \begin{scope}[thick, -latex] + \draw (M) -- (BSp.west); + + \draw (BSp.north) |- (B2Li.west); + \draw (B2Li.east) -- (Mi.west); + \draw (Mi.east) -| (SUM.north); + + \draw (BSp.south) |- (B2Lq.west); + \draw (B2Lq.east) -- (Mq.west); + \draw (Mq.east) -| (SUM.south); + + \draw (SUM) -- (S); + + \draw (OSC.east) -| (Mi.south); + \draw (OSC.west) -- (H.east); + \draw (H.south) -- (Mq.north); + \end{scope} + + % Add signal labels + \node[above right] at (vmi) {\(\vec{m}_i\)}; + \node[below right] at (vmq) {\(\vec{m}_q\)}; + + \node[above] at (mi) {\(m_i(t)\)}; + \node[below] at (mq) {\(m_q(t)\)}; + + \node[above right] at (phii) {\(\phi_i\)}; + \node[right] at (phiq) {\(\phi_q\)}; + + \node[above left] at (si) {\(s_i(t)\)}; + \node[below left] at (sq) {\(s_q(t)\)}; + + \begin{pgfonlayer}{background} + \fill[left color = white, right color = blue!20, draw = white] + ($(B2Li.north) + (0,1)$) coordinate (D) rectangle ($(B2Lq.south) - (3,1)$); + \fill[right color = white, left color = red!20, draw = white] + ($(B2Li.north) + (0,1)$) coordinate (A) rectangle ($(B2Lq.south) + (9,-1)$); + + \node[blue!50, anchor = south east] at (D) {\bfseries\ttfamily Digital bits}; + \node[red!50, anchor = south west] at (A) {\bfseries\ttfamily Analog waveform}; + \end{pgfonlayer} +\end{circuitikz} |