Redundancy
Last updated
Last updated
Error detection codes: can identify certain types of errors.
Error correction codes: can fix certain types of errors.
(n, k) code: n bits are transmitted for k information bits.
Simplest example: parity codes.
Many different codes exist: Hamming, cyclic, Reed-Solomon, …
Coding gain is n/k.
Turbo codes: convolutional code with channel estimation.
Channels have a limit on the type of signals it can carry.
Good transmission of signals only in certain frequency range.
Signals outside of that range get distorted, e.g. attenuated.
Distortion can make it hard for receiver to extract the information.
It is beneficial to match the signal to the channel.
Limits the throughput of the channel.
Spread transmission over a wider bandwidth.
Don’t put all your eggs in one basket!
Good for military: jamming and interception becomes harder.
Also useful to minimize impact of a “bad” frequency in regular environments.
What can be gained from this apparent waste of spectrum?
Immunity from various kinds of noise and multipath distortion.
Including jamming.
Can be used for hiding/encrypting signals.
Only receiver who knows SS code can retrieve signal.
Several users can independently share the same higher bandwidth with very little interference (later).
Code division multiple access (CDMA).
Input fed into channel encoder.
Produces narrow bandwidth analog signal around central frequency.
Signal modulated using sequence of digits.
Spreading code/sequence.
Typically generated by pseudonoise/pseudorandom number generator.
Not actually random.
If algorithm good, results pass reasonable tests of randomness.
Need to know algorithm and seed to predict sequence.
Increases bandwidth significantly.
Spreads spectrum.
Receiver uses same sequence to demodulate signal.
Demodulated signal fed into channel decoder.