Extended or bit based Reed-Solomon error correction

In summary, the conversation discusses the search for an algorithm that can handle errors in a 1024 bit array without splitting it up. The speaker suggests using Reed-Solomon codes, but points out issues with it working on byte level, not bit level, and only supporting up to 256 bytes. They also mention the possibility of using Hamming codes with additional parity bits or a (255,128) Reed-Solomon code to correct up to 63 errors out of 255 bytes. The speaker expresses gratitude for the suggestions and plans to try them out.
  • #1
Povilas M
9
1
I am trying to find or develop an algorithm that can take a 1024 (lets assume random) bit array (so 128 bytes) and, by adding some redundancy (making the final code more than 1024 bits long), make it capable of decoding the data with up to n random bits flipped. Important point is that it has work on all the bits without splitting them up, so regardless of how the erroneous bits are distributed, it will always stay consistent in terms of how much error it can tolerate.

Reed - Solomon codes are as close as I've found to a suitable solution - they let you specify number of parity bytes n and can correct up to n/2 incorrect bytes, effectively letting you control the decoding success threshold. However, it has two issues that prevent me from using it:
1) It works on byte level, not bit. x flipped bits can affect from x/8 to x bytes, introducing a lot of inconsistency.
2) I would have transformed the bits into bytes with value 0 or 1, but that creates a 1024 byte array, while Reed - Solomon can support only up to 256 bytes (with correction codes included).

If anyone know about an algorithm that can achieve this or can direct me to some resources to help me develop it, that'd be greatly appreciated!
 
Technology news on Phys.org
  • #2
If you are considering transforming bits into bytes, you could use the values 0x00 and 0xff, handling up to 3 bit flips in a byte.

You could also use 4 bits of data per byte, which would allow a 7,4 Hamming code with additional parity bit, combined with Reed Solomon (using a larger field like GF(512) == 9 bit field). WIki article:

http://en.wikipedia.org/wiki/Hamming_code#.5B7.2C4.5D_Hamming_code_with_an_additional_parity_bit

If you're willing to add that much redundancy, you could use a (255,128) Reed Solomon code, which could correct up to 63 errors out of 255 bytes.
 
  • Like
Likes Povilas M
  • #3
rcgldr said:
If you are considering transforming bits into bytes, you could use the values 0x00 and 0xff, handling up to 3 bit flips in a byte.

You could also use 4 bits of data per byte, which would allow a 7,4 Hamming code with additional parity bit, combined with Reed Solomon (using a larger field like GF(512) == 9 bit field). WIki article:

http://en.wikipedia.org/wiki/Hamming_code#.5B7.2C4.5D_Hamming_code_with_an_additional_parity_bit

If you're willing to add that much redundancy, you could use a (255,128) Reed Solomon code, which could correct up to 63 errors out of 255 bytes.
Thanks a ton! I'll try the things you have pointed out, I'm sure at least one of them will work! The larger Reed Solomon field sounds exactly like what I need. Thanks again :)
 

1. What is Extended or bit based Reed-Solomon error correction?

Extended or bit based Reed-Solomon error correction is a type of error correction code used to detect and correct errors in data transmission. It is commonly used in digital communication systems, such as satellite and digital television, to ensure accurate and reliable data transmission.

2. How does Extended or bit based Reed-Solomon error correction work?

This error correction method works by adding redundant bits to the transmitted data. These redundant bits are calculated using a mathematical algorithm and are used to reconstruct the original data in case of errors. The receiver then compares the received data with the reconstructed data and can correct any errors that may have occurred during transmission.

3. What are the advantages of using Extended or bit based Reed-Solomon error correction?

Extended or bit based Reed-Solomon error correction has several advantages, including its ability to detect and correct a large number of errors, its suitability for various types of data, and its simple implementation. It also has a low decoding complexity, making it ideal for applications that require real-time transmission and decoding.

4. Are there any limitations to Extended or bit based Reed-Solomon error correction?

While Extended or bit based Reed-Solomon error correction is a reliable and widely used error correction method, it does have some limitations. It is not suitable for correcting burst errors, which occur when multiple bits are corrupted in a short period of time. It also has a limited error correction capability, as it can only correct errors up to a certain threshold.

5. How is Extended or bit based Reed-Solomon error correction different from other error correction methods?

Extended or bit based Reed-Solomon error correction is different from other error correction methods in several ways. It is a block code, meaning it operates on a fixed number of bits at a time. It is also a non-binary code, meaning it uses symbols with more than two possible values. Additionally, it is a systematic code, meaning the original data is preserved in the transmitted signal and can be easily recovered at the receiver's end.

Similar threads

  • Programming and Computer Science
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
1K
  • Programming and Computer Science
Replies
14
Views
2K
  • Programming and Computer Science
Replies
30
Views
4K
  • Programming and Computer Science
Replies
7
Views
3K
Replies
3
Views
10K
  • Quantum Physics
Replies
1
Views
399
  • Set Theory, Logic, Probability, Statistics
Replies
7
Views
3K
  • Programming and Computer Science
Replies
1
Views
3K
  • Sticky
  • Programming and Computer Science
Replies
13
Views
4K
Back
Top