RF spectrum is democratic.
RF sources share the RF spectrum by modulating narrow band signals within preassigned channels.
Signals, in order to be bandwidth limited, has to be similar in shape to the prince of all bandwidth limited signals:
x(t) = Asin(2pift)
Digital modulation using band limited signals:
One of the simplest way to encode digital bit streams into sine-like waveforms is by associating 0's to a sine wave of a predefined frequency f1 and 1's to a sine wave of a predefined waveform of frequency f2.
f1 and f2 must satisfy this inequality:
| f1 - f2 | < Channel bandwidth
This is called binary shift keying modulation: 2-FSK
When an RF signal changes its frequency f from f1 to f2 or vice versa there's a certain period of time where f is not equal to f1 nor to f2.
This time interval is transient and it's just like a rising or falling edge time of a digital signal.
Within this time interval the signal is not 0 nor 1.
That's where the bit synchronization problem comes in.
Modern transmitters and receivers.
They are all based on a microcontroller architecture.
There's a CPU that executes a certain software and there's a certain amount of RAM and a fast and precise ADC converter.
RF signals are first pulled down in frequency, by a mixer, and then ADC sampled.
An 868 MHz RF signal is usually pulled down in the 100 kHz frequency range before being sampled.
Samples are stored in RAM for 1's and 0's patterns matching and recognition.
Bit synchronization in 2-FSK modulation
The transmitter and the receiver both know in advance the symbol rate or, in short, the baud rate.
The receiver starts ADC sampling and RAM recording the incoming signal at a frequency at least double than f1 and f2.
Let's say the sampling rate is 4 times f1.
The incoming signal is an analog waveform pretty different with respect to the one transmitted.
Reflections and absorption add distortion to the transmitted signal.
After recording N samples, the receiver starts the process of recognizing 0's and 1's in the samples set.
0's and 1's are called symbols.
Every N/4 samples there's one symbol, that is one bit.
Recognizing a symbol is done by geometrical projection (inner product) of 2 vectors: the received waveform and a non distorted waveform representing the perfect 0 or the perfect 1.
It's all based on Hilbert's signals theorems.
This is the inner product between 2 vectors:
GP_0 = s_1nds0_2 + s_2nds0_2 + s_3nds0_3 + s_4nds0_4
GP_0 is a number.
s_1 is sample 1 of the incoming signal and so on.
nds0_i is sample i of the non distorted signal 0
Afterwards, the receiver calculate GP_1
GP_1= s_1nds1_2 + s_2nds1_2 + s_3nds1_3 + s_4nds1_4
If GP_1 is greater than GP_0 than the received bit is a 1.
Attention here:
If the instant where the sampling process begins is not correctly aligned to the start of the received analog waveform than all of your samples are late or in advance by some time ΔT.
If ΔT is big, GP_1 and GP_0 become meaningless and the receiver is not able to recognize 1's and 0's.
That means that the receiver, before starting the recognition process, must correctly recognize the instants where symbols start. After that, the receiver shift backwards or forward all the samples stored in RAM by a certain amount of time ΔT.
This is called bit synchronization.