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

Download Presentation

EE 6331, Spring, 2009 Advanced Telecommunication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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. BASICDEFINITION of Cyclic Code ECE6331

  19. FREQUENCY of CYCLIC CODES ECE6331

  20. EXAMPLE of a CYCLIC CODE ECE6331

  21. POLYNOMIALS over GF(q) ECE6331

  22. EXAMPLE ECE6331

  23. Cyclic Code Encoder ECE6331

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

  25. Cyclic Redundancy Checks (CRC) ECE6331

  26. Example of CRC ECE6331

  27. Checking for errors ECE6331

  28. 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

  29. 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

  30. BCH Performance ECE6331

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

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

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

  39. 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

  40. 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

  41. Key ECE6331

  42. 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

  43. 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

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

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

More Related