From 0bff4f6017de929991cb8b8f3eb091d4df2cdb6f Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 27 Oct 2021 19:36:49 +0200 Subject: Block diagram for QAM modulator --- doc/thesis/Fading.tex | 5 +- doc/thesis/Makefile | 3 +- doc/thesis/chapters/theory.tex | 9 ++++ doc/thesis/figures/tikz/qam-modulator.tex | 89 +++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 doc/thesis/figures/tikz/qam-modulator.tex (limited to 'doc') 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} -- cgit v1.2.1