old-www/HOWTO/Modem-HOWTO-21.html

296 lines
17 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE> Modem-HOWTO: Appendix A: How Analog Modems Work (technical) (unfinished)</TITLE>
<LINK HREF="Modem-HOWTO-22.html" REL=next>
<LINK HREF="Modem-HOWTO-20.html" REL=previous>
<LINK HREF="Modem-HOWTO.html#toc21" REL=contents>
</HEAD>
<BODY>
<A HREF="Modem-HOWTO-22.html">Next</A>
<A HREF="Modem-HOWTO-20.html">Previous</A>
<A HREF="Modem-HOWTO.html#toc21">Contents</A>
<HR>
<H2><A NAME="how_modems_work"></A> <A NAME="s21">21.</A> <A HREF="Modem-HOWTO.html#toc21">Appendix A: How Analog Modems Work (technical) (unfinished)</A></H2>
<H2><A NAME="modulate_"></A> <A NAME="ss21.1">21.1</A> <A HREF="Modem-HOWTO.html#toc21.1">Modulation Details </A>
</H2>
<H3>Intro to Modulation</H3>
<P> This part describes the modulation methods used for conventional
analog modems. Two other types of modems, cable and ADSL, use the
same modulation methods but the situation is more complicated since
they divide their frequency spectrum into multiple channels, etc.
Cable modems have to share a cable used by many other people. This
HOWTO doesn't explain this added complexity of cable and ADSL modems. </P>
<P>Modulation is the conversion of a digital signal represented by binary
binary (0 or 1) into an analog signal something like a sine wave.
The modulated signal consists pure sine wave "carrier" signal which
is modified to convey information. A pure carrier sine wave,
unchanging in frequency and voltage, provides no flow of information
at all (except that a carrier is present). To make it convey
information we modify (or modulate) this carrier. There are 3 basic
types of modulation: frequency, amplitude, and phase. They will be
explained next.</P>
<H3>Frequency Modulation</H3>
<P> The simplest modulation method is frequency modulation. Frequency
is measured in cycles per second (of a sine wave). It's the count
of the number of times the sine wave shape repeats itself in a second.
This is the same as the number of times it reaches it peak value
during a second. The word "Hertz" (abbreviated Hz) is used to mean
"cycles per second".</P>
<P>A simple example of frequency modulation is where one frequency means
a binary 0 and another means a 1. For example, for some obsolete 300
baud modems 1070 Hz meant a binary 0 while 1270 Hz meant a binary 1.
This was called "frequency shift keying". Instead of just two
possible frequencies, more could be used to allow more information to
be transmitted. If we had 4 different frequencies (call them A, B, C,
and D) then each frequency could stand for a pair of bits. For
example, to send 00 one would use frequency A. To send 01, use
frequency B; for 10 use C; for 11 use D. In like manner, by using 8
different frequencies we could send 3 bits with each shift in
frequency. Each time we double the number of possible frequencies we
increase the number of bits it can represent by 1.</P>
<H3>Amplitude Modulation</H3>
<P> Once one understands frequency modulation example above including
the possibilities of representing a few bits by a single shift in
frequency, it's easier to understand both amplitude modulation and
phase modulation. For amplitude modulation, one just changes the height
(voltage) of the sine wave analogous to changing the frequency of the
sine wave. For a simple case there could only be 2 allowed amplitude
levels, one representing a 0-bit and another representing a 1-bit. As
explained for the case of frequency modulation, having more possible
amplitudes will result in more information being transmitted per
change in amplitude.</P>
<H3>Phase Modulation</H3>
<P> To change the phase of a sine wave at a certain instant of time,
we stop sending this old sine wave and immediately begin sending a new
sine wave of the same frequency and amplitude. If we started sending
the new sine wave at the same voltage level (and slope) as existed
when we stopped sending the old sine wave, there would be no change in
phase (and no detectable change at all). But suppose that we started
up the new sine wave at a different point on the sine wave curve.
Then there would likely be a sudden voltage jump at the point in time
where the old sine wave stopped and the new sine wave began. This is
a phase shift and it's measured in degrees (deg.) A 0 deg. (or a 360
deg.) phase shift means no change at all while a 180 deg. phase shift
just reverses the voltage (and slope) of the sine wave. Put another
way, a 180 deg. phase shift just skips over a half-period (180 deg.)
at the point of transition. Of course we could just skip over say 90
deg. or 135 deg. etc. As in the example for frequency modulation, the
more possible phase shifts, the more bits a single shift in phase can
represent.</P>
<H3><A NAME="QAM_"></A> Combination Modulation </H3>
<P> Instead of just selecting either frequency, amplitude, or phase
modulation, we may chose to combine modulation methods. Suppose that
we have 256 possible frequencies and thus can send a byte (8 bits) for
each shift in frequency (since 2 to the 8 power is 256). Suppose also
that we have another 256 different amplitudes so that each shift in
amplitude represents a byte. Also suppose there are 256 possible
phase shifts. Then a certain points in time we may make a shift in
all 3 things: frequency, amplitude and phase. This would send out 3
bytes for each such transition.</P>
<P>No modulation method in use today actually does this. It's not
practical due to the relatively long time it would take to detect all
3 types of changes. The main problem is that frequent shifts in phase
can make it appear that a shift in frequency has happened when it
actually didn't.</P>
<P>To avoid this difficulty one may simultaneous change only the phase
and amplitude (with no change in frequency). This is called
phase-amplitude modulation. It is also called quadrature amplitude
modulation (= QAM) since there were only 4 possible phases
(quadrature) in early versions of it. This method is used today for
the common modem speeds of 14.4k, 28.8k, and 33.6k. The only
significant case where this modulation method is not used today is for
56k modems. But even 56k modems exclusively use QAM (phase-amplitude
modulation) in the direction from your PC out the telephone line.
Sometimes even the other direction will also fall back to QAM when
line conditions are not good enough. Thus QAM (phase-amplitude
modulation) still remains the most widely used method on ordinary
telephone lines.</P>
<H2><A NAME="56k_modems"></A> <A NAME="ss21.2">21.2</A> <A HREF="Modem-HOWTO.html#toc21.2">56k Modems (V.90, V.92) </A>
</H2>
<P> The "modulation" method used for speeds above 33.6k is entirely
different than the common phase-amplitude modulation used at 33.6k and
below. Since ordinary telephone calls are converted to digital
signals at the local offices of the telephone company, the fastest
speed that you can send digital data by an ordinary telephone call is
the same speed that the telephone company uses over its digital
portion of its network (for a phone call). What is this speed?
Well, it's close to 64kbps. It's sometimes 64k and sometimes less if
bits are "stolen" for signalling purposes. If the phone Co. knows
that the link is not for voice, bits may not get stolen. The case of
64k will be presented and then it will be explained why the actual
speed is lower (56k or less --often significantly less).</P>
<P>Thus 64k is the absolute top speed possible (not counting date
compression) for an ordinary telephone call using the digital portion
of the circuit that was designed to send digital encodings of the
human voice. In order to use 64k, the modems need to either have
direct access to the digital portion of the circuit or be able to
determine the exact digital signal that generated a received analog
signal (and conversely). This task is far too error prone if both
sides of a telephone call have only an analog interface to the
telephone company. But if one side has a digital interface, then it's
possible (in one direction for V.90 and in both directions for V.92).
Thus if your ISP has a digital interface to the phone company, the ISP
may send out a certain digital signal over the phone lines toward your
PC. The digital signal from the ISP gets converted to analog at the
local telephone office near your PC's location (perhaps near your
home). Then it's your modem's task to try to figure out exactly what
that digital signal was. If it could do this, then transmission at 64k
(the speed of the telephone company's digital signal) is possible in
this direction.</P>
<P>What method does the telephone company use to digitally encode analog
signals? It uses a method of sampling the amplitude of the analog
signal at a rate of 8000 samples per second. Each sample amplitude is
encoded as a 8-bit byte. (Note: 8 x 8000 = 64k) This is called
"Pulse Code Modulation" = PCM. These bytes are then sent digitally on
the telephone company's digital circuits where many calls share a
single circuit using a time-sharing scheme known as "time division
multiplexing". Then finally at a local telephone office near your
home, the digital signal is de-multiplexed resulting in the same
digital signal as was originally created by PCM. Then this signal is
converted back to analog and sent to your home. This analog to
digital conversion (and conversely) is done by telephone company
hardware called a "codec" (coder/decoder). Each PCM 8-bit byte
creates a certain amplitude of the analog signal. Your modem's task
is to determine just what that PCM 8-bit byte was, based on the analog
amplitude it detects.</P>
<P>This was originally called "modulus conversion". It's now often
called "PCM"-something (such as PCM modulation) since its just like
encoding/decoding PCM but with the added problem of sampling at the
precise time that the codec generated the analog voltage from the
digital PCM code.</P>
<P>In order to determine the digital codes the telephone Co. used to
create the analog signal, the modem must sample this analog signal
amplitude at exactly the same points in time the phone Co. did when
it created the analog signal. To do this an 8kHz clock timing signal
is generated with help from a residual 4kHz signal on the analog phone
line. The creation of amplitudes to go out to your home/office at 8k
amplitudes/sec sort of creates a 4kHz signal. Suppose every other
amplitude was of opposite polarity. Then there would be a 4kHz
sine-like wave created. Each amplitude is in a sense a 8-bit symbol
and when to sample amplitudes is known as "symbol timing". The
modem's task is to insure that it's 8kHz clock runs at precisely twice
the speed of the 4kHz signal (which could drift slightly off 4kHz) and
that the modem's clock is synchronized with that used by the telephone
company's codec. The actual electronics may use much higher frequency
clocks (dividing them down) and take more than a single sample. If
you know how this synchronization works, let me know (if this is a
recent Modem-HOWTO).</P>
<P>Now the encoding of amplitudes in PCM is not linear. At low
amplitudes an increment of 1 in the PCM byte value represents a much
smaller increment (delta) in analog signal amplitude than would be the
case if the amplitude being sampled were much higher. Thus for low
amplitudes it's difficult to distinguish between adjacent byte values.
To make it easier to do this (for 56k modems) certain PCM codes
representing very low amplitudes are not used. This gives a larger
delta between possible amplitudes and makes correct detection of them
by your modem easier. Thus half of the amplitude levels are not used
(in the downstream direction) by V.90 or V.92. This is tantamount to
each symbol (valid amplitude level) representing 7 bits instead of 8.
This is where 56k comes from: 7 bits/symbol x 8k symbols/sec = 56k
bps. Of course each amplitude symbol is actually generated by 8-bits
but only 128 bytes of the possible 256 bytes are actually used by the
ISP sender. There is a code table mapping these 128 8-bit bytes to
the 128 7-bit bytes. It's not just a simple mapping like ignoring the
last bit. Thus to send 7 normal data bytes (8-bits) will take 8 of
the above mentioned bytes.</P>
<P>But it's a little more complicated that this. If the line conditions
are not nearly perfect or if the direction is upstream (V.92 only),
then even fewer possible levels (symbols) are used resulting in speeds
under 56k. Also due to US government rules prohibiting high power
levels on phone lines, certain high amplitudes levels can't be used
resulting in only about 53.3k at best for "56k" modems in the
downstream direction.</P>
<P>Note that the digital part of the telephone network is bi-directional.
Two such circuits are used for a phone call, one in each direction.
For V.90, the 56k signal is only used in one of these directions: from
your ISP to your PC (called the "downstream" direction). For this
V.90, the other direction (upstream, from your home/office to the ISP)
uses the conventional phase-amplitude modulation scheme with a maximum
of 36.6kbps (and not 53.3kbps). For V.92, this upstream direction
also uses the PCM method and supports up to 48 kbps. The analog
portion of the circuit from your home/office to the nearest telephone
Co. office was never intended to be bi-directional since it's only a
single twisted pair. But due to sophisticated cancellation methods
it's able to convey data simultaneously in both directions as
explained in the next subsection. It's claimed that with V.92, it's
almost impossible to get maximum thruput in both directions
simultaneously due to the difficulties of bi-directional flow on a
single circuit.</P>
<H2><A NAME="ss21.3">21.3</A> <A HREF="Modem-HOWTO.html#toc21.3">Full Duplex on One Circuit</A>
</H2>
<P> Modern modems are able to both send and receive signals
simultaneously. One could call this "bidirectional" or "full duplex".
This was once done by using one frequency for sending and another for
receiving. Today, the same frequency is used for both sending and
receiving. How this works is not easy to comprehend.</P>
<P>Most of the telephone system "main lines" are digital with two
channels in use when you make a telephone call. What you say goes over
one digital channel and what the other person says goes over the other
(reverse) digital channel. Unfortunately, the part of the telephone
system which goes to homes (and many offices) is not digital but only
a single analog channel. If both modems were directly connected to
the digital part of the phone system then bidirectional communication
(sending and receiving at the same time) would be no problem because
two channels would be available.</P>
<P>But the end portion of the signal path goes over just one circuit. How
can there be two-way communication on it simultaneously? It works
something like this. Suppose your modem is receiving a signal from
the other modem and is not transmitting. Then there's no problem.
But if your modem were to start transmitting (with the other received
signal still flowing into your modem) it would drown out the received
signal. If the transmitted signal was a "solid" voltage wave applied
to the end of the line then there is no way any received signal could
be present at that point.</P>
<P>But the transmitter has "internal impedance" and the transmitted
signal applied to the end of the line is not solid (or strong enough)
to completely eliminate the received signal coming from the other end.
Thus while the voltage at the end of the line is mostly the stronger
transmitted signal a small part of it is the desired received signal.
All that is needed is to filter out this stronger transmitted signal
and then what remains will be the signal from the other end which we
want. To do this, one only needs to get the pure transmitted signal
directly from the transmitter (before it's applied to the line)
amplify it a determined amount, and then subtract it from the total
signal present at the end of the line. Doing this in the receiver
circuits leaves a signal which mostly came from the other end of the
line.</P>
<H2><A NAME="ss21.4">21.4</A> <A HREF="Modem-HOWTO.html#toc21.4">Echo Cancellation</A>
</H2>
<P> An analog signal traveling down a line in one direction may
encounter changes in the line that will cause part of the signal to
echo back in the opposite direction. Since the same circuit is used
for bi-directional flow of data, such echos will result in garbled
reception. One way to ameliorate this problem is to send training
signals once in a while to determine the echo characteristic of the
line. This will enable one to predict the echos that will be
generated by any given signal. Then this prediction method is used to
predict what echos the transmitted signal will cause. Then this
predicted echo signal is subtracted from the received signal. This
cancels out the echoes.</P>
<HR>
<A HREF="Modem-HOWTO-22.html">Next</A>
<A HREF="Modem-HOWTO-20.html">Previous</A>
<A HREF="Modem-HOWTO.html#toc21">Contents</A>
</BODY>
</HTML>