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 | |
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/Fading.tex | 5 | ||||
-rw-r--r-- | doc/thesis/Makefile | 3 | ||||
-rw-r--r-- | doc/thesis/chapters/theory.tex | 9 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/qam-modulator.tex | 89 |
4 files changed, 104 insertions, 2 deletions
diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index 0106754..694484b 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -35,12 +35,15 @@ \usetikzlibrary{ calc, - backgrounds + backgrounds, + matrix, } \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground} +\usepackage{circuitikz} + %% Pretty plots \usepackage{pgfplots} diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index 31ceec8..b9b6d9c 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -15,7 +15,8 @@ SOURCES := \ chapters/conclusions.tex \ \ figures/tikz/overview.tex \ - figures/tikz/qpks-constellation.tex + figures/tikz/qpks-constellation.tex \ + figures/tikz/qam-modulator.tex # Get the main file from the file MAIN := $(shell sed -ne 's/^.*\!TeX root =\(.*\)$$/\1/ p' $(SOURCES)) diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 29fa789..4a30b92 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -17,6 +17,15 @@ In this section we will briefly give the mathematical background required by the \section{Quadrature amplitude modulation (\(M\)-ary QAM)} +\begin{figure} + \centering + \input{figures/tikz/qam-modulator} + \caption{ + %% TODO: caption + \label{fig:quadrature-modulation} + } +\end{figure} + Quadrature amplitude modulation is a family of modern digital modulation methods, that use an analog carrier signal. The simple yet effective idea behind QAM is to encode extra information into an orthogonal carrier signal, thus increasing the number of bits sent per unit of time. A diagram showing the process is found in figure \ref{fig:quadrature-modulation}. %% TODO: Quick par on "we will dicusss M-Ary QAM" 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} |