summaryrefslogtreecommitdiff
path: root/ma/safety_reset.tex
diff options
context:
space:
mode:
authorjaseg <git-bigdata-wsl-arch@jaseg.de>2020-04-02 18:12:51 +0200
committerjaseg <git-bigdata-wsl-arch@jaseg.de>2020-04-02 18:12:51 +0200
commit7532f38349d6bf0519402d29a8084851676d3251 (patch)
treefac12ff7719103755156f60e7251157a21bfea6b /ma/safety_reset.tex
parent9168801dad97805c4ff12816e847d102b0a9d5e0 (diff)
downloadmaster-thesis-7532f38349d6bf0519402d29a8084851676d3251.tar.gz
master-thesis-7532f38349d6bf0519402d29a8084851676d3251.tar.bz2
master-thesis-7532f38349d6bf0519402d29a8084851676d3251.zip
thesis: add blurb on modulation and FEC
Diffstat (limited to 'ma/safety_reset.tex')
-rw-r--r--ma/safety_reset.tex79
1 files changed, 66 insertions, 13 deletions
diff --git a/ma/safety_reset.tex b/ma/safety_reset.tex
index 485d131..a292458 100644
--- a/ma/safety_reset.tex
+++ b/ma/safety_reset.tex
@@ -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