# Node-to-node data transfer

In telecommunications, node-to-node data transfer is the movement of data from one node of a network to the next. In the OSI model it is handled by the lowest two layers, the data link layer and the physical layer.
In most communication systems, the transmitting point applies source coding, followed by channel coding, and lastly, line coding. This produces the baseband signal. The presence of filters may perform pulse shaping. Some systems then use modulation to multiplex many baseband signals into a broadband signal. The receiver un-does these transformations in reverse order: demodulation, trellis decoding, error detection and correction, decompression.
Some communication systems omit one or more of these steps, or use techniques that combine several of these steps together. For example, a Morse code transmitter combines source coding, channel coding, and line coding into one step, typically followed by an amplitude modulation step. Barcodes, on the other hand, add a checksum digit during channel coding, then translate each digit into a barcode symbol during line coding, omitting modulation.

## Source coding

    See main article Data compression
Source coding is the elimination of redundancy to make efficient use of storage space and/or transmission channels.
Examples of source coding are:
* Huffman coding
* Morse code
* Binary coding

## Channel coding

    See main article Error correction and detection.
In digital telecommunications, channel coding is a pre-transmission mapping applied to a digital signal or data file, usually designed to make error-correction (or at least error detection) possible.
Error correction is implemented by using more digits (bits in cases of binary channel) than the number strictly necessary for the samples and having the receiver compute the most likely valid message that could have resulted in the received one.
Types of channel coding include:
* Parity checks
* Hamming code
* Reed-Muller code
* Reed-Solomon code
* Turbo coding

## Line coding

    See main article Line code
Line coding consists of representing the digital signal to be transported, by an amplitude- and time-discrete signal, that is optimally tuned for the specific properties of the physical channel (and of the receiving equipment). The waveform pattern of voltage or current used to represent the 1s and 0s of a digital signal on a transmission link is called line encoding. After line coding, the signal can directly be put on a transmission line, in the form of variations of the current. The common types of line encoding are unipolar, polar, bipolar and Manchester encoding.
Line coding should make it possible for the receiver to synchronise itself to the phase of the received signal. It is also preferred for the line code to have a structure that will enable error detection.
Examples of line coding include: (see main article line code)
* B8ZS
* HDB3
* 2B1Q
* AMI
* Gray coding

## Modulation

Modulation is the process of varying a carrier signal, typically a sine wave to use that signal to convey information. One of the three key characteristics of a signal are usually modulated: its phase, frequency or amplitude.
In digital modulation, the changes in the signal are chosen from a fixed list (the modulation alphabet) each entry of which conveys a different possible piece of information (a symbol). In analogue modulation, the change is applied continuously in response to the data signal.
Modulation is generally performed to overcome signal transmission issues such as to allow
* Easy (low loss, low dispersion) propagation as electromagnetic waves
* Multiplexing, the transmission of multiple data signals in one frequency band, on different carrier frequencies.
* Smaller, more directional antennas
Carrier signals are usually high frequency electromagnetic waves.
Examples of modulation include:
* amplitude modulation
* frequency modulation
* Phase-shift keying