An interactive explanation
Internet Noises
In the 1990s, many people connected to the internet with a dial-up modem. Each connection started with approximately 20 seconds of loud sound. This sound was not noise. Two modems used it to send information to each other on a telephone line. They identified each other, measured the line and agreed on a speed. On this page, you can listen to the sound, examine its parts and make a small modem.
Sound starts only when you push a button. The start volume is moderate. To change the volume, use the bar at the top of the page. All calculations occur in your browser. The page sends no data.
- Historical
- Facts about real standards and equipment, with numbered sources.
- Recreation
- Sounds that this page generates. They are similar to the real sounds.
- Simplified model
- Simulations that operate, but do not include all details. Each one lists what it does not include.
Chapter 1
Listen to a connection
Push Play and look at the picture below the waveform. This picture is a spectrogram. Time goes from left to right, and frequency goes from bottom to top. The color shows the level of each frequency. Each sound in the connection makes a different pattern, and each sound has a function.
Wait for the interactive player. It needs JavaScript.
The four parts of a connection
- The telephone call. Your modem does the same steps as a person with a telephone. It connects to the line and waits for the dial tone. Then it dials the number with touch tones and monitors the ring tone. These are the usual signals of the telephone network [12][13][10][11].
- Identification and negotiation. The modem that answers sends a high, constant tone. This tone tells the caller that a modem answered. It also stops the echo suppressors and echo cancellers that telephone companies installed for voice calls [3][14][15]. Then each modem sends a list of the functions that it can use. The lists use a slow code of 300 bits per second, because noise has less effect on a slow code [1][2].
- Probing and training. The modems measure the time that a signal needs to go across the line and back. Then they send 21 tones at the same time to measure how the line changes each frequency. Then they send long, known signals that sound like noise. Each receiver uses these signals to adjust itself to the line [4].
- Data. The two modems change to the agreed speed and start to send data. The data sounds like a constant hiss. At that point, most modems had already switched off their speaker.
Why did the speaker stop?
The sound did not stop because the modems stopped. It stopped because your modem switched off its speaker. The speaker let you hear problems: a busy signal, a person who answered a wrong number, or a line with no dial tone. After each modem found the carrier of the other modem, there was no more useful information to hear.
The Hayes command set controlled the speaker, and ITU-T V.250 later standardized these commands [7]. ATM0 means “speaker always off”. ATM1 means “speaker on until the modem detects a carrier”. ATM2 means “speaker always on while off-hook”. M1 was a factory setting of Hayes modems [8]. To hear what the speaker did not play, select Keep listening (ATM2) in Figure 1.
How we identified the stages in this recreation
This is not a recording. A script in your browser generates each sound. The script follows the procedures of V.8 and V.34 [1][4]. It makes a separate signal for each source: the telephone network, your modem and the modem of the provider. Because the script sets the start and the end of each signal, the stage limits in the timeline are exact for this recreation. They are not measurements of a real call.
Each stage has one of three labels:
- Faithful: the frequencies, the modulation and the framing follow the standard. Examples are the answer tone, the V.8 menus and the 21 probing tones.
- Representative: the type of signal is correct. We selected durations that the standard permits.
- Illustrative: the bits are random, not real fields. This applies to most INFO fields and to all data.
The V.8 menus use the exact bit patterns from the tables of the standard. For this reason, the receiver from Chapter 4 can decode them from the audio.
The answering modem waits 0.4 s before it sends the answer tone. V.8 requires a minimum of 0.2 s. Older equipment waited longer. In the United States, billing-protection rules prevented data on a newly answered line for two seconds. These rules did not apply to handshake tones [42].
Real connections were different. The line, the modem firmware and the equipment of the provider changed the durations. Many calls also had a V.8bis exchange before the answer tone. The recording that Oona Räisänen analyzed has this exchange [44].
Wikimedia Commons has real recordings with their licenses [45]. You can analyze a recording with the tool at the end of Figure 1. The file stays on your computer. The tool does not identify the stages automatically. Guide lines show where the standard frequencies are.
Chapter 2
Why a telephone line? What is a modem?
In the 1980s and 1990s, the telephone network was the only network that went to almost all homes and offices. Engineers designed it for voice. The copper pair from a house to the local exchange carried sounds from approximately 300 to 3,400 hertz. After the exchange, each call was a flow of numbers: 8,000 samples per second, with 8 bits in each sample. This gives 64,000 bits per second for each call. The standard for this is G.711 [9].
A computer could not put its bits directly on the line. It had to change the bits into sounds that the network could carry. At the other end, a second device had to change the sounds back into bits.
A modem does this work. The name comes from modulator and demodulator. To modulate is to change a constant tone, the carrier, to show the data. The modem can change the frequency, the level or the phase of the tone. To demodulate is to analyze the received tone and find the change that the transmitter made. Each modem does the two tasks at the same time: it modulates the data that you send and demodulates the data that you receive.
This page generates all signals at 8,000 samples per second, the same rate as the digital telephone network. For this reason, the spectrograms stop at 4,000 Hz. A sampled signal cannot contain frequencies above half of its sampling rate.
Chapter 3
How to read a sound
Three pictures show the same sound in different ways:
- The waveform shows the voltage on the line at each moment: amplitude against time. It shows the rhythm and the level of a sound, but not its frequency. Two tones at the same time look like one complex wave.
- The spectrum uses a short part of the sound, the analysis window. It shows the energy at each frequency in that part. A pure tone gives one peak. Two tones give two peaks.
- The spectrogram puts many spectra side by side, one for each moment. It shows the level as a color. A constant tone gives a horizontal line. A signal that changes between two tones gives a pattern that moves between two lines.
Chapter 4
From a word to a sound
Did bits have a sound?
No. A 1 or a 0 has no frequency until a modulation method gives it one. The simplest method is frequency shift keying (FSK). One tone means 0, and a different tone means 1. Thus you can hear the bits as fast changes between two tones. The first modems used this method. The Bell 103 and the ITU V.21 sent 300 bits per second with FSK [2][20], and V.8 uses V.21 to send its menus [1].
Faster modems put several bits into each change of the signal. They also scrambled the data. Without a scrambler, a long series of equal bits makes a constant tone, and a constant tone causes problems for the receiver. For this reason, the data of a fast modem always sounds like hiss [4].
In Figure 4, type a message and follow each step. The letters become bytes, the bytes become bits, and the bits become tones. The tones go through a simulated line. Then a real receiver changes them back into letters.
How did the receiver identify the symbols?
The receiver in Figure 4 uses software to do the work that filters did in a 300 bit/s modem. It has two detectors. Each detector measures the energy of one tone during the last symbol period. The receiver compares the two values continuously. More energy at the “1” tone means 1.
The receiver must also know when each symbol starts. Each character had a start bit (always 0) before it and a stop bit (always 1) after it. This is the asynchronous framing of serial ports. The receiver waits for the change from 1 to 0. Then it reads each bit at the middle of its time slot. Our receiver also corrects the timing when the line makes one tone weaker than the other.
Simplifications in this lab
- The transmitter and the receiver use the same two frequencies and the same symbol rate. The receiver does not know where the characters start. It finds each start bit itself.
- The transmitter and the receiver use the same perfect clock. The line does not change the frequencies. (V.21 permitted a frequency error of ±6 Hz [2].)
- The lab simulates only one direction. V.21 and Bell 103 were full duplex. They used a second pair of tones for the other direction.
- The lab shows the principle of the first modems. It is not a 56k modem. 56k modems used very different methods (Chapter 5) and the digital telephone network (Chapter 7).
Chapter 5
More bits per symbol
A modem sends a number of symbols per second: this is its baud rate. Its speed in bits per second is the baud rate multiplied by the number of bits in each symbol. FSK has two symbols, so each symbol carries one bit. With four different symbols, each symbol carries two bits. With sixteen symbols, each symbol carries four bits. Symbols can be different in frequency, in amplitude or in phase. QAM symbols are different in amplitude and phase together.
| Standard (year) | Symbols per second | Data bits per symbol | Bit rate | Method |
|---|---|---|---|---|
| Bell 103 / V.21 (1960s) | 300 | 1 | 300 bit/s | FSK [2][20] |
| V.22 (1980) | 600 | 2 | 1,200 bit/s | 4-phase DPSK [16] |
| V.22bis (1984) | 600 | 4 | 2,400 bit/s | 16-point QAM [17] |
| V.32 (1984) | 2,400 | 4 (+1 redundant) | 9,600 bit/s | trellis-coded 32-point QAM, echo cancellation [18] |
| V.32bis (1991) | 2,400 | 6 (+1 redundant) | 14,400 bit/s | trellis-coded 128-point QAM [19] |
| V.34 (1994; 1996) | 2,400–3,429 | up to ≈ 9.8 | 28,800; 33,600 bit/s | large constellations, precoding, line probing [4] |
| V.90 downstream (1998) | 8,000 | up to 7 | up to 56,000 bit/s | PCM levels of the digital network [5] |
In a constellation diagram, each possible symbol is a point. The distance from the center is the amplitude of the carrier. The angle is the phase. The horizontal and vertical coordinates are I and Q. They are the levels of two carriers that are a quarter cycle apart. The modem adds the two carriers together.
The receiver measures I and Q for each symbol and selects the nearest point. Noise moves the measured point. If the point goes into the region of a different point, the receiver reads the wrong symbol.
Chapter 6
An imperfect line
Real telephone lines changed the signal. They added noise: hiss from electronic circuits and crosstalk from other lines. They caused attenuation: a long copper pair makes the signal weaker. They had a limited bandwidth: filters removed the lowest and the highest frequencies. They caused echoes: reflections at points where the impedance of the line changes. Move the controls in Figure 7 and look at the received signal and the bits.
Why a noisy line negotiated a lower speed
Two causes make a fast signal more sensitive to noise. First, shorter symbols give the receiver less time to collect the energy of each symbol. Thus the same noise causes more errors. Second, more bits in each symbol put the points of the constellation nearer together. Thus a smaller noise moves a point into the region of the adjacent point (Figure 6).
The fastest setting that operates on a good line fails on a noisy line. For this reason, the modems measured the line at the start of the call with the probing tones and the training signals. Then they selected the fastest settings that the line could carry. If the line changed during the call, V.34 modems could train again or change the rate [4]. The Negotiate button in Figure 7 makes a simple version of this decision.
Chapter 7
From bits to web pages
The modem only moved bits. It had no information about web pages. Above the modem, a stack of protocols put the data in envelopes.
HTTP requested each file. TCP/IP divided the files into numbered packets and sent lost packets again. PPP put the packets in frames for the serial link to the provider [25][26]. The error control of the modem, V.42, checked blocks between the two modems and sent damaged blocks again [21]. After these steps, the modem changed the bits into sound.
Why “56k” when downloads were only a few kilobytes per second?
There are three causes. First, bits are not bytes: 56,000 bits per second ÷ 8 = 7,000 bytes per second, before overhead. Second, 56,000 bit/s was the maximum. V.90 defined downstream rates from 28,000 to 56,000 bit/s in steps of 8,000/6 ≈ 1,333 bit/s [5]. The modems selected the highest step that the line permitted.
In the United States, power limits on the line decreased the rate of PCM modems more. The FCC wrote that these limits appeared to stop them at 54 kbit/s [40]. Manufacturers gave 53.3 kbit/s [41], which is one of the steps of V.90. The course notes of Forney give 40 to 56 kbit/s for V.90 downstream in practice [38].
Third, each layer of the stack adds bytes, and each request must wait for a reply. Figure 9 calculates these effects.
Why could uploads and downloads have different speeds?
Look at Figure 2 again. For a 56k connection, the provider needed a digital connection to the telephone network. Then, in the downstream direction, the modem of the provider could send exact G.711 codes. The only conversion was at your local exchange, from codes back to voltage. Your modem trained to read these voltages accurately [5][39].
In the upstream direction, the converter at the exchange had to sample and round your analog signal. The rounding adds noise, and this noise limits the rate. Thus V.90 sent up to 56,000 bit/s downstream, but used V.34 (up to 33,600 bit/s) upstream [5]. Later, V.92 increased the upstream rate to 48,000 bit/s. It also added Quick Connect and modem-on-hold [6].
A page load in 1997
Figure 9 shows a small browser of that time. It loads a fictional homepage from a fictional server. (The “.test” domain is reserved for examples [33].) Select a speed and look at how the page appears. The clock is simulated. This figure does not use your real connection.
What the page-load model includes and does not include
The model includes:
- The nominal modem rate in each direction.
- One DNS lookup (one round trip).
- One round trip to open each TCP connection.
- The upload of each request, and one round trip from the request to the first byte.
- The real text of the HTTP headers.
- TCP/IP headers: 40 bytes per segment, or 3 bytes on average with Van Jacobson compression [27].
- PPP framing [26].
- V.42 framing [21]. Without error control, a start bit and a stop bit for each byte [24].
- Up to four parallel connections with Keep-Alive, as in Netscape Navigator [32], or one connection for each file, as in HTTP/1.0 [30]. Later, HTTP/1.1 made persistent connections the default and asked browsers to use a maximum of two connections for each server [31].
The model does not include:
- TCP slow start. At 56k with 150 ms of latency, only approximately two segments of 536 bytes (the default size of TCP) go in one round trip [28][29]. Thus slow start has a small effect.
- Acknowledgement packets, and the bytes of DNS and of the connection set-up.
- PPP byte stuffing: approximately 0.8 % with the usual negotiated settings, and approximately 13 % for binary data with the default settings of PPP [26].
- HDLC bit stuffing, and the processing time of the server.
- Modem compression (V.42bis [22], later V.44 [23]). Compression helped text, but not images that were already compressed.
Default latency: 150 ms round trip. The W3C measured this value on a 28.8k PPP link in 1997 [32]. Other studies measured approximately 250 ms [47].
Images: the page draws the images locally. It shows each image according to the number of its bytes that arrived. The models are below the browser: interlaced GIF passes [34], row replication as in the Mozilla decoder [36], baseline JPEG stripes and progressive JPEG scans [35].
Glossary
- A/D and D/A conversion
- The conversion of an analog voltage into numbers, and back. The converter samples the voltage and rounds each sample to one of a fixed set of levels. The rounding adds a small noise that you cannot prevent.
- Answer tone (ANS, ANSam)
- The 2100 Hz tone that the answering modem sends. ANSam adds a 15 Hz amplitude modulation that identifies a V.8 modem. Its phase reversals disable the echo cancellers in the network.
- ARQ (automatic repeat request)
- Error control by retransmission. The receiver detects damaged blocks, and the transmitter sends them again.
- Attenuation
- The decrease of the signal level along the line, in decibels.
- Bandwidth
- The range of frequencies that a channel carries. A voice line carries approximately 300 to 3,400 Hz. Bandwidth is not the same as speed.
- Baud (symbol rate)
- The number of symbols per second. Bit rate = baud × bits per symbol.
- Bit rate (bit/s)
- The number of bits per second. One byte has 8 bits. Thus 56,000 bit/s is 7,000 bytes per second.
- Carrier
- The constant tone that a modem changes to carry data. “Carrier detect” means that a modem receives the carrier of the other modem.
- Constellation
- A diagram that shows all the symbols of a modulation as points. The coordinates of each point are I and Q.
- CRC (cyclic redundancy check)
- A check value that the transmitter calculates from a block of data and sends with the block. If the receiver calculates a different value, the block has damage.
- Decibel (dB, dBFS)
- A logarithmic ratio of two levels. +6 dB is approximately two times the amplitude. −20 dB is one tenth of the amplitude. dBFS is relative to the largest sine wave that the digital system can contain (0 dBFS).
- DTMF (touch tones)
- Dual-tone multi-frequency dialing. Each key sends two tones at the same time.
- Echo, echo canceller
- A delayed copy of a signal. The line reflects the signal at points where the line changes. An echo canceller calculates the echo of the signal from its own modem and removes it. Thus the two modems can send at the same time in the same band.
- Equalizer
- An adaptive filter in the receiver that removes the distortion of the line. Modems trained it with known signals.
- FEC (forward error correction)
- Redundant data that lets the receiver correct some errors without a retransmission.
- FFT, STFT
- The fast Fourier transform calculates a spectrum from a block of samples. The short-time Fourier transform does this for a series of windows. A spectrogram shows the result.
- FSK (frequency shift keying)
- A modulation in which each symbol has a different frequency. Binary FSK uses one tone for 0 and a different tone for 1.
- Useful throughput
- The bytes of content that arrive per second, after all overhead and all wait times.
- Handshake
- The start-up sequence in which the modems identify each other, agree on a standard, measure the line and train.
- HTTP
- The protocol that a browser uses to request files from a web server and to receive them. Each response starts with a text header.
- I and Q
- “In-phase” and “quadrature”. These are the levels of a cosine carrier and a sine carrier, a quarter cycle apart. Their sum is the transmitted symbol.
- Kilobyte
- On this page, 1 kB = 1,000 bytes. Software of the 1990s frequently used 1 KB = 1,024 bytes.
- Latency, round-trip time (RTT)
- Latency is the time that a message needs to go to the other end. The round-trip time (RTT) is the time to go there and back. Each request needs a minimum of one round trip at all speeds.
- Modem
- Modulator and demodulator. A device that changes data into a signal that a channel can carry, and changes the signal back into data.
- Modulation
- A change of the frequency, the amplitude or the phase of a carrier to show data.
- Noise
- A random signal that the line adds and that you do not want. This page uses white Gaussian noise, the standard model.
- PCM, G.711
- Pulse-code modulation. The digital telephone network carries voice as 8,000 samples per second, with 8 bits in each sample, on a logarithmic scale (μ-law or A-law).
- PPP
- The Point-to-Point Protocol. It carried internet packets on the dial-up link. Each packet was in a frame with a 16-bit check value.
- PSK (phase shift keying)
- A modulation in which the symbols have different phases. QPSK uses four phases (2 bits per symbol).
- QAM (quadrature amplitude modulation)
- A modulation in which the symbols have different amplitudes and phases. 16-QAM has 16 points, with 4 bits per symbol.
- Scrambler
- A circuit that mixes the data with a pseudo-random sequence, so that the signal does not become a repeated pattern. The receiver removes the sequence.
- SNR, Es/N0, Eb/N0
- Signal-to-noise ratio, usually in dB. Es/N0 is the energy per symbol divided by the noise density. Eb/N0 is the same value per bit.
- Spectrogram
- A picture that shows how the frequencies of a sound change with time. Time is horizontal, frequency is vertical, and the color shows the level.
- Spectrum
- The energy at each frequency in a short part of a signal.
- Start and stop bits
- The 0 before and the 1 after each character in asynchronous serial framing. They let the receiver find the start of each character.
- Symbol
- One of the different signal shapes that a modem can send in one symbol period. With M possible symbols, each symbol carries log₂ M bits.
- TCP/IP
- The main protocols of the internet. IP sends packets to their destination. TCP makes a reliable flow of data from the packets and sends lost data again.
- UTF-8
- The standard method to keep text as bytes. ASCII letters use one byte. Other characters use two to four bytes.
- V.42 (LAPM)
- Error control between two modems. The modems send data in frames with a check value and without start and stop bits. They send damaged frames again.
- Waveform
- A graph of the amplitude of a signal against time.
- Window (analysis window)
- The short series of samples that the analysis uses at one time. Its edges are tapered (here with a Hann shape) to decrease spectral leakage.
Sources
The primary technical sources are first. You can download ITU-T Recommendations free of charge from the ITU website, and RFCs from the RFC Editor. The text gives clause numbers where they are important.
- ITU-T Recommendation V.8 (11/2000), Procedures for starting sessions of data transmission over the public switched telephone network. Clauses 5–8. itu.int
- ITU-T Recommendation V.21 (11/1988), 300 bits per second duplex modem standardized for use in the general switched telephone network (first approved 1964). itu.int
- ITU-T Recommendation V.25 (10/1996), Automatic answering equipment and general procedures for automatic calling equipment on the GSTN. itu.int
- ITU-T Recommendation V.34 (02/1998), A modem operating at data signalling rates of up to 33 600 bit/s for use on the GSTN and on leased point-to-point 2-wire telephone-type circuits. Clauses 7, 10–11, Tables 1, 14, 17. Earlier editions: 09/1994 (28,800 bit/s), 10/1996 (33,600 bit/s). itu.int
- ITU-T Recommendation V.90 (09/1998), A digital modem and analogue modem pair for use on the PSTN at data signalling rates of up to 56 000 bit/s downstream and up to 33 600 bit/s upstream. itu.int
- ITU-T Recommendation V.92 (11/2000), Enhancements to Recommendation V.90. itu.int
- ITU-T Recommendation V.250 (07/2003), Serial asynchronous automatic dialling and control, §6.3.13–6.3.14 (L and M commands). itu.int
- Hayes Microcomputer Products, Technical Reference for Hayes Modem Users (July 1991), p. 1-10 (M command; factory profile L2 M1). bitsavers.org
- ITU-T Recommendation G.711 (11/1988), Pulse code modulation (PCM) of voice frequencies. itu.int
- ITU-T Recommendation Q.23 (11/1988), Technical features of push-button telephone sets (DTMF frequencies). itu.int
- ITU-T Recommendation Q.24 (11/1988), Multifrequency push-button signal reception, Annex A (timing). itu.int
- ITU, Various tones used in national networks (according to ITU-T Recommendation E.180), Annex to ITU Operational Bulletin No. 955 (2010): USA and Spain. itu.int (PDF)
- AT&T, Notes on Distance Dialing (1968), Section 4 (Precise Tone Plan). archive.org
- ITU-T Recommendation G.164 (11/1988), Echo suppressors. itu.int
- ITU-T Recommendation G.165 (03/1993), Echo cancellers, §4 (tone disabler). itu.int
- ITU-T Recommendation V.22 (11/1988), 1200 bits per second duplex modem standardized for use in the general switched telephone network (first approved 1980). itu.int
- ITU-T Recommendation V.22 bis (11/1988), 2400 bits per second duplex modem using the frequency division technique (first approved 1984). itu.int
- ITU-T Recommendation V.32 (03/1993), A family of 2-wire, duplex modems operating at data signalling rates of up to 9600 bit/s (first approved 1984). itu.int
- ITU-T Recommendation V.32 bis (02/1991), A duplex modem operating at data signalling rates of up to 14 400 bit/s. itu.int
- TDK Semiconductor, 73K302L single-chip modem data sheet (Bell 103 and Bell 202 frequencies; a secondary source). tapr.org (PDF)
- ITU-T Recommendation V.42 (03/2002), Error-correcting procedures for DCEs using asynchronous-to-synchronous conversion (LAPM; frames without start and stop bits; N401 = 128). itu.int
- ITU-T Recommendation V.42 bis (01/1990), Data compression procedures for data circuit-terminating equipment (DCE) using error correction procedures. itu.int
- ITU-T Recommendation V.44 (11/2000), Data compression procedures. itu.int
- ITU-T Recommendation V.14 (03/1993), Transmission of start-stop characters over synchronous bearer channels. itu.int
- W. Simpson (ed.), RFC 1661, The Point-to-Point Protocol (PPP), 1994. rfc-editor.org
- W. Simpson (ed.), RFC 1662, PPP in HDLC-like Framing, 1994. rfc-editor.org
- V. Jacobson, RFC 1144, Compressing TCP/IP Headers for Low-Speed Serial Links, 1990. rfc-editor.org
- J. Postel, RFC 879, The TCP Maximum Segment Size and Related Topics, 1983. rfc-editor.org
- R. Braden (ed.), RFC 1122, Requirements for Internet Hosts: Communication Layers, 1989. rfc-editor.org
- T. Berners-Lee, R. Fielding, H. Frystyk, RFC 1945, Hypertext Transfer Protocol: HTTP/1.0, 1996. rfc-editor.org
- R. Fielding et al., RFC 2616, Hypertext Transfer Protocol: HTTP/1.1, 1999. rfc-editor.org
- H. F. Nielsen, J. Gettys, A. Baird-Smith, E. Prud’hommeaux, H. W. Lie, C. Lilley, Network Performance Effects of HTTP/1.1, CSS1, and PNG, W3C Note, 24 June 1997 (PPP over a 28.8k modem; Netscape Navigator’s four connections). w3.org
- D. Eastlake, A. Panitz, RFC 2606, Reserved Top Level DNS Names, 1999 (the “.test” domain). rfc-editor.org
- CompuServe, Graphics Interchange Format, Version 89a (1990), Appendix E: interlaced images. w3.org
- ITU-T Recommendation T.81 (09/1992) | ISO/IEC 10918-1, Digital compression and coding of continuous-tone still images (JPEG), Annex G: progressive mode. w3.org (PDF)
- Mozilla, image/SurfaceFilters.h, DeinterlacingFilter (“Haeberli” row replication for interlaced images). searchfox.org
- C. E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal 27 (1948), pp. 379–423 and 623–656. doi.org
- G. D. Forney Jr., MIT 6.451 Principles of Digital Communication II, lecture notes (2005), §1.3 and §4.3. ocw.mit.edu
- I. Kalet, J. E. Mazo, B. R. Saltzberg, “The capacity of PCM voiceband channels”, Proc. IEEE International Conference on Communications (1993). doi.org
- U.S. Federal Communications Commission, Notice of Proposed Rulemaking, CC Docket 98-163 (FCC 98-221), 63 FR 51888 (29 September 1998). govinfo.gov
- U.S. Robotics, 56K V.92 modem user guide: troubleshooting (manufacturer’s statement of the 53.3 Kbps limit). usr.com
- U.S. Code of Federal Regulations, 47 CFR §68.314, “Billing protection” (1999 edition). govinfo.gov (PDF)
- F. J. Harris, “On the use of windows for harmonic analysis with the discrete Fourier transform”, Proceedings of the IEEE 66(1), 1978 (window figures of merit). doi.org
- O. Räisänen (windytan), “The sound of the dialup, pictured” (2012): an annotated spectrogram of a real connection (a readable secondary source). windytan.com
- Wikimedia Commons, real recordings: “Dial up connection.ogg” (Belgium, 2007; public domain per its author) and “V.92 – ElCom HSP PCI Fax modem 56k.wav” (2005; CC BY-SA 4.0). Licenses as published on those pages; not included in this site.
- N. J. Smith, S. van der Walt, “magma” colormap, BIDS/colormap (CC0 public domain dedication), used for the spectrograms. github.com
- J. Heidemann, K. Obraczka, J. Touch, “Modeling the performance of HTTP over several transport protocols”, IEEE/ACM Transactions on Networking 5(5), 1997. doi.org