I have been looking around for a formula for converting baud rate to bit rate on the arduino. From wiki, I understand that if the 'state' of the communication varies between 1 and 0 only, then bit rate is the same as baud rate?
Is this true for the Arduino, since I take it the tx/rx pins use high and low for transmitting data?
Serial data is usually sent with 10 or 11 bits per byte: a "start bit" (to let the receiver know the data is coming), 7 or 8 data bits, and 1 (occasionally 2) "stop" bits to mark the end of the byte. You can also add a parity bit, but that's rarely done these days.
Most systems these days have little or no delay between characters, so the "bit rate" is essentially the same as the "baud rate". And they usually send 8-data bits, with 1 start and one stop bit, so the "byte rate" is 1/10 the baud rate.
Where you get a difference between the bit rate and the baud rate is when you have different modulation schemas like QAM (quadrature amplitude modulated ) This sends a signal that has a phase and an amplitude. The bigger number of combinations of phase and amplitude you can discriminate the more bits you can send per baud. So a baud rate refers to the change rate of a physical signal and the bit rate refers to the information throughput.
So if your signal has four phases and two possible amplitudes that's 8 different sorts of signal. Therefore each signal you receive can convey three bits. So if that signal changes at 10 times a second you have a baud rate of 10 bauds but you have a data throughput of 30 bits per second. This is baud rate is also referred to as the symbol rate.
However bit rate and baud rate tend to be used synonymously especially with asynchronous communications (that's the Sunday name for the sort of serial communications used between the Arduino and a computer).