thesis: add blurb on modulation and FEC

This commit is contained in:
jaseg 2020-04-02 18:12:51 +02:00
parent 9168801dad
commit 7532f38349

View file

@ -567,7 +567,7 @@ feedback loops to ensure voltage, load and frequency regulation. Multiple compon
lines that themselves exhibit complex dynamic behavior. The overall system is generally stable, but may exhbit some
instabilities to particular small-signal stimuli. These instabilities, called \emph{modes} occur when due to mis-tuning
of parameters or physical constraints the overall system exhibits oscillation at particular frequencies.
\textcite{kundur01} splits these into four categories:
\textcite{kundur01} split these into four categories:
\begin{description}
\item[Local modes] where a single power station oscillates in some parameter
@ -586,16 +586,7 @@ structure and will change with changes in the power grid over time. For all of t
modulation system must be designed very conservatively without relying on the absence (or presence) of modes at
particular frequencies. A concrete design guideline that we can derive from this situation is that the frequency
spectrum of any grid frequency modulation system should not exhibit any notable peaks and should avoid a concentration
of spectral energy in certain frequency ranges. On the one hand this rules out some modulation schemes. On the other
hand it provides us with a useful pointer towards those techniques that might work well: Spread-spectrum techniques. By
employing spread-spectrum modulation we can produce an almost ideal frequency-domain behavior while at the same time
achieving some modulation gain, increasing system sensitivity.
By using spread-spectrum techniques we can spread the energy of our modulation over a maximum in
bandwidth\cite{goiser01}. The coding gain spread-spectrum techniques yield potentially allows for a weaker excitation,
thereby allowing further reduction of the probability of disturbance to the overall system. Spread-spectrum techniques
also inherently allow a tradeoff between receiver sensitivity and data rate which is a highly useful parameter to have
for the overall system design.
of spectral energy in certain frequency ranges.
\subsubsection{Overall system parameters}
\subsubsection{An outline of practical implementation}
@ -606,15 +597,77 @@ for the overall system design.
\subsection{Modulation and its parameters}
The sensitivity of the grid to oscillation at particular frequencies described above means we should avoid any
modulation technique that would concentrate a lot of energy in a small bandwidth. Taking this principle to its extreme
provides us with a useful pointer towards techniques that might work well: Spread-spectrum techniques. By employing
spread-spectrum modulation we can produce an almost ideal frequency-domain behavior that spreads the modulation energy
almost flat across the modulation bandwidth\cite{goiser01} while at the same time achieving some modulation gain,
increasing system sensitivity. This modulation gain spread-spectrum techniques yield potentially allows us to use a
weaker stimulus, allowing further reduction of the probability of disturbance to the overall system. Spread-spectrum
techniques also inherently allow us to tune the tradeoff between receiver sensitivity and data rate. This tunability is
a highly useful parameter to have for the overall system design.
Spread spectrum covers a whole family of techniques. \textcite{goiser01} separates these techniques into the coarse
categories of \emph{Direct Sequence Spread Spectrum}, \emph{Frequency Hopping Spread Spectrum} and \emph{Time Hopping
Spread Spectrum}.
\textcite{goiser01} assumes a BPSK or similar modulation underlying the spread-spectrum technique. Our grid frequency
modulation channel effectively behaves more like a DC-coupled wire than a traditional radio channel: Any change in
excitation will cause a proportional change in the receiver's measurement. Using our fft-based measurement methodology
we get a real-valued signed quantity. In this way grid frequency modulation is similar to a channel using coherent
modulation. We can transmit not only signal strength, but polarity too.
For our purposes we can discount both Time and Frequency Hopping Spread Spectrum techniques. Time
hopping aids to reduce interference between multiple transmitters but does not help with SNR any more than Direct
Sequence does. % FIXME verify this.
Our system is strictly limited to a single transmitter so we do not gain anything through Time Hopping.
Frequency Hopping Spread Spectrum techniques require a carrier. Grid frequency modulation itself is very limited in
peak frequency deviation $\Delta f$. Frequency hopping could only be implemented as a second modulation on top of GFM,
but this would not yield any benefits while increasing system complexity and decreasing data bandwidth.
Direct Sequence Spread Spectrum is the only remaining approach for our application. Direct Sequence Spread Spectrum
works by directly modulating a long pseudorandom bit sequence onto the channel. The receiver must know the same
pseudo-random bit sequence and continuously calculates the correlation between the received signal and the pseudo-random
template sequence mapped from binary $[0, 1]$ to bipolar $[1, -1]$. The pseudorandom sequence has approximately equal
number of $0$ and $1$ bits the correlation between the sequence and uncorrelated noise is small. The positive
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.
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.
\subsection{Error-correcting codes}
To make our overall system reliable we have to layer some channel coding on top of our DSSS modulation. The messages we
expect to transmit are at least a few tens of bits long. We are highly constrained in SNR due to limited transmission
power. With lower SNR comes higher BER (bit error rate). Packet error rate grows exponentially with transmission length.
For our relatively long transmissions we would realistically get unacceptable error rates.
Error correcting codes are a very broad field with many options for specialization. Since we are implementing nothing
more than a prototype in this thesis we chose to not expend resources on optimization too much and settled for a
comparatively simple low-density parity check code. The state of the art has advanced considerably since the discovery
of general LDPC codes. %FIXME cite
The main areas of improvement are overhead and decoding speed. Since transmission length % FIXME have we defined this yet?
in our system limits system response time but we do not have a fixed target there we can tolerate some degree of
sub-optimal overhead. % FIXME get actual pröper numbers on our stuff vs. some state of the art citations.
Decoding speed is of no concern to us as our data rate is extremely low.
An important concern for our prototype implementation was the availability of reference implementations of our error
correcting code. We need a python implementation for test signal generation on a regular computer and we need a small C
or C++ implementation that we can adapt to embedded firmware. LDPC codes are a popular textbook example of
error-correcting codes and we had no particular difficulty finding either.
\subsection{Cryptographic security}
Informally the system we are looking for can be modelled as consisting of three parties: The trusted
\textsc{Transmitter}, one of a large number of untrusted \textsc{Receivers}, and an \textsc{Attacker} according to the
following rules:
\textsc{Transmitter}, one of a large number of untrusted \textsc{Receivers}, and an \textsc{Attacker}. These three play
according to the following rules:
\begin{enumerate}
\item \textsc{Transmitter} and \textsc{Attacker} can both transmit any bit sequence