EECS20N: Signals and Systems

Modem Negotiation

Recall that voiceband data modems convert bit sequences into voice-like sounds for transmission over the telephone network. But they actually do much more than this. Consider the following familiar sounds:

If you had a java-enabled browser, you would see an applet here.

These are the sounds of a modem dialing a telephone line, another modem answering, and the two modems negotiating to determine at what speed to communicate. Generally the modems will try to communicate at the highest speed that is supported by both modems. A (simplified) state machine describing the behavior of the modem that initiates the call is given below:

  • In the dialing state, a ring input causes a transition to the ringing state, while a busy input causes a transition back to the idle state. Note: In a better modem design, the modem would set a timer and attempt to dial again after some time had expired.

  • If an answer tone is detected, then the state machine transitions to the modem detected state because it has now been determined that there is a modem at the other end of the telephone line. In case there is no modem at the other end of the line, a timer is set which produces a timout event after 15 seconds, causing the modem to transition back to the idle state. Exercise:Define a state machine that you can compose with this one that implements the timer, emitting each of the timeout signals needed by this modem, given an input from the hardware of a tick every second and the output from this state machine.

  • In the modem detected state, the modem emits a signal that identifies its highest possible connection speed, e.g. 33 kbps (kilobits per second). If the modem at the other end is capable of operating at this speed, it will respond with a signal that is seen by the modem as an id1 response input.

  • If instead the timer expires, then the modem at the other end must not be capable of operating at 33 kbps, so the modem emits a different signal identifying a lower speed that it is capable of operating at, say 14.4 kbps.

  • When the far-end modem responds to any of the id signals, then the near end modem emits a training sequence, which is a pre-agreed signal that permits the modem at the far end to measure the impairments on the telephone channel and set up adaptive filters to compensate for these impairments. Then the modem at the far end responds by sending back a training sequence, which allows the near-end modem to set up its adaptive filters.

  • After both modems have set up their filters, a converged event causes the modem to transition to the connected state, in which data communication occurs. You can now start surfing the web. Note: A better design would use a timeout timer so that if convergence does not occur, the modem tries to connect at a lower speed.