+ All Categories
Home > Documents > ECE 6332, Spring, 2014 Wireless Communication

ECE 6332, Spring, 2014 Wireless Communication

Date post: 04-Feb-2016
Category:
Upload: samira
View: 40 times
Download: 0 times
Share this document with a friend
Description:
ECE 6332, Spring, 2014 Wireless Communication. Zhu Han Department of Electrical and Computer Engineering Class 18 March. 26 th , 2014. Outline. Chapter 8 FEC Basics Line Code. Automatic Repeat-reQuest (ARQ). Alice and Bob on their cell phones Both Alice and Bob are talking - PowerPoint PPT Presentation
27
ECE 6332, Spring, 2014 Wireless Communication Zhu Han Department of Electrical and Computer Engineering Class 18 March. 26 th , 2014
Transcript
Page 1: ECE 6332, Spring, 2014 Wireless Communication

ECE 6332, Spring, 2014

Wireless Communication

Zhu Han

Department of Electrical and Computer Engineering

Class 18

March. 26th, 2014

                                                           

Page 3: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Automatic Repeat-reQuest (ARQ)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?”

Page 4: ECE 6332, Spring, 2014 Wireless Communication

                                                           

ARQARQ 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

Page 5: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Error Correcting CodesError 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)Information

Source

Message

Transmitter

Noise Source

Destination

Message

Reciever

ReceivedSignal

Signal

Message = [1 1 1 1]

Noise = [0 0 1 0]

Message = [1 1 0 1]

Page 6: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Types of Error Correcting CodesTypes 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

Page 7: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Repetition CodeRepetition Code Simple Example: reduce the capacity by 3Simple Example: reduce the capacity by 3

Recovered state

Page 8: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Parity CheckParity Check Add one bit so that xor of all bit is zero

– Send, correction, miss

– Add vertically or horizontally

Applications: ASCII, Serial port transmission

Page 9: ECE 6332, Spring, 2014 Wireless Communication

                                                           

ISDN NumberISDN 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.

Page 10: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Hammings SolutionHammings Solution A type of Linear Block Code Encoding: H(7,4)

Multiple ChecksumsMessage=[a b c d]

r= (a+b+d) mod 2s= (a+b+c) mod 2t= (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 =1Code=[ 1 0 1 1 0 1 0 ]

Page 11: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Error Detection AbilityError Detection Ability

100,000 iterationsAdd Errors to (7,4) dataNo repeat randomsMeasure Error Detection

Error Detection•One Error: 100%•Two Errors: 100% •Three Errors: 83.43%•Four Errors: 79.76%

Stochastic Simulation:

Results:

Fig 1: Error Detection

50%

60%

70%

80%

90%

100%

1 2 3 4Errors Introduced

Perc

ent E

rror

s D

etec

ted

(%)

Page 12: ECE 6332, Spring, 2014 Wireless Communication

                                                           

How it works: 3 dotsHow it works: 3 dots

Only 3 possible wordsDistance Increment = 1

One Excluded State (red)

It is really a checksum. Single Error Detection No error correction

A B C

A B C

A C

Two valid code words (blue)

This is a graphic representation of the “Hamming Distance”

Page 13: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Hamming DistanceHamming 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

Page 14: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Another DotAnother 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.

Page 15: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Even More DotsEven 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.

Page 16: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Multi-dimensional CodesMulti-dimensional Codes

Code Space: • 2-dimensional • 5 element statesCircle packing makes more efficient use of the code-space

Page 17: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Cannon BallsCannon 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

Page 19: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Another Example: EncodingAnother Example: Encoding

we multiply this matrix

1111000011010010100101100001

H

But why?

You can verify that:

To encode our message

By our messagemessage code H

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 ANDAnd addition is the logical XOR

Page 20: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Example: Add noiseExample: Add noise If our message isMessage = [0 1 1 0] Our Multiplying yieldsCode = [0 1 1 0 0 1 1]

Lets add an error, so Pick a digit to mutate

1100110

01101001010010

11110000011010011010010111000010

1111000011010010100101100001

0110

Code => [0 1 0 0 0 1 1]

Page 21: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Example: Testing the messageExample: Testing the message

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

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

101010111001101111000

Decoder

Page 22: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Example: Repairing the messageExample: 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]

101010111001101111000

Decoder

Page 23: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Coding Gain

Coding Rate R=k/n, k, no. of message symbol, n overall symbol Word SNR and bit SNR

For a coding scheme, the coding gain at a given bit error probability is defined as the difference between the energy per information bit required by the coding scheme to achieve the given bit error probability and that by uncoded transmission.

Page 26: ECE 6332, Spring, 2014 Wireless Communication

                                                           

Interleaving Interleaving Arrange data in a non-contiguous way in order to increase performance Interleaving is mainly used in data communication, multimedia file formats,

radio transmission (for example in satellites) or by ADSL Protect the transmission against burst errors Example

– Without interleaving

– With interleaving

Page 27: ECE 6332, Spring, 2014 Wireless Communication

                                                           

ARQ, FEC, HECARQ, FEC, HEC ARQ

Forward Error Correction (error correct coding)

Hybrid Error Correction

tx rxError detection code

ACK/NACK

tx rxError correction code

tx rx

Error detection/Correction code

ACK/NACK


Recommended