Reading Stop and Start Bits

Yea asynchronous. That's kind of my problem. I'm going to be sending a continuous stream of bits, and if there's an error in the start bit then I'm not going to detect it.

For example, I send 2 bytes, one straight after the other. The output of the sender onto the powerline will be 0|10100110|10|11000111|1. So there is a 0 start bit, followed by 8 data bits, then a stop bit and then the start bit to start the next byte. But now let's say the noisy powerline corrupts one of the bits and the following sequence is received by the receiving transceiver: 0|10100110|11|11000111. Due to the corrupted bit, a normal UART will not tell me that there has been an error there and instead just send to me: 00111111 as data bits for the second byte.

Remember the transceivers have 2 interfaces: serial and the powerline. Whatever it receives on its serial rx line it pumps into the powerline, and whatever it detects on the powerline it pumps into its serial tx line. So the one transceiver will be receiving a nice long stream of serial from my laptop, which it will pump into the powerline. The receiving transceiver will then receive the bits. The transceiver holds its tx line high (as usual serial) and then when the powerline modulated signal is detected it changes it to low and high as it detects the signal (I'd imagine this is similar to how wireless devices that interface with serial work as well, but I'm not sure).

Point is I need a way to periodically sample the serial line at a high speed, but my Arduino does not seem to be fast enough, but I was thinking surely it must be fast enough somehow if it has a software serial library it must be able to sample it that quickly.