31.7k views
1 vote
We would like to design a code system to send two-digit hexadecimal numbers over a noisy transmission channel. In order to do this, we will encode the binary representation of each hexadecimal digit pair with a single Hamming Code. Find the number of message bits (m) and check bits (r) for this system. Find the Hamming Codes for B6H and 2FH that will be sent over the transmission channel. Use the convention presented in class (handout).

d) Repeat part (c) for four-digit hexadecimal numbers B230H and C0AEH in which each four-digit number is encoded with a single Hamming Code.
e) Assume the following two numbers have been received. Each has been encoded with a Hamming Code similar to part (d) but for 5 hex digits. Find the original numbers that were sent (in hex) – make sure you check for errors and correct them if present. i. 0010100011000011000011000 ii. 0111010010001010110111100
f) In general, a long message consists of Hamming Code blocks sent back to back. That is, by dividing the long message into small fragments and encoding each fragment with a Hamming Code. Now assume that no two bits closer than 16 bits can be corrupted in this noisy transmission channel. Can the code systems given above work properly, i.e. perform the necessary error correction, over this transmission channel? Give your answer separately for parts (c), (d) and (e).

User MikeDub
by
7.8k points

1 Answer

1 vote

Final answer:

To design a code system to send two-digit hexadecimal numbers over a noisy transmission channel, the binary representation of each hexadecimal digit pair can be encoded with a single Hamming Code. The number of message bits (m) and check bits (r) can be determined using the formula 2^r >= m + r + 1. Hamming Codes can also be used to encode four-digit hexadecimal numbers and correct errors in a long message divided into small fragments. The code system can work properly over a noisy transmission channel as long as no two bits closer than 16 bits can be corrupted.

Step-by-step explanation:

Hamming Codes for Two-Digit Hexadecimal Numbers

To design a code system to send two-digit hexadecimal numbers over a noisy transmission channel, we need to encode the binary representation of each hexadecimal digit pair with a single Hamming Code. m represents the number of message bits and r represents the number of check bits.

In a Hamming Code, the number of check bits r is calculated using the formula 2^r >= m + r + 1. We can find the smallest value of r that satisfies this inequality. Once we have r, the total number of bits transmitted is m + r.

For part d), where four-digit hexadecimal numbers B230H and C0AEH are encoded with a single Hamming Code, we follow the same steps to find m and r. Then, we encode each hexadecimal digit pair using a Hamming Code with appropriate m and r values.

In part e), we have received two numbers encoded with a Hamming Code similar to part d), but each encoded with 5 hex digits. To find the original numbers, we check for errors using the Hamming Code and correct them if present.

In general, for a long message divided into small fragments and encoded with Hamming Codes, the code system can perform the necessary error correction over a noisy transmission channel as long as no two bits closer than 16 bits can be corrupted. This ensures that the check bits can effectively detect and correct errors in the transmitted data.

User Oleg Vaskevich
by
7.1k points