Parity Check Question -- University Level Intro Course: Networking

Click For Summary

Discussion Overview

The discussion revolves around the concept of parity checks in data transmission, specifically focusing on how to implement a parity bit for a 5-bit dataword. Participants explore the meaning of "all dataword possibilities" and the correct placement of the parity bit in the codeword.

Discussion Character

  • Technical explanation
  • Conceptual clarification
  • Homework-related

Main Points Raised

  • One participant explains that a parity check adds redundancy bits to a dataword to create a codeword, which is then checked for errors based on the parity of the 1's.
  • Another participant confirms that there are 32 possible 5-bit datawords and that a parity bit is added to maintain even or odd parity.
  • There is a discussion about the typical placement of the parity bit, with one participant noting that it is usually added at the end of the codeword, while another questions the reasoning behind this convention.
  • One participant mentions that a single parity bit can only reliably detect a single bit error and that additional redundant bits can be used for detecting multiple errors and aiding in error correction.
  • Another participant states that a single bit can detect an odd number of errors, adding to the discussion about error detection capabilities.

Areas of Agreement / Disagreement

Participants generally agree on the basic principles of parity checks and the number of dataword possibilities. However, there is some uncertainty regarding the placement of the parity bit and its implications, indicating a lack of consensus on this specific aspect.

Contextual Notes

Participants express uncertainty about the reasoning for the parity bit's placement and the implications of using a single parity bit versus multiple bits for error detection.

SumDood_
Messages
39
Reaction score
6
Homework Statement
The size of the dataword is 5 bits. The codewords are created to match all dataword possibilities.
a) Create a table with all the datawords and codewords using parity-check code.
Relevant Equations
n = k + r
n -> codeword
k-> dataword
r-> redundant bits
What I know:
Parity check is used to detect if there are errors when transmitting data by adding redundancy bits to the dataword (data that we want to send) which creates a codeword. Then the receiver checks if the 1's are even or odd and based on that, we know that there was corruption during transmission.
For example:
dataword = 101
redundancy bit = 0
codeword = 0101
At the receiver side, we check if the 1's are even, if they are, we conclude that the data is not corrupted.

In my question, I do not understand what "all dataword possibilities" mean.
So, the question specifies that I am supposed to use 5 bits for the dataword. This means that from '00000' up to '11111' are valid datawords. I don't know what to do next. Do I just add 1 redundancy bit for 2^5 = 32 datawords? This seems wrong. I feel like I am missing something.
 
Physics news on Phys.org
Welcome to PF. :smile:

SumDood_ said:
In my question, I do not understand what "all dataword possibilities" mean.
So, the question specifies that I am supposed to use 5 bits for the dataword. This means that from '00000' up to '11111' are valid datawords. I don't know what to do next.

You basically have it correct. Your table is 2^5 entries of 5 bits each, with one extra parity bit appended at the end to maintain the even or odd parity (whichever is specified) for each codeword. It's often easiest to generate this with Excel, but with only 32 entries you can do it by hand as easily.

https://en.wikipedia.org/wiki/Parity_bit

BTW, a single redundant parity bit can only reliably detect a single bit error in a codeword. With more redundant bits added, you can design the redundant code to detect multiple bit errors and even help with error correction. You'll likely encounter those encodings later in your class.
 
Last edited:
  • Like
Likes   Reactions: SumDood_ and pbuk
SumDood_ said:
For example:
dataword = 101
redundancy bit = 0
codeword = 0101
Note that here you have prepended the parity bit (i.e. added it at the beginning). We usually add it at the end (can you think why?), and you have also described adding the parity bit at the end in your question: "n = k + r".
 
  • Like
Likes   Reactions: SumDood_ and berkeman
pbuk said:
Note that here you have prepended the parity bit (i.e. added it at the beginning). We usually add it at the end (can you think why?), and you have also described adding the parity bit at the end in your question: "n = k + r".
Ah, thanks for pointing that out. I am not sure, though, why it should be added at the end.
 
berkeman said:
Welcome to PF. :smile:
You basically have it correct. Your table is 2^5 entries of 5 bits each, with one extra parity bit appended at the end to maintain the even or odd parity (whichever is specified) for each codeword. It's often easiest to generate this with Excel, but with only 32 entries you can do it by hand as easily.

https://en.wikipedia.org/wiki/Parity_bit

BTW, a single redundant parity bit can only reliably detect a single bit error in a codeword. With more redundant bits added, you can design the redundant code to detect multiple bit errors and even help with error correction. You'll likely encounter those encodings later in your class.
From what I know, a single bit would detect an odd number of errors.
Thanks for your help!
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
1
Views
1K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 12 ·
Replies
12
Views
4K