Add more plots

This commit is contained in:
jaseg 2020-04-09 18:03:10 +02:00
parent 6cb7685e7a
commit 88fda0b091
15 changed files with 548 additions and 668 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -48,6 +48,7 @@
%\usepackage[pdftex]{graphicx,color}
\usepackage{epstopdf}
\usepackage{pdfpages}
\usepackage{minted} % pygmentized source code
% Needed for murks.tex
\usepackage{setspace}
\usepackage[draft=false,babel,tracking=true,kerning=true,spacing=true]{microtype} % optischer Randausgleich etc.
@ -634,13 +635,24 @@ number of $0$ and $1$ bits the correlation between the sequence and uncorrelated
contribution of the $+1$ terms of the correlation template approximately cancel out with the $-1$ terms when multiplied
with an uncorrelated signal such as white gaussian noise or another pseudo-random sequence.
The longer the pseudo-random sequence the lower its cross-correlation with noise or other pseudorandom sequences of the
same length. Choosing a long sequence we increase modulation gain while decreasing bandwidth. For any given application
the sweet spot will be the shortest sequence that is long enough to yield sufficient SNR for subsequent processing
layers such as channel coding.
By using a family of pseudo-random sequences with low cross-correlation channel capacity can be increased. Either the
transmitter can encode data in the choice of sequence or multiple transmitters can use the same channel at once. The
longer the pseudo-random sequence the lower its cross-correlation with noise or other pseudorandom sequences of the same
length. Choosing a long sequence we increase modulation gain while decreasing bandwidth. For any given application the
sweet spot will be the shortest sequence that is long enough to yield sufficient SNR for subsequent processing layers
such as channel coding.
Prototyping demodulation algorithms we have experimented by overlaying a modulated signal with actual grid frequency
measurements. At chip rates in the order of 1 chip per second we got useful results from 5 and 6 bit sequences already.
A popular code used in many DSSS systems are Gold codes. A set of Gold codes has small cross-correlations. For some
value $n$ a set of Gold codes contains $2^n + 1$ sequences of length $2^n - 1$. Gold codes are generated from two
different maximum length sequences generated by linear feedback shift registers (LFSRs). For any bit count $n$ there are
certain empirically determined preferred pairs of LFSRs that produce Gold codes with especially good cross-correlation.
The $2^n + 1$ gold codes are defined as the XOR sum of both LFSR sequences shifted from $0$ to $2^n-1$ bit as well as
the two individual LFSR sequences. Given LFSR sequences \texttt{a} and \texttt{b} in numpy notation this is
\mintinline{python}{[a, b] + [ a ^ np.roll(b, shift) for shift in len(b) ]}.
In DSSS modulation the individual bits of the DSSS sequence are called \emph{chips}. Chip duration determines modulation
bandwidth\cite{goiser01}. In our system we are directly modulating DSSS chips on mains frequency without an underlying
modulation such as BPSK as it is commonly used in DSSS systems.
\subsection{Error-correcting codes}
@ -1109,7 +1121,7 @@ language such as C or rust. For prototyping these languages lack flexibility com
% FIXME introduce project outline, specs -> proto -> demo above!
To validate our modulation scheme we performed a series of simulations. We produced modulated frequency data that we
superimposed with either of simulated pink noise or an actual grid frequency measurement series.
superimposed with an actual grid frequency measurement series.
% FIXME do test series with simulated noise emulating measured noise spectrum
\section{Implementation of a demonstrator unit}