I have a binary stream that has a very high error rate. The error rate is 50% meaning each bit has a 50% chance of being flipped. The error does not occur in bursts and is completely random, so Reed–Solomon codes wouldn't work well.
Which scheme or algorithm should I apply to the stream? I don't care about the overhead at all.
This is all theoretical, so there's no point in asking if I could just reduce the error of the stream.
EDIT
Don't say its not possible, the very first answer it tells you it is possible with noisy channel coding theorem.
If the error rate is 50%, then that's basically random noise isn't it? I mean, consider just trying to transmit a single bit. If you send an infinite stream of the right bit, with a 50% error rate you'll get half 1s and half 0s whether the right bit is 1 or 0.
If it's actually less than 50% (e.g. 50% of the bits will be "random" rather than "flipped") then you could just repeat the data - transmit each bit 128 times and work out which you get more of for each 100 bits received. That's the simple-to-code, hugely inefficient, not mathematical at all solution :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With