1 / 45

# EE 6331, Spring, 2009 Advanced Telecommunication

EE 6331, Spring, 2009 Advanced Telecommunication. Zhu Han Department of Electrical and Computer Engineering Class 20 Apr. 9 th , 2009. Outline. Review ARQ Linear Code Scrambler Cyclic Code Encryption Basics. Automatic Repeat-reQuest (ARQ). Alice and Bob on their cell phones

## EE 6331, Spring, 2009 Advanced Telecommunication

E N D

### Presentation Transcript

1. EE 6331, Spring, 2009Advanced Telecommunication Zhu Han Department of Electrical and Computer Engineering Class 20 Apr. 9th, 2009

2. Outline Review ARQ Linear Code Scrambler Cyclic Code Encryption Basics ECE6331

3. 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?”  ECE6331

4. 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] ECE6331

5. 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 ECE6331

6. 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. ECE6331

7. Another Example: Encoding To encode our message But why? we multiply this matrix You can verify that: Hamming[1 0 0 0]=[1 0 0 0 0 1 1] Hamming[0 1 0 0]=[0 1 0 0 1 0 1] Hamming[0 0 1 0]=[0 0 1 0 1 1 0] Hamming[0 0 0 1]=[0 0 0 1 1 1 1] By our message Where multiplication is the logical AND And addition is the logical XOR ECE6331

8. Example: Add noise • If our message is Message = [0 1 1 0] • Our Multiplying yields Code = [0 1 1 0 0 1 1] Lets add an error, so Pick a digit to mutate Code => [0 1 0 0 0 1 1] ECE6331

9. Example: Testing the message The matrix used to decode is: To test if a code is valid: • Does Decoder*CodeT =[0 0 0] • Yes means its valid • No means it has error/s • We receive the erroneous string: Code = [0 1 0 0 0 1 1] • We test it: Decoder*CodeT =[0 1 1] • And indeed it has an error ECE6331

10. Example: Repairing the message • To repair the code we find the collumn in the decoder matrix whose elements are the row results of the test vector • We then change • We trim our received code by 3 elements and we have our original message. [0 1 1 0 0 1 1] => [0 1 1 0] • Decoder*codeT is [ 0 1 1] • This is the third element of our code • Our repaired code is [0 1 1 0 0 1 1] ECE6331

11. Coding Gain Example ECE6331

12. ARQ, FEC, HEC • ARQ • Forward Error Correction (error correct coding) • Hybrid Error Correction Error detection code tx rx ACK/NACK Error correction code tx rx Error detection/ Correction code tx rx ACK/NACK ECE6331

13. Important Hamming Codes • Hamming (7,4,3)-code. It has 16 codewords of length 7. It can be used to send 27=128 messages and can be used to correct1 error. • Golay (23,12,7) -code. It has 4 096 codewords. It can be usedto transmit 8 3888 608 messages and can correct 3 errors. • Quadratic residue (47,24,11)-code. It has16 777 216codewords and can be used to transmit 140 737 488 355 238messages and correct 5 errors. ECE6331

14. Reed–Muller code ECE6331

15. Scrambling • Example 7.2 • Exercise: 100000000000 ECE6331

16. Scrambling Example • Scrambler • Descrambler ECE6331

17. Cyclic code • Cyclic codes are of interest and importance because • They posses rich algebraic structure that can be utilized in a variety of ways. • They have extremely concise specifications. • They can be efficiently implemented using simple shift register • Many practically important codes are cyclic • In practice, cyclic codes are often used for error detection (Cyclic redundancy check, CRC) • Used for packet networks • When an error is detected by the receiver, it requests retransmission • ARQ ECE6331

18. FREQUENCY of CYCLIC CODES ECE6331

19. EXAMPLE of a CYCLIC CODE ECE6331

20. POLYNOMIALS over GF(q) ECE6331

21. EXAMPLE ECE6331

22. Cyclic Code Encoder ECE6331

23. Cyclic Code Decoder • Divider • Similar structure as multiplier for encoder ECE6331

24. Example of CRC ECE6331

25. Checking for errors ECE6331

26. Capability of CRC • An error E(X) is undetectable if it is divisible by G(x). The following can be detected. • All single-bit errors if G(x) has more than one nonzero term • All double-bit errors if G(x) has a factor with three terms • Any odd number of errors, if P(x) contain a factor x+1 • Any burst with length less or equal to n-k • A fraction of error burst of length n-k+1; the fraction is 1-2^(-(-n-k-1)). • A fraction of error burst of length greater than n-k+1; the fraction is 1-2^(-(n-k)). • Powerful error detection; more computation complexity compared to Internet checksum ECE6331

27. BCH Code • Bose, Ray-Chaudhuri, Hocquenghem • Multiple error correcting ability • Ease of encoding and decoding • Page 653 • Most powerful cyclic code • For any positive integer m and t<2^(m-1), there exists a t-error correcting (n,k) code with n=2^m-1 and n-k<=mt. • Industry standards • (511, 493) BCH code in ITU-T. Rec. H.261 “video codec for audiovisual service at kbit/s” a video coding a standard used for video conferencing and video phone. • (40, 32) BCH code in ATM (Asynchronous Transfer Mode) ECE6331

28. BCH Performance ECE6331

29. Reed-Solomon Codes • An important subclass of non-binary BCH • Page 654 • Wide range of applications • Storage devices (tape, CD, DVD…) • Wireless or mobile communication • Satellite communication • Digital television/Digital Video Broadcast(DVB) • High-speed modems (ADSL, xDSL…) ECE6331

30. 1971: Mariner 9 • Mariner 9 used a [32,6,16] Reed-Mullercode to transmit its grey images of Mars. camera rate: 100,000 bits/second transmission speed:16,000 bits/second ECE6331

31. 1979+: Voyagers I & II • Voyagers I & II used a [24,12,8] Golay code to send its color images of Jupiter and Saturn. • Voyager 2 traveled further to Uranus and Neptune. Because of the higher error rate it switched to the more robust Reed-Solomon code. ECE6331

32. Modern Codes • More recently Turbo codeswere invented, which are used in 3G cell phones, (future) satellites,and in the Cassini-Huygens spaceprobe [1997–]. • Other modern codes: Fountain, Raptor, LT, online codes… • Next, next class ECE6331

33. Error Correcting Codes imperfectness of a given code as the difference between the code's required Eb/No to attain a given word error probability (Pw), and the minimum possible Eb/No required to attain the same Pw, as implied by the sphere-packing bound for codes with the same block size k and code rate r. ECE6331

34. Encryption • Encryption is a translation of data into a secret code. Encryption is the most effective way to achieve data security. To read an encrypted file, you must have access to a secret key that enables you to decrypt it. Unencrypted data is called plain text; encrypted data is referred to as cipher (text). • Encryption can be used to ensure secrecy, but other techniques are still needed to make communications secure: authentication, authorization, and message integrity. • Message integrity - both parties will always wish to be confident that a message has not been altered during transmission. The encryption makes it difficult for a third party to read a message, but that third party may still be able to alter it in a useful way. • Authentication is a way to ensure users are who they say they are - that the user who attempts to perform functions in a system is in fact the user who is authorized to do so. • Authorization protects computer resources (data, files, programs, devices) by allowing those resources to be used by resource consumers having been granted authority to use them. • Digital rights management etc. ECE6331

35. Encryption – cipher taxonomy CIPHERS ROTORMACHINES CLASSICALCIPHERS MODERN CIPHERS PRIVATE KEY SUPERPOSITION PUBLIC KEY Quantum CIPHERS TRANSPOSITION ECE6331

36. Transposition Method • Da Vinci’s code • Ex. I am a student I m s u e t a a t d n ECE6331

37. Substitution Method • Shift Cipher (Caesar’s Cipher) I CAME I SAW I CONQUERED H BZLD H TZV H BNMPTDSDC Julius Caesar to communicate with his army Language, wind talker ECE6331

38. Rotor Machine • The primary component is a set of rotors, also termed wheels or drums, which are rotating disks with an array of electrical contacts on either side. The wiring between the contacts implements a fixed substitution of letters, scrambling them in some complex fashion. On its own, this would offer little security; however, after encrypting each letter, the rotors advance positions, changing the substitution. By this means, a rotor machine produces a complex polyalphabetic substitution cipher. • German Enigma machine used during World War II for submarine. Movie U571, Italian Job ECE6331

39. Key ECE6331

40. Public Key System - RSA • Named after its inventors Ron Rivest, Adi Shamir and Len Adleman • Base on Number Theory y=ex (mod N) => x=?? • If the size of N is 100, it takes 100 billion years to decipher with 1GHz computer. • Applications • Digital Signatures • Digital Cash: Movie, swordfish • Timestamping Services: Movie, entrapment • Election • Movie, mercury rising ECE6331

41. Encryption – cipher taxonomy • Historical pen and paper ciphers used in the past are sometimes known as classical ciphers. They include substitution ciphers and transposition ciphers. • During the early 20th century, more sophisticated machines for encryption were used, rotor machines, which were more complex than previous schemes. • Encryption methods can be divided into symmetric key algorithms and asymmetric key algorithms. In a symmetric key algorithm (DES, AES), the sender and receiver must have a shared key set up in advance and kept secret from all other parties; the sender uses this key for encryption, and the receiver uses the same key for decryption. • In an asymmetric key algorithm(RSA), there are two separate keys: a public key is published and enables any sender to perform encryption, while a private key is kept secret by the receiver and enables him to perform decryption. ECE6331

42. Quantum Cryptography • Use physics law, if the signal is measured (eavesdropped), the receiver can always detected. ECE6331

43. Mission is really impossible When you see it, the information has been already changed ECE6331

More Related