aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNao Pross <np@0hm.ch>2021-10-27 19:36:49 +0200
committerNao Pross <np@0hm.ch>2021-10-27 19:36:49 +0200
commit0bff4f6017de929991cb8b8f3eb091d4df2cdb6f (patch)
tree88b81fa5fe1ccef25d3a30d94e2bf6103c67ae0e
parentHardware AM korrigiert, QPSK angefangen (diff)
downloadFading-0bff4f6017de929991cb8b8f3eb091d4df2cdb6f.tar.gz
Fading-0bff4f6017de929991cb8b8f3eb091d4df2cdb6f.zip
Block diagram for QAM modulator
-rw-r--r--doc/thesis/Fading.tex5
-rw-r--r--doc/thesis/Makefile3
-rw-r--r--doc/thesis/chapters/theory.tex9
-rw-r--r--doc/thesis/figures/tikz/qam-modulator.tex89
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}