Converting digital data into signals for transmission.
For data to be transmitted across a network medium, it must first be converted into a signal. A signal is an electromagnetic wave or electrical current used to carry information. Signals can be analog or digital. Analog signals are continuous and have infinitely many levels of intensity over a period of time, much like a sound wave. Digital signals are discrete, representing information as a sequence of voltage levels, typically two: one for '0' and another for '1'. Since computer data is inherently digital (a series of bits), we need techniques to represent this data as a digital signal. This process is called digital-to-digital encoding or line coding. There are several encoding schemes, each with different properties. For example, the Non-Return-to-Zero (NRZ) scheme uses a positive voltage for one bit and a negative voltage for the other. While simple, it can suffer from synchronization issues if there's a long string of identical bits. To solve this, Manchester encoding combines the data bit and a clock signal by having a transition in the middle of each bit period (e.g., high-to-low for a '1', low-to-high for a '0'). This built-in transition guarantees synchronization but requires twice the bandwidth. Another important concept is modulation, which is the process of converting digital data into an analog signal, necessary for transmission over media like telephone lines or wireless channels. Techniques like Amplitude Shift Keying (ASK), Frequency Shift Keying (FSK), and Phase Shift Keying (PSK) are used for this purpose.