 # Coding Expressions

Pulse width ts: is the shortest possible period in which a signal value stays constant, accordingly the shortest time between two state transitions. So in a binary code a "BIT", in other codes a "Symbol" has a specific pulse width.

Symbol rate, Baud rate vs: is the reciprocal of the pulse width and therefore a maximum value. It is not a measure for the transmitted user information because it includes error correction and other data for modulation purpose. The number of significant conditions n is decisive. In case of a binary code with n=2 the symbol rate is equal to the bit rate. In case of multilevel codes n is greater than 2, e.g. a ternary code with n=3 can be formed out of 3 voltages 12V, 0V, -12V. This is done to eliminate DC, or to transmit the clock and data together in one stream. In these multilevel codes you can get more information in the code because more values can be transmitted in the same time interval, but that also means a higher noise and error rate. n possible symbols can be formed out of lb n bits.
vs = 1/ts .........vs[Symbols/s, Baud]
vs = vb / lb n = vb × lg 2 / lg n
n = number of significant conditions, lb = binary logarithm, lg = decimal logarithm.

Bit rate vb: determines the data content of a binary code. BIT is a short form for BInary digiT. It describes the amount of binary data before further modulations.
For binary code: vb = vs .........vb[bit/s]

Code rate, Efficiency η: is the ratio from user data to the entire number of bits. For the asynchronous start/stop transmission (see character rate):
η = user data/m = 7/11 = 0,636 = 63,6%.

Data rate, Net bit rate vd: is the bit rate without the bits used for error correction. So if bit rate and code rates are multiplied you get a unit for the user data:
vd = vb × η = vs × lb n × η .........vd[bit/s]

Character rate vc: indicates how many characters can be transmitted in a certain time. Parity and control bits must be added. In case of asynchronous transfer the formula is only valid if there is no space between the stop bit and the following start bit.
vc = vs/m .........vc[characters/s]
m = Entire number of bits in a character frame, e.g. for asynchronous transmission:
m = 1 start bit + 7 data bits + 1 parity bit + 2 stop bits = 11

Dot frequency, Nyquist frequency fp: is the frequency of a 1:1 pulse repetition rate (10101...), with equal mark-to-space ratio.
fp = 1/(2×ts) .........fp[Hz]

## Digital Video Broadcast DVB:

QPSK modulation with n = 4 phase states
Code rate η = inner code rate (188/204) × forward error correction FEC
Data rate vd = Symbol rate vs × lb n × Code rate η = vs × 2 × (188/204) × FEC

DVB-S2 is not so easy to calculate, take the satlinker software.