240 likes | 407 Views
ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory. Zhu Han Department of Electrical and Computer Engineering Class 16 Nov. 16 th , 2013. Outline. Project 2, Due 11/25 ARQ FEC Basics. Project 2. Due 11/19/12
E N D
ECE 4371, Fall, 2013Introduction to Telecommunication Engineering/Telecommunication Laboratory Zhu Han Department of Electrical and Computer Engineering Class 16 Nov. 16th, 2013
Outline • Project 2, Due 11/25 • ARQ • FEC Basics
Project 2 • Due 11/19/12 • Show time signal, eye diagram, and constellation for no noise, SNR=0, SNR=5dB and SNR=10dB. (1 point) • Calculate BER for SNR=0. SNR=2.5dB and SNR=5dB, compared with theoretic result. Change symb to sufficiently large. (2 point) • For QPSK and 16QAM, redo the above step (2 point) • Transmit images (3 point) • Test small image first • Alignment for both sampling and data • Calculate PSNR for SNR=0dB, SNR=2.5dB, and SNR=5dB. • Print images • Timing: sampling at the wrong time. 2 point • 1/16, 2/16, … for BER vs. SNR, PSNR vs. SNR
BER and PSNR vs. SNR • Error Floor for sampling errors PSNR SNR
Image • Original, 5 dB, 2.5 dB, 0 dB, and
Automatic Repeat-reQuest (ARQ) • Alice and Bob on their cell phones • Both Alice and Bob are talking • What if Alice couldn’t understand Bob? • Bob asks Alice to repeat what she said • What if Bob hasn’t heard Alice for a while? • Is Alice just being quiet? • Or, have Bob and Alice lost reception? • How long should Bob just keep on talking? • Maybe Alice should periodically say “uh huh” • … or Bob should ask “Can you hear me now?”
ARQ • Acknowledgments from receiver • Positive: “okay” or “ACK” • Negative: “please repeat that” or “NACK” • Timeout by the sender (“stop and wait”) • Don’t wait indefinitely without receiving some response • … whether a positive or a negative acknowledgment • Retransmission by the sender • After receiving a “NACK” from the receiver • After receiving no feedback from the receiver
Error Correcting Codes • Adding redundancy to the original message • To detect and correct errors • Crucial when it’s impossible to resend the message (interplanetary communications, storage..) and when the channel is very noisy (wireless communication) Message = [1 1 1 1] Message = [1 1 0 1] Noise = [0 0 1 0]
Types of Error Correcting Codes • Repetition Code • Linear Block Code, e.g. Hamming • Cyclic Code, e.g. CRC • BCH and RS Code • Convolutional Code • Tradition, Viterbi Decoding • Turbo Code • LDPC Code • Coded Modulation • TCM • BICM
Repetition Code • Simple Example: reduce the capacity by 3 Recovered state
Parity Check • Add one bit so that xor of all bit is zero • Send, correction, miss • Add vertically or horizontally • Applications: ASCII, Serial port transmission
ISDN Number • ISBN 10 • a modulus 11 with weights 10 to 2, using X instead of 10 where ten would occur as a check digit • ISBN 0-306-40615-2 • ISBN 13 • Calculating an ISBN 13 check digit requires that each of the first twelve digits of the 13-digit ISBN be multiplied alternately by 1 or 3. Next, take the sum modulo 10 of these products. This result is subtracted from 10. • ISBN 978-0-306-40615-7.
Hammings Solution • A type of Linear Block Code • Encoding: H(7,4) Multiple Checksums Message=[a b c d] r= (a+b+d) mod 2 s= (a+b+c) mod 2 t= (b+c+d) mod 2 Code=[r s a t b c d] • Coding rate: 4/7 • Smaller, more redundancy, the better protection. • Difference between detection and correction Message=[1 0 1 0] r=(1+0+0) mod 2 =1 s=(1+0+1) mod 2=0 t=(0+1+0) mod 2 =1 Code=[ 10 1 1 0 1 0 ]
Error Detection Ability Stochastic Simulation: 100,000 iterations Add Errors to (7,4) data No repeat randoms Measure Error Detection Results: Error Detection • One Error: 100% • Two Errors: 100% • Three Errors: 83.43% • Four Errors: 79.76%
A B C A B C A C How it works: 3 dots Only 3 possible words Distance Increment = 1 One Excluded State (red) Two valid code words (blue) It is really a checksum. • Single Error Detection • No error correction This is a graphic representation of the “Hamming Distance”
Hamming Distance • Definition: • The number of elements that need to be changed (corrupted) to turn one codeword into another. • The hamming distance from: • [0101] to [0110] is 2 bits • [1011101] to [1001001] is 2 bits • “butter” to “ladder” is 4 characters • “roses” to “toned” is 3 characters
Another Dot The code space is now 4. The hamming distance is still 1. Allows: Error DETECTION for Hamming Distance = 1. Error CORRECTION for Hamming Distance =1 For Hamming distances greater than 1 an error gives a false correction.
Even More Dots Allows: Error DETECTION for Hamming Distance = 2. Error CORRECTION for Hamming Distance =1. • For Hamming distances greater than 2 an error gives a false correction. • For Hamming distance of 2 there is an error detected, but it can not be corrected.
Multi-dimensional Codes Code Space: • 2-dimensional • 5 element states Circle packing makes more efficient use of the code-space
Cannon Balls • http://wikisource.org/wiki/Cannonball_stacking • http://mathworld.wolfram.com/SpherePacking.html Efficient Circle packing is the same as efficient 2-d code spacing Efficient Sphere packing is the same as efficient 3-d code spacing Efficient n-dimensional sphere packing is the same as n-code spacing
Example • Visualization of eight code words in a 6-typle space