I'm trying to establish a one-way communication and facing problem in the receiver end because of some missing bits. For example, if the sender sends 100 bits the receiver received 95/96 bit. Now the position of these missing bits in the received bitstream is non-deterministic. Sometimes bit get missing at the beginning (for example after 50 bits), sometimes at the middle or sometimes at the end. Basically,

My received bitstream length is less than the sending bitstream length.

Is there any way I can detect, at which position these bits get missing?

  • 1
    $\begingroup$ Have you tried coding? Like, error-correcting codes? Add some redundancy, if you do it right you can not only detect but also correct missing/erroneous bits. $\endgroup$
    – Florian
    Sep 6, 2019 at 21:07
  • $\begingroup$ yes, I did try error-correcting code both hamming code and reed-Solomon code. But as I said, my problem is with the received bitstream length. Because both hamming code and Reed-Solomon requires the encoded bitstream and to be decoded bitstream to be the same lenght. $\endgroup$
    – perplex
    Sep 6, 2019 at 21:18
  • 2
    $\begingroup$ @perplex you didn't choose the right codes, though :) The problem you're describing is not very often encountered in communications; my first instinct would be to convert these missing bits into bit errors through some clever mechanism. But that seems non-trivial to devise. By what mechanism do you transport these bits, and by which failure do some go "missing". And, what is your actual data length and "missing rate"? The actual sizes make a lot of difference here, so I'm not really convinced we can help you with but your example (which I don't know how well it represents your real problem!). $\endgroup$ Sep 6, 2019 at 21:31
  • 3
    $\begingroup$ @perplex I'll bet at least part of your problem is related to timing synchronization. If the Tx/Rx clocks are not synchronized, then you either get more bits than were transmitted, or fewer bits. Can you edit your question to add information about how you're doing clock synchronization? $\endgroup$
    – MBaz
    Sep 6, 2019 at 23:00
  • $\begingroup$ Seconding what @MBaz says: there's actually many ways of dealing with this, but the one way I can imagine single bits going missing (as opposed to being erased, I known to be there, but of undefined value) is messed up synchronization. There's many ways to deal with that – there's even self-synchronizing decoders – but there's no general appropriate way, and it typically becomes a joint physical layer / channel coding design problem, so we'll need to know a lot more about your system. $\endgroup$ Sep 6, 2019 at 23:58


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.