Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "EE 6331, Spring, 2009 Advanced Telecommunication Zhu Han Department of Electrical and Computer Engineering Class 20 Apr. 9 th, 2009."— Presentation transcript:

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

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

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

4 ECE6331 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] Noise = [0 0 1 0] Message = [1 1 0 1]

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

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

7 ECE6331 Another Example: Encoding we multiply this matrix But why? You can verify that: To encode our message By our message 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] Where multiplication is the logical AND And addition is the logical XOR

8 ECE6331 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]

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

10 ECE6331 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]

11 ECE6331 Coding Gain Example

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

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

14 ECE6331 Reed–Muller code

15 ECE6331 Scrambling Example 7.2 Exercise: 100000000000

16 ECE6331 Scrambling Example Scrambler Descrambler

17 ECE6331 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

18 ECE6331 BASIC DEFINITION of Cyclic Code

19 ECE6331 FREQUENCY of CYCLIC CODES

20 ECE6331 EXAMPLE of a CYCLIC CODE

21 ECE6331 POLYNOMIALS over GF(q)

22 ECE6331 EXAMPLE

23 ECE6331 Cyclic Code Encoder

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

25 ECE6331 Cyclic Redundancy Checks (CRC)

26 ECE6331 Example of CRC

27 ECE6331 Checking for errors

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

29 ECE6331 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)

30 ECE6331 BCH Performance

31 ECE6331 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…)

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

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

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

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

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

37 ECE6331 Encryption – cipher taxonomy CIPHERS MODERN CIPHERS CLASSICAL CIPHERS PUBLIC KEY PRIVATE KEY SUPERPOSITION TRANSPOSITION ROTOR MACHINES Quantum CIPHERS

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

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

40 ECE6331 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.electrical contacts substitutionpolyalphabetic substitution German Enigma machine usedEnigma machine during World War II for submarine. Movie U571, Italian Job

41 ECE6331 Key

42 ECE6331 Public Key System - RSA Named after its inventors Ron Rivest, Adi Shamir and Len Adleman Base on Number Theory y=e x (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

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

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

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


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

Similar presentations


Ads by Google