Wireless digital communication and coding techniques new
-
Upload
clyde-lettsome -
Category
Technology
-
view
1.507 -
download
3
Embed Size (px)
description
Transcript of Wireless digital communication and coding techniques new

Clyde A. Lettsome, Ph.D., P.E.
*Wireless Digital Communication and Coding Techniques

*Agenda
*Digital Communication Overview
*Digital Modulation Techniques
*Frequency Shift Keying
*Binary Phase Shift Keying
*Code Error Detection and Correction Methods
*Parity
*Cyclical Redundancy Check
*Block Error Detection and Correction
*Hamming Code
*Reed Solomon
*Channel Access Methods
*Time Division Multiple Access (TDMA)
*Code Division Multiple Access (CDMA)

*Digital Communications
Overview

*Digital Communications
Overview
Satellite, Television, Radio Broadcast
Data Storage, Hard drives, USB drives
CD, MP3, MPegWireless Routers, Cellular networks, Bluetooth
Digital Communications is
Everywhere

*Why Digital Communications?
*Reduced bandwidth if modulated on an analog carrier
*Noise Immunity
*Errors may be detected
*Errors may be corrected
*Easily manipulate to improve transmission
*Time Division Multiple Access (TDMA)
*Code Division Multiple Access (CDMA)

*Digital Communications
Overview
Convert to Binary
Data Encoding Modulation
DemodulationData
Decoding
Convert to Original Form
Transmission Medium
Storage Device
Transmission Medium
Storage Device
System dependent

*Digital Modulation Techniques

*Digital Modulation
Techniques: FSK
*Frequency Shift Keying (FSK) - transmission method in which the modulating wave shifts between two predetermined frequencies.
*Figure from Modern Communications by Beasley & Miller

*Digital Modulation Techniques: BPSK
*Binary Phase Shift Keying (BPSK) - transmission method in which the modulating wave shifts between two phases 180o out of phase.
*Figure from Modern Communications by Beasley & Miller

*Error Detection and Correction
*What if a bit(s) is(are) messed up during transmission or storage?
*Examples: atmospheric noise, intrinsic noise, scratches on CDs, single-event upsets, etc.
*Digital coding has many advantages over analog coding
*Immunity to noise
*Errors can be detected and corrected

*Error Detection and Correction
Methods

*Common Error Processing Techniques
*Error detection –Retransmit the block
*Parity
*Cyclic Redundancy Check
*Block Codes
*Error correction – Fix errors at the receiver
via FEC – Forward Error Correction (Adding more coding bits increases the correction capability but reduces throughput.)
*Block Codes
*Hamming Code
*Reed Solomon

*Error Detection: Parity
*Arguably the most common method of error detection.
*A single bit called parity bit is added to each transmitted code.
*Parity bit makes the code either be even or odd
*Even parity makes the total number of ones even
*Odd parity makes the total number of ones odd
*Example: Code [1001]
*Even parity transmitted code: [1001|0]
*Odd parity transmitted code: [1001|1]

*Error Detection: Parity
*Will detect error only if an unexpected parity is received*Odd parity transmitted code: [1001|1] *Received code indicates error [1101|1]*Received code does not indicate error [1111|1]
*Good for random errors (single bit errors but not for burst errors (multiple consecutive errors)*Used with ASCII

*Error Detection: CRC
*Effectively detect 99.95 % errors.
*Block of data (D) is combined with a frame check sequence (F) to compose a frame to be transmitted (T).
*The Frame check sequence is developed by mathematically dividing the block of data by a predetermined divisor (P).
*On the receiver side the transmitted frame (T) is divided by the divisor (P). If the remainder is zero then no error is detected.

*Error Detection: CRC
Example: Develop a (7,4) cyclic code from a transmitter where the data to be transmitted(D) = [1100] and divisor (P) =[1011].
1100/1011 = 1110 <-[D]/[P]
1011
1110
1011
1010
1011
010 <-Remainder (Block Check Code)
Transmitted(T) = [D R] = [1100010]

*Error Detection: CRC
Decoding in the receiver
1100010 /1011 = 1110 <-[T]/[P]
1011
1110
1011
1011
1011
00 <-Remainder

*Error Correction: Block Error Correction
Code
*The Hamming distance is the number of bits that are different between allowed transmitted code words*d(code block, received block)
*d(00000,00100) = 1
*d(00111,00100) = 2
*The greater the Hamming distance the more errors need to be corrected.

*Error Detection: Simple Block Code
*Example: Block code example*Let 0 be represented by 00. *Let 1 be represented by 11.
*The code block is two bits long.*The number of bits that are different between
each allowed code word is 2. Therefore the Hamming distance is 2. *If 01 or 10 is received at the receiver then a
bit error occurred.*This code can detect one bit error per
block but cannot correct a bit error

*Error Correction: Block Error Correction
Code
*Example: Block code example*Let 0 be represented by 00000. *Let 1 be represented by 00111.
*The code block is five bits long.*The number of bits that are different between each
allowed code word is 3. Therefore the Hamming distance is 3. *If 00110, 00101, or 00011 is received at the
receiver then a bit error occurred.*This code can detect up to three bit error
per block and can correct one bit bit error

*Error Correction: Hamming Code
*Hamming code correct single bit errors
*Example: Consider D=[1001] the minimum number of parity bits is 3.
(2n ≥ m+n+1 where m is the length of D and n is the smallest of parity bits that makes the relationship true)
*Let P1 = (2,4,5), P2 = (4,5,6), P3 = (5,6,2) and use odd parity.
P1 1 P2 0 0 1 P3
1 2 3 4 5 6 7
0 1 0 0 0 1 1 Transmitted

*Error Correction: Reed Solomon
*Detects and corrects bursts of errors
*Utilizes Interleaving
*Used in extensively CDs and Cell Phone Transmission
0 1 0 <- 1st Word
0 0 1 <- 2nd Word
0 1 1 <- 3rd Word

*Channel Access Methods

*Time Division Multiple Access
*Example: TDMA Example
*Cell phone A and cell phone B, A would be given a certain amount of time to transmit.
*After that time B is transmitted and the process is repeated
*(ABABABABAB……)

*Code Division Multiple Access
*Example: CDMA Example of a computer network
* If the system router transmits 01101001, both endpoints receive the information. However, endpoint 1 knows the router is communicating with it because the XNOR and sum of the data equals 4 or 0.
0110|1001 <- Transmitted
0110|1001 <- Stored Codeword
1111|1111 <- 4|4
Endpoint 1 (computer)Let 0 equal 0110Let 1 equal 1001
Endpoint 2 (computer)Let 0 equal 0011Let 1 equal 1100