Exam: Detecting Errors in Bit Strings

Click For Summary

Discussion Overview

The discussion revolves around the detection of errors in bit strings transmitted with odd parity. Participants explore how to determine which strings contain errors based on the parity of the number of ones in each string, and the implications of single-bit parity error detection.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants propose that to identify errors, one must check if the number of ones in each bit string is odd or even, given that the original transmission used odd parity.
  • Others argue that the parity bit is added before transmission, which means that if the received string has an even number of ones, it indicates an error has occurred.
  • A later reply questions the assumption that an even number of errors can be detected, clarifying that a single parity bit can only detect an odd number of errors.
  • Some participants express confusion about how to interpret the parity check results, particularly regarding whether a string with correct parity can still contain undetected errors.
  • There is a discussion about specific strings (11011 and 10001) being identified as errors due to having an even number of ones, but the certainty of this conclusion is debated.

Areas of Agreement / Disagreement

Participants generally agree that strings with an even number of ones indicate errors, but there is disagreement about the implications of parity checks and whether certain strings can be definitively classified as erroneous.

Contextual Notes

Some participants express uncertainty regarding the conditions under which errors can be detected, particularly the distinction between odd and even numbers of errors in relation to parity checks.

Who May Find This Useful

This discussion may be useful for individuals interested in error detection methods in digital communications, particularly those studying parity bit schemes and their limitations.

sammie194
Messages
6
Reaction score
0
1. The question
The following message was originally transmitted with odd parity in each short bit string.
In which strings have errors definitely occurred?

11001 11011 10110 00000 11111 10001
10101 00100 01110

2. The attempt at a solution

It says that it is transmitted with odd parity originally, so do I only have to look if the bit string has an odd or even number of ones? Or do I have to add an parity number, and how would I do that?

Let's say I only have to look at odd/even, answer would be:
11011, and 10001 as these have even 1 numbers. What about the 00000? It doesn't have any ones so not odd, and not even, that's not an error right?

I've seen in the explanation that an parity number is added, but for some reason they add sometimes 0, and sometimes 1. They add 0 when the 1's are already odd, and a 1 as parity number if it's even, to make it odd. I'm kinda confused by this, as this will make every string odd, so there wouldn't be any errors?


I might be thinking weird, but I can't seem to understand how this works.
Can anyone please explain this to me?

Many thanks!
CSM
 
Physics news on Phys.org
sammie194 said:
I've seen in the explanation that an parity number is added, but for some reason they add sometimes 0, and sometimes 1. They add 0 when the 1's are already odd, and a 1 as parity number if it's even, to make it odd. I'm kinda confused by this, as this will make every string odd, so there wouldn't be any errors?

What you're missing here is that if you are using a parity bit, this extra bit is added BEFORE transmission, not afterwards.

Afterwards, during the error checking, what this ensures is that if no single bit errors have occurred, the message (including parity bit) will have the specified parity. If it doesn't, you conclude that a bit error has occurred.

Example, suppose you are using odd parity. Your message *including* the extra parity bit must therefore always have an odd number of ones. So, if you want to transmit a 4 bit message 1001, you'd add a fifth parity bit. In this case, it would be a 1, in order to make the parity odd. 10011. If you receive 11011, you have even parity, which tells you that a bit error has occurred. (But it doesn't tell you WHICH bit is wrong, since that would require foreknowledge of the message, in which case why would it need to be sent?).

A single parity bit can only detect an ODD number of bit errors. If an even number of bit errors occurs, your error check will come out with the correct parity, even though the message is wrong. E.g. if 10011 becomes 01011 upon receipt (TWO bits have been flipped), your error check will tell you that you have odd parity and that the message is correct, even though it is not.
 
So the parity bits are already added, this would mean that bit string: 11011, and 10001 still have an even amount of ones. This would mean that 11011 and 10001 would be the errors. However this is a single bit parity, so there needs to be an odd number of bit errors for it to be an definite error. I have 2 errors, which is even. So what would the answer be?

11011, and 10001? But that's not definite, right?

I think 10001 is a error, and 11011 isn't, as it should've gotten a 0 as parity bit, so it would be odd.
So 11011 must've been 0011 originally, they then added a 1 parity bit, but it became 11011, so two bits flipped.

Is this right? 10001 is the answer
 
sammie194 said:
So the parity bits are already added, this would mean that bit string: 11011, and 10001 still have an even amount of ones. This would mean that 11011 and 10001 would be the errors.

Yes, they have an even number of ones, and your problem specifies that each string was transmitted with odd parity.

sammie194 said:
However this is a single bit parity, so there needs to be an odd number of bit errors for it to be an definite error. I have 2 errors, which is even. So what would the answer be?

HUH? This bit in bold makes no sense. I meant that you can only detect an odd number of errors in EACH bit string. If an even number of errors occurs within a given string, you will never know, because that string will come out with the correct parity.

In this case, both of those strings had the wrong parity, which means you know FOR SURE that an odd number of bit errors occurred to each of those strings. They are both corrupted.

sammie194 said:
I think 10001 is a error, and 11011 isn't, as it should've gotten a 0 as parity bit, so it would be odd.
So 11011 must've been 0011 originally, they then added a 1 parity bit, but it became 11011, so two bits flipped.

Again, none of what you've said here makes any sense. How do you know that the parity bit isn't one of the ones that got corrupted? You can't reconstruct what each original 5-bit string was. All you can do is check its parity, and if its parity turns out to be wrong, then you know that that string is wrong. Both 10001 and 11011 are wrong.
 
Oh I read that part completely wrong =( So odd number of errors in each bit string, not in total -.-

In which strings have errors definitely occurred? (part of question)
How do you know if it might have an error or definitely has an error?

I would say 11011 and 10001 are definite errors, as the number of ones are even.
 
sammie194 said:
Oh I read that part completely wrong =( So odd number of errors in each bit string, not in total -.-

In which strings have errors definitely occurred? (part of question)
How do you know if it might have an error or definitely has an error?

I would say 11011 and 10001 are definite errors, as the number of ones are even.

That's the entire point of what I've been trying to explain. If the string has the wrong parity, then it must have an error. Wouldn't you agree?

However, just because the string has the correct parity doesn't mean errors haven't occurred. It just means that the number of errors in the string is even, which is not detectable by this scheme.
 
  • Like
Likes   Reactions: 1 person
Oh many thanks! I finally understand it!
Can you change the thread title to [closed], or is it not needed, and how can I do that?
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
8K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
11K
  • · Replies 24 ·
Replies
24
Views
7K
  • · Replies 17 ·
Replies
17
Views
6K
Replies
7
Views
2K
Replies
6
Views
4K