Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 3: Channel Coding (part 1)

Similar presentations


Presentation on theme: "Chapter 3: Channel Coding (part 1)"— Presentation transcript:

1 Chapter 3: Channel Coding (part 1)
EKT 357 Digital Communications

2 Coping with Transmission Errors
Error detection codes Detects the presence of an error Error correction codes, or forward correction codes (FEC) Designed to detect and correct errors Widely used in wireless networks Automatic repeat request (ARQ) protocols Used in combination with error detection/correction Block of data with error is discarded Transmitter retransmits that block of data

3 Chapter3: (part 1) Overview
Channel coding definition

4 Introduction Diversity makes use of redundancy in terms of using multiple signals to improve signal quality. Error control coding, as discussed in this lecture and next, uses redundancy by sending extra data bits to detect and correct bit errors. Two types of coding in wireless systems Source coding – compressing a data source using encoding of information (as seen in chapter 2) Channel coding – encode information to be able to overcome bit errors Now we focus on channel coding, also called error control coding to overcome the bit errors of a channel.

5 Channel Coding in Digital Communication Systems

6 Channel Coding - Definition
Class of signal transformations designed to improve communication performance by enabling the transmitted signals to better withstand channel distortions such as noise, interference, and fading. In digital communication systems an optimum system might be defined as one that minimizes the probability of bit error.

7 Channel coding - Definition
Error occurs in the transmitted signal due to the transmission in a non-ideal channel Noise exists in channels Noise signals corrupt the transmitted data Channel coding can be divided into two major classes: Waveform coding by signal design Structured sequences by adding redundancy

8 Waveform Coding Examples:
deals with transforming waveform into “better waveform” robust to channel distortion hence improving detector performance. Examples: Antipodal signaling Orthogonal signaling Bi-orthogonal signaling M-ary signaling

9 Structured Sequences Examples:
Deals with transforming sequences into “better sequences” by adding structured redundancy (or redundant bits). The redundant bits are used to detect and correct errors hence improves overall performance of the communication system. Examples: Linear codes Hamming codes Cyclic codes

10 Antipodal signals -Antipodal signals are: - mirror images,
- the negatives of each other - or 180° apart. Example: Let s1 and s2 be two signals, where s1 = sinωt and s2 = -sinωt then the waveform representation of the two signals. On the figure we can easily see that s1 = -s2.

11 Orthogonal signals Orthogonal signals have no relationship with each other. In geometrical vector representation, orthogonal signals are mutually perpendicular to one other, where: The direction of the vector is the direction of the wave’s energy flow The length of the vector is the energy E of the wave, which counted as In general, si waves are constituted as an orthogonal set, if (and only if)

12 Antipodal & Orthogonal signals
Example for vector representation of Antipodal and Orthogonal signals

13 Orthogonal Code A one-bit data set can be transformed, using orthogonal codewords of two digits each, described by the rows of matrix H1 as follows:

14 Orthogonal Code To encode a 2-bit data set, we extend the foregoing set both horizontally and vertically, creating matrix H2.

15 Orthogonal Code The same construction rule to obtain an orthogonal set H3 for a 3-bit data set.

16 Orthogonal Code Each pair of words in each codeword set H1, H2, H3, …, Hk, … has as many digit agreements as disagreements. Hence, in accordance with zij=0 (for i≠j), and each of the sets is orthogonal.

17 M-ary Signaling “M-ary” is derived from the word “binary”. M is simply a digit that represents the number of conditions possible. M-ary is Multilevel signaling.

18 M-ary Signaling M-ary signaling is the process when:
the processor accepts “n” bit at a time Instructs the modulator to do one of M = 2n long waveforms Data rate = bit rate Symbol rate = bit rate/n = Baud rate

19 Example 1 What is the possible output for 16-QAM and QPSK?
What is the number of bit for 16-QAM and QPSK?

20 Example 2 An “M-ary” communication system transmit at a rate of 1000 baud. What is the equivalent bits per second for M=4, M=8, and M=16?

21 Chapter3: (part 1_cont’d) Overview
Error Detection techniques Parity Check Cyclic Redundancy Check (CRC) Repetition

22 Parity Check Parity Check
Very simple technique used to detect errors In Parity check, a parity bit is added to the data block Assume a data block of size k bits Adding a parity bit will result in a block of size k+1 bits The value of the parity bit depends on the number of “1”s in the k bits data block

23 Parity Bit If we have a message = 1010111 k = 7 bits
Adding a parity check so that the number of 1’s is even The message would be : k+1 = 8 bits At the receiver ,if one bit changes its values, then an error can be detected

24 Parity Bit Parity bit appended to a block of data Even parity
Added bit ensures an even number of 1s Odd parity Added bit ensures an odd number of 1s Example, 7-bit character [ ] Even Parity ASCII A= OR ASCII T= OR Odd Parity ASCII A= OR ASCII T= OR

25 Parity Bit ASCII characters are stored one per byte (8 bits)
The left or right most bit is called the parity bit A parity bit is an extra bit included with a message to make the total number of 1’s either even or odd.

26 Signal Transmission Algorithm
A parity bit is generated and added to a data packet for the purpose of error detection. In the even-parity convention, the value of the parity bit is chosen so that the total number of '1' digits in the combined data plus parity bit is an even number. Upon receipt of the packet (a sequence of bits), the parity needed for the data is recomputed by local hardware and compared to the parity bit received with the data. If any bit has changed state, the parity will not match, and an error will have been detected.

27 Parity Generator The circuit that generates the parity bit in the transmitter is called a parity generator. XOR(even parity generator)

28 Parity Generator Example of 3 bits message for even parity convention.
(Truth Table)

29 Parity Checker The Circuit that checks the parity in the receiver is called a parity checker. XOR (even)

30 Parity Generator Odd parity?

31 Example 3 Suppose you receive a binary bit word “0101” and you know you are using an odd parity. Is the binary word error?

32 Example 4 At the transmitter, we need to send the message M= We need to make the number of one’s odd. What will be the transmitter code? What is the receiver code for Error and no error detected?

33 Probability of undetected error
Assuming that the probability of j errors occurring in a block of n bits is computed as follows: Where Pnd is the probability that a channel symbol is received in error, and where The number of which j bits out of n may be in error.

34 Example 5 Compute the probability of an undetected message error, assuming that the probability of a channel symbol error is p = 10 -3

35 Cyclic Redundancy Check (CRC)
Uses more than a single parity bit. Adds m bit of ‘0’ frame check sequence. Procedure: M = original data message ( n bits) P = Predefined pattern (m+1) Mm = M concatenated with m zeros R = remainder of dividing ( Mm / P )

36 Sender Operation Sender The transmitter performs the division Mm / P
The transmitter then computes the remainder R It then concatenates the remainder with the message “MR” Then it sends the encoded message over the channel “MR”.

37 Receiver Operation Receiver: The receiver receives the message MR
It then performs the division of the message by the predetermined pattern P, “ MR / P ” If the remainder is zero, then it assumes the message is not corrupted “Does not have any error”. Although it may have some. If the remainder is NON-zero, then for sure the message is corrupted and contain error/s.

38 Division process The division used in the CRC is a modulo-2 arithmetic division. Exactly like ordinary long division, only simpler, because at each stage we just need to check whether the leading bit of the current three bits is 0 or 1. If it's 0, we place a 0 in the quotient and exclusively OR the current bits with zeros. If it's 1, we place a 1 in the quotient and exclusively OR the current bits with the divisor.

39 Example 6 Using CRC for error detection and given a message M = with P = 110, compute the following Frame check Sum (FCS) Transmitted frame Received frame and check if there is any error in the data

40 Example 7 Let M = 111001 and P = 11001 Compute the following:
Frame check Sum (FCS) Transmitted frame Received frame and check if there is any error in the data

41 Repetition -The simplest form of redundancy is: Repetition!
-A repetition code is a coding scheme that repeats the bits across a channel to achieve error-free communication. Sender Receiver “0” Did she say “1” ? I said “0” Sounded like “0” One more time: “0” Sounded like “0” again She was sending “0”

42 Repetition Code The easiest way to increase accuracy is repetition. For instance we can repeat the message 3 times. Repeat every bit 3 times 0110 => 000,111,111,000 Error detected if all or any of 3 bits are not the same 000,100,111,000

43 Repetition Code Encoding rule: Repeat each bit 3 times Example:
Decoding rule: Majority vote! Examples of received codewords:  Error-free!  Error!

44 Repetition Code Strategy : Majority rules
0110 => 000,111,111,000 => 000,110,111,000 => 000,111,111,000 Was it actually 0010 => 000,000,111,000 or 000,100,111,000?

45 Analysis of Repetition Code
Error can go undetected only if 3 consecutive bits are in error 0110 => 000,111,111,000 => 000,000,111,000 If probability of one-bit error is p, then probability of undetected error is p3 E.g. one-bit error = 10-5 => undetected error =10-15 (Assumes independence)

46 Analysis of Repetition Code
The redundancy in repetition of bits is measured by the efficiency or rate of the code, denoted by R: R= (#information bits / # bits in codeword) x 100% For the 3-repetition code: R=33%

47 Example 8 Calculate the rate of the code for the repetition bits of 5 times and 7 times with the original code of 3bits?

48 Analysis of Repetition Code
The catch is: As the number of repetitions grows to infinity, the transmission rate shrinks to zero!!! This means: slow data transmission. Is there a better (more efficient) error correcting code?

49 Probability of Incorrect Decoding
Repeating each bit three times allows us to correct one error in each group of three bits, but not more errors. Suppose each bit has probability of being received correctly, independently for each bit. The probability that a group of three repeated bits will be decoded incorrectly is Pi=Pr( 0 errors) +Pr (1 error) = P + 3P (1-P) 3 2

50 Probability of Incorrect Decoding
As n gets bigger, the decoding error probability goes down. Here’s what happens with a 10% probability of transmission error (p=0.1) It seems that we can push the error probability as close to zero as we wish by using more repetitions. If we let the number of repetitions grow and grow, we can approach perfect reliability ! e Number of repetitions Probability of incorrect decoding 3 0.028 5 0.0086 7 9


Download ppt "Chapter 3: Channel Coding (part 1)"

Similar presentations


Ads by Google