thesis: add blurb on modulation and FEC
This commit is contained in:
parent
9168801dad
commit
7532f38349
1 changed files with 66 additions and 13 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue