MODEM Development

A Data Communication Historical Series

By Bob Pollard

MODEM Development:

Modulator-Demodulator (data transmission device) is typically used to send digital data over a telephone line. The sending MODEM modulates the data into an analog signal that is compatible with the telephone line, and the receiving MODEM demodulates the signal back into digital data. A wireless MODEM converts digital data into radio signals at one end and converts the radio signal back to digital at the receiving end.


Modulation - Demodulation:

Modulation refers to the process of transforming digital data into analog signals for transmission. When transferring data over standard telephone lines, for example, a MODEM modulates the data into audible tones within frequencies between 0 Hz and 4000 KHz. Once the data reaches its intended destination, another MODEM demodulates the signal back into digital data. As mentioned earlier, depending on the line and equipment conditions, the usable frequency on a telephone channel usually falls somewhere between 300 and 3600 Hz.

Demodulation is the process of transforming an analog signal back to the original digital data. When data is transferred over standard telephone lines, a MODEM modulates the data into audible tones and when the data reaches its intended destination, another MODEM demodulates the signal and restores the digital data.


Converting Digital to Analog to Digital:

If you've ever picked up the telephone while a MODEM was connected then you probably heard a constant loud, screeching noise. This noise is the sound of digital information after it's been converted to analog signal waves.

Note: Different terms for analog signals may be used, such as: Sine Wave, Signal Wave, Wave, Radio Wave, Frequency (Hertz), Cycles, Signal or Alternating Current.


Baud and Bits per Second (bps):

The term baud and BPS are often used interchangeably. However, the two are not the same

The number of signal intervals, or pulses (change of state) that are transmitted per second determines the baud rate. Each pulse in this case is called a baud.


  Bps is a measure of how many bits can be transmitted in one second and several bits may be combined together during one pulse (baud), i.e. Quadrature Amplitude Modulation, which transmits 8 bits per baud; a signal pulse or change of state occurs every 8 bits.

The two are often confused because the early MODEM transmitted only 1 bit per baud, so a 1200 baud MODEM would also be transmitting 1200 bps.


  A MODEM operating at 9600 bps may be transmitting at 1200 baud because 8 bits are packed into each baud, a single transition or change of state (pulse): 9600 bps = 1200 baud x 8 bits per baud.

When connected a MODEM constantly transmits a carrier signal (frequency). The carrier signals function is to ‘carry’ information from one place to another. Review the picture below. The frequency of the carrier signal will be determined by the MODEM being used, within the normal telephone voice grade line bandwidth (3000 – 3300 Hertz).

  The above illustrated configurations could represent a terminal at an off-site office or store that could ‘dial in’ to a central computer. In the 1960s many companies offered time-shared computers, so a business would often buy computer time from a time-share facility and connect to it via a 300-bit-per-second (BPS) MODEM.


  There have been many models and types of MODEM over the years and their capability and efficiency has greatly improved. Thirty years ago 9600 bps over a telephone voice grade channel was a high speed MODEM, today 56.6 kbps is the norm. Basically each computer system / terminal line requires a MODEM(s) in order to operate on a telephone (voice) type line using analog signals. The MODEM converts the digital signal (pulses) to an analog signal (AC), cloning a voice analog signal and, in turn, converts an analog signal to a digital signal. Of course a digital telephone type line (circuit), which really is not a voice channel, would alter this requirement. For low speed usage there could be more than one MODEM connected to one voice grade line, utilizing frequency division multiplexing. A compatible MODEM must be connected to each end of the line. The MODEM also provides control (handshaking/protocol) signals (RS232 / RS449) for efficient and controllable operation between the MODEM and connected devices.


1960s 300-bps MODEM operation:
A 300-bps MODEM utilizes Frequency Shift Keying (FSK) to transmit digital information over a telephone line. A different tone (frequency) is used for the different bit levels.


  When a terminals MODEM dials a computers MODEM the terminals MODEM becomes the originate MODEM. It transmits a 1,070-hertz tone / frequency for a digital 0 and a 1,270-hertz tone for a digital 1. The computer MODEM becomes the answer MODEM, and it transmits a 2,025-hertz tone for a digital 0 and a 2,225-hertz tone for a digital 1. Because the ‘originate’ and ‘answer’ MODEM transmits different tones, they can use the line simultaneously. This is known as full-duplex operation. A MODEM that can transmit in only one direction at a time is known as a half-duplex MODEM.


  A typical scenario after the connection is made: The user at the terminal types the letter ’a’. The ASCII code for this letter is 97 decimal or 01100001 binary. A device inside the terminal called a UART (Universal Asynchronous Receiver/Transmitter) converts the byte into individual bits and sends them out one at a time (serial) through the terminal's RS-232 port (serial port). The terminals MODEM is connected to the RS-232 port, so it receives the bits one at a time and transmits them over the telephone line in an analog form, using the frequencies listed above. Any transmission from the computer would take the reverse route over the telephone line and be converted to digital information by the terminals MODEM.


  Many terminals used during the 1960s and early 1970s were referred to as dumb terminals because they lacked intelligence (no programming) and mainly consisted of a keyboard and screen and had the capability to connect (dial-in) to the computer system via the telephone facilities.


  A very common dumb terminal at the time was called the DEC VT-100, and it basically became a standard of the day. The VT-100 screen could display 25 lines of 80 characters each. When the user typed a character on the terminal, the MODEM sent the ASCII code for the character to the computer. The computer then sent the character back to the terminal so it would appear on the screen, a form of error checking (echo back).


  When Personal Computers / Desk Top Computers became popular in the late 1970s (early 1980s), Bulletin Board Systems (BBS) were implemented, which allowed individuals to post messages and converse with each other though these message postings. A person could set up a computer with a MODEM(s) and BBS software, which allowed people to dial in to connect to the bulletin board and post a message. Many times the users would run terminal emulators on their computers to emulate a dumb terminal.


  For years individuals got along fine using the standard 300 bps MODEM and the reason this speed was tolerable was because 300 bps represents about 30 characters per second, which was basically fast enough for the existing equipment configurations. However, once individuals started transferring large programs 300 bps was not satisfactory.


  From the beginning (1962), starting with the first 300-Baud MODEM, through the 1980’s, MODEM speeds of 600, 1200, 2400, 4800 and 9600 bps, 14.4 kbps, 19.2 kbps, 28 kbps and 28.8 kbps were available. Error correction and data compression was available in a 9600 bps, 14.4 kbps and 28.8 kbps MODEM. Many manufactures during this period and later used non-standard protocols and developed their own unique modulation schemes. In many cases this required the MODEM on each end to be obtained from the same manufacture in order to support the required protocol. Standardization gradually became the norm for the public market and now MODEM compatibility is not much of a problem. Of course the old and new are still used at times so the compatibility problem is still present.

In the 1990s higher speed MODEM(s), 33.6 kbps, 56 kbps and ADSL (Asymmetric Digital Subscriber Line) became available. ADSL technology delivered upstream (from the user) at speeds up to 800 kbps and downstream (to the user) speeds of 1.5 mbps to 9 mbps. ADSL also uses the portion of a phone lines bandwidth not utilized by voice, allowing for simultaneous voice and data transmission. The name MODEM seems to lose its standard definition when referring to lines using ADSL and other digital media because a digital signal isn’t necessarily changed to an analog signal and then back to a digital signal.


  In the world of today Cable TV networks, for example, also use modulation-demodulation techniques to transfer data. But instead of audible tones, cable has sophisticated digital modulation (multiplex) schemes that greatly increase the amount of data that can be transmitted. When comparing the data per second transfer capability between a digital line and an analog line, a greater amount of information per second can be sent digitally. This is normally accomplished using a standard line (circuit) or a digital cable system and not a telephone voice grade line. Also digital communications provides an improvement in the quality (fidelity) of the signal.


Autobauding or Automode:

Refers to automatic timing adjustments for error free transmission and in fact today’s commonly used 56.6 Kbps MODEM on average actually operates between 14 to 50 Kbps rates. When the automatic timing / BPS rate adjustment MODEM was invented and implemented the term ‘Autobauding’ or ‘Automode’ was used to identify this automatic bit per second adjustment feature. In general the term is used to identify either the automatic adjustment of MODEM-to-MODEM speed or MODEM-to-computer port speed.


MODEM Transfer Rate Adjustment:

From the beginning (1962), starting with the first 300-Baud MODEM, through the 1980’s, MODEM speeds of 600, 1200, 2400, 4800 and 9600 BPS, 14.4 Kbps, 19.2 Kbps, 28 Kbps and 28.8 Kbps were available. Error correction and data compression was available in a 9600 BPS, 14.4 Kbps and 28.8 Kbps MODEM. Many manufactures during this period and later used non-standard protocols and developed their own unique modulation schemes. In many cases this required the MODEM on each end to be obtained from the same manufacture in order to support the required protocol. Standardization gradually became the norm for the public market and now MODEM compatibility is not much of a problem. Although, the old and new are still used at times so this does create compatibility problems.


  A modern MODEM will initiate and maintain the MODEM-to-MODEM speed and protocol when they first connect to each other and normally will attempt to maintain the highest possible bit per second (bps) rate. If the receiving MODEM can’t accommodate the initiated BPS rate then the transmitting MODEM must adjust the BPS rate to a manageable and acceptable level. There are exceptions because some modern MODEM(s) may no longer support some of the previous (older) protocols. During the initiation process one MODEM often must use a lower speed than its maximum in order to connect with the other MODEM. Sometimes the term ‘fallback’, in addition to the terms Autobauding and Automode, is used to identify this action since one MODEM falls back to a lower speed in order to communicate with the distant MODEM.


  There are many reasons why the BPS transfer rate must be reduced in order to accomplish an error free data transfer. A few reasons would include, but not be limited to: The connection being made to an older model MODEM, noise (interference) on the connecting line, such as when using a dial-up connection, and noise or limitations created by the equipment in series with the line connection. For example: The V.23bis 14.400 bps MODEM may fallback to 12,000, 9600, 7200, or 4800 bps based on various equipment and line conditions and the speed rate of the distant connected MODEM.


  A MODEM that provides data buffer features can also compensate for speed differences when connected to another MODEM, or when connected to a computer serial port, by storing data (bits). If the data buffer reaches the full point then the transfer speed must be reduced.


Error Detection and Correction:

One of the biggest problems with a MODEM(s) and telephone line communication is the presence of errors. If a signal (data) has errors (corrupted) when it is received, the receiver needs to detect the error and request a retransmission of the data.


  A simple way to do this is a parity check. A parity check works by attaching an extra bit (parity bit) at the end of each byte or character or attaching a group of bits for block error checking.

There are two kinds of parity for the basic byte or character error detection: odd and even. An odd parity means that the total number of bits that have a value of 1 in a character, including the parity bit, must be an odd number. An even parity is just the opposite: the total number of 1 bits in a character, byte or bit stream must result in an even number of 1 bits.


  An error checking MODEM will count up the number of ‘1’ bits in each byte, character or bit stream (signal). If the MODEM is communicating with even parity, and the total number of 1 bits in the signal (transmission) excluding the parity bit is odd, the parity bit will be set to 1, thus making the total number of ‘1’ bits even. If the total number of 1 bit(s), excluding the parity bit, are even the parity bit will be set to 0. Odd parity works similarly, but the total number of 1 bit(s) in a character, byte or bit stream will be set to an odd number via the parity bit.

Example: Our signal (character) is 1100, and even parity is used. Since there are two ‘1’ bits, the parity bit will be set to 0. But if the signal was 1101, there are now three ‘1’ bits, and the parity bit will be set to 1 making the total number of ‘1’ bits four, an even number.


  When a simple error detection technique described above is used the method of correction is the rejection of the received byte or character and a request sent to the transmitting device to repeat the character transmission.

A simple block (group of characters) parity check technique involves attaching a check character that represents the parity check character (bits). The parity check character is composed of a binary number, usually a character (byte) in length. The number of ‘1’ bits set in the parity check character is based on the number of ‘1’ bits contained in the block of data. Using this technique the validity of the data block can be tested. Also character parity con be applied to each character in the block as well. This technique is usually referred to as ‘Checksum’ error detection. If an error is detected the entire block would normally be retransmitted.


  When more sophisticated error checking techniques are used error correction can also be accomplished, providing the error does not impact too many bits.


  CRC (Cyclic Redundancy Check): An error checking control method in which the block check character (BCC) is the remainder after dividing all the serialized bits in a transmitted block by a pre-specified binary number (polynomial). This technique can be used for error correction.

  Error correction Coding (ECC): An encoding method that detects and corrects errors at the receiving end of data transmission. ECC is used by most MODEM(s).


  Checksum: A number of bits that is transmitted with data so that the receiving device can verify the accuracy of the data that it received. If the number of bits that arrives is the same that is sent, the transmission is believed to be complete. The checksum may be 8 bits (256 sum), 16, 32, or some other size. It is computed by adding (summing) the total bits in the bytes or words of the data block ignoring overflow. Internet packets use a 32 bit Checksum.


  Parity Bit: An extra bit used in checking for errors in transferred groups of data bits. In MODEM communications, it is used to check the accuracy of each transmitted character. In RAM, a parity bit is used to check the accuracy of each transferred byte.


  There are other error detection and correction techniques, not listed above, and some may be a combination of the ones listed above.


Data compression:

In most cases a MODEM that provides an error correction feature also performs data compression functions. This is the process of removing repetitive bits or characters, flagging the removal, at the sending MODEM and then restoring the data to its original form at the receiving end MODEM. This data compression feature reduces the data transmission time.


Examples of Modulation Techniques:

Various modulation techniques were developed over the years following the introduction of the MODEM in the early 1960’s. Primarily different modulation schemes and combinations were developed to increase error free bit per second transmission speeds and to provide full utilization of the available channel bandwidth. A few examples:

Binary Phase Shift Keying: See Phase Shift Keying (PSK).


Dibit/ Di-Bit - Two bit groups: In four-phase carrier modulation, each possible dibit is encoded as one of four unique carrier frequency phase shifts. The four possible states for a dibit are 00, 01, 10, and 11.


Differential Phase-Shift Keying (DPSK): A modulation technique in which the relative changes of a carrier sine wave phase occur according to the data transmitted.


Differential Pulse Code Modulation (DPCM): Is a method of digital encoding where the analog signal is sampled, and the difference between each sample of the signal and its prior estimated value is quantified and digitally encoded.


Frequency Modulation (FM): A method of data transmission where the frequency of the carrier wave (AC) is changed to correspond to the changes as introduced by the signal wave.


Frequency Shift Keying (FSK): The carrier (base) frequency is shifted or varied in accordance with the transmitted signal. In simple terms a 1 or 0 would create different frequencies.


Phase Modulation (PM): The phase of the sine wave, or carrier frequency, is modified in accordance with the information to be transmitted.


Phase Shift Keying (PSK) / Binary Phase Shift Keying: The phase of the carrier frequency is modulated (shifted) based on the changing state of the input signal.


Pulse Amplitude Modulation - (PAM): The carrier frequency amplitude varies according to the characteristics of the original analog signal; the pulse width is constant.


Pulse Code Modulation - (PCM): The process of sampling and coding a modulated signal and transforming each element of information into a various number of pulses and spaces.


Pulse Duration Modulation (PDM): The duration of the pulses (pulse width) is varied.


Pulse Length Modulation (PLM): A form of carrier modulation where the pulse length is varied.


Pulse Modulation: Information is modulated by a pulsed or intermittent carrier frequency.


Pulse width, count, position, phase, and/or amplitude can be the varied characteristic.


Pulse Position Modulation (PPM): Pulse modulation achieved by varying the timing of the pulses, while maintaining their duration.


Pulse Width Modulation (PWM): The duration of the pulse-width is varied according to the characteristic of the modulating signal.


Quadrature Amplitude Modulation (QAM): A combination of phase and amplitude modulation: Used by a high-speed, synchronous MODEM.


MODEM Standards (X, Y, Z):

XMODEM: A protocol for transferring files during direct dial-up communications. XMODEM has basic error checking to ensure that information isn't lost or corrupted during transfer; it sends data in 128-byte blocks. XMODEM CRC (Cyclical ‘cyclic’ Redundancy Check) uses a more reliable error-correction scheme, and XMODEM -1K transfers data faster by sending it in 1,024-byte blocks.


YMODEM: A protocol for transferring files during a direct dial-up communications. YMODEM sends data in 1,024-byte blocks. However, it doesn't work well on noisy phone lines, unlike its successor, ZMODEM. YMODEM - Batch can send several files in one session. YMODEM-G drops software error correction, which speeds up the process because error correction is performed elsewhere.


ZMODEM: A more reliable protocol for transferring files using dial-up connections. A ZMODEM operates at high speed rates and provides error-checking routines. Also it can resume a file transfer after a break in communications.


V. Standards:

The V standards were established and continually updated by CCITT (International Consultative Committee for Telephone and Telegraph). These standards are used by MODEM manufacturers (voluntarily), in order to ensure compatible speeds, compression, and error correction. Example: V.34 (pronounced "v-dot 34"), the standard for 28.8-kbps communication. ‘Bis’ (French for encore) is an international designation for the first or minor revision to a standard.


V Series:

V Series refers to a group of ITU-TS (International Telephone Union) & CCITT recommendations and standards governing data transmission over telephone lines.

V.21: The CCITT standards for 0-300 bps (bits per second), full duplex, dial-up MODEMS.

V.22: The CCITT Standard for 1200-bps full duplex, dial-up or leased-line MODEMS.

V.22bis: The CCITT Standard for 2400-bps full duplex, dial-up MODEMS.

V.23: The CCITT Standard for 600- and 1200-bps, dial-up MODEMS.

V.26: The CCITT Standard for 2400 bps, leased-line MODEMS.

V.26bis: The CCITT Standard for 1200 and 2400 bps dial-up MODEMS.

V.26ter: The CCITT Standard for 2400 bps full duplex, dial-up MODEMS.

V.27: The CCITT Standard for 4800 bps, leased-line MODEMS.

V.27bis: The CCITT Standard for 2400 and 4800 bps leased-line MODEMS.

V.27ter: The CCITT Standard for 2400 and 4800 bps dial-up MODEMS.

V.29: The CCITT Standard for 9600 bps, point-to-point, four-wire, leased-line MODEMS.

V.32 terbo: An industry communications standard for a 19.2 Kbps dial-up MODEM

V.32: MODEM standard for error correction and compression at speeds of 9,600 bps

V.32bis: MODEM standard for error correction and compression at speeds of 14.4 Kpbs

V.33: The CCITT Standard for 14.4Kbps, point-to-point, four-wire, leased-line MODEM.

V.34: MODEM standard for error correction and compression at speeds of 28.8 Kbps.

V.34bis: Provides up to 33,600 bps with fallback to 31,200 bps or 28.8 Kbps.

V. Fast: A designation for a MODEM capable of data speeds up to 28.800 bps.

V.35: The trunk interface between a network device and a packet switching network at

         19.2 Kbps or higher, may use the bandwidths of several telephone circuits as a group.

V.42: Provides for the same transfer rates as V.32 and V.32bis, but has more reliable error

         Correction features.

V.42bis: MODEM standard for error correction and compression at speeds of 28.8 Kbps.

V.54: The CCITT Standard for a MODEM loop-back.

V.90: MODEM designation for 56.6 Kbps.

V.92:  A recent international standard for 56K data communications. This standard increases the

          upload speed; allows a data call to be put on hold to take an inbound voice call, and

          shortens the time to make a connection.


  As indicated above by the bit per second (BPS) rates the V Series listed MODEM, based on the model, can operate (modulate-demodulate) using different bandwidth analog frequencies, which would be referred to as a sub band, band, bandwidth, channel or sub channel. When a reference to operating at different frequencies is ignored then the MODEM is simply listed as operating at a specific bit per second rate. If the MODEM were connected to a voice grade line using an analog signal then a specific carrier frequency value would be used even if frequency requirements were not listed. This frequency requirement could consume only a portion of the full voice grade line frequency (bandwidth) or the total usable frequency available. The BPS rate and modulation technique would dictate the frequency spectrum required.


  If the MODEM is a digital unit and operates on a digital line then an analog signal would not be used. The BPS rate would define the operation speed and the type of facility (line) required.



RS-232 specifies the MODEM Standard for signals and connector pin assignments. RS 232-C is a designated Electronic Industries Association (EIA) standard for MODEM signaling and connectors. The RS232 standards were originated in order to establish standardized procedures and connections between the MODEM and the attached equipment (devices). A listing of the signals and associated connector pin numbers can be found in the Glossary under RS232-C.



RS-449 specifies the Data Terminal Equipment (DTE) and Data Communication Equipment (DCE) Standards for signals and connectors. RS-449 is a designation for the Electronic Industries Association (EIA) standard that is compatible with RS-232C, but supports higher data rates at greater distances. The RS-449 interface uses a 37-pin connector and supports transmission data rates up to 2 Mbps at distances up to 200 feet. A listing of the signals and associated connector pin numbers can be found in the Glossary under RS-449.


MODEM Advancements:

In order to create a faster MODEM techniques far more sophisticated than frequency shift keying had to be utilized. First Phase Shift Keying (PSK) and then Quadrature Amplitude Modulation (QAM) were used. These techniques allow a large amount of information to be transmitted into the 3,000 to 3300 hertz bandwidth available on a normal voice-grade telephone line. A 56 kbps MODEM, which actually connects at a lower bit per second rate on anything but absolutely perfect lines, is about the limit of these techniques.


  All high-speed MODEM(s) incorporate a concept of gradual degradation, meaning they can test the telephone line and receiving MODEM and fall back to slower speeds if the line or MODEM cannot handle the highest speed.


Modern high speed MODEM:

Asymmetric Digital Subscriber Line (ADSL) Transceiver (DSL MODEM): The word asymmetric is used because the ADSL MODEM sends data ‘downstream’ faster than it sends data ‘upstream’. An ADSL Transceiver (MODEM) can be connected to any dedicated copper wire running between it and a telephone company central office DSL Access multiplexer (ATU-R ‘Termination Unit-Remote’), within approximately 18000 feet. This dedicated copper wire can be the existing telephone line, which can carry far more data than the 3,000-hertz signal needed for your telephone voice channel. With an ADSL Transceiver on each end of the line the section of copper wire between the home and the Telephone Company can act as a purely digital high-speed transmission channel. Under ideal conditions the capacity would be 1 million bits per second (Mbps) between the home and the Telephone Company (upstream) and 8 Mbps between the Telephone Company and the home (downstream). The same line can be used to transmit both a telephone conversation and the digital data.


  ADSL Transceiver (MODEM) principle operation: The telephone line copper wire bandwidth between 24,000 hertz and 1,100,000 hertz is divided into 4,000-hertz bands, and a virtual MODEM is assigned to each band. Each of the virtual MODEM(s) (up to 249) will test the assigned band and will transmit at the highest BPS rate possible. The aggregate of the 249 virtual MODEM(s) will determine the total speed of the line.

Cable TV networks also use modulation / demodulation techniques to transfer data over analog broadband channels that normally utilize frequencies greater than 4000 Hz.


  There are other MODEM(s), such as cable and other high speed digital MODEM(s). A cable MODEM may function at 30 Mbps (megabits per second).  An Ethernet connection may function up to maximum of 10 Mbps; and a connection to the Internet using a pair of T1 lines may function up 1.544 Mbps. Since these connections / devices do not utilize the normal telephone voice grade line they are not restricted by the normal telephone line bandwidth of 3000 to 3300 Hz. Also the MODEM(s) in reality may operate with a digital signal before, between and after the connected MODEM(s). Therefore the name MODEM takes on a different meaning because the MODEM assumes a computer like operation.


  Today, in what is referred to as Point-to-Point Protocol, the MODEM represents a computerized interface device. The MODEM is used to connect to an Internet Service Provider (ISP), and the ISP connects into the Internet. Because of the functional relationship between your computer, the ISP and the Internet, it is no longer appropriate to send individual characters; instead the MODEM routes (sends) and receives TCP/IP (Transmission Control Protocol / Internet Protocol) packets to and from the ISP. The standard technique for routing these packets through the MODEM is called the Point-to-Point Protocol (PPP). Basically the computer TCP/IP forms the message(s) for transmission then they are handed to the MODEM for transmission in packets. The ISP receives each packet and appropriately routes them into the Internet. The same process occurs to get data from the ISP to your computer.