inductive logic baseband signaling and modulation eric l. michelsen part 1 of a 2-part presentation...
TRANSCRIPT
Inductive Logic
Baseband Signaling and Modulation
Eric L. Michelsen
Part 1 of a 2-part presentation
Part 1: Baseband Signaling
1/8/2003 2Inductive Logic
If You Could Tell Your Audience Only One Sentence...
Transmitting data requires not only the signaling of bit values, but also bit timing.
time
1
or
0
sample here & here & here ...
If I could tell them a second sentence, it would be:
DC is bad.
1/8/2003 3Inductive Logic
Topics: Baseband Signaling (day 1)• On-Off signaling
• Antipodal signaling
• Timing recovery
• NRZI
• Multilevel: 2B1Q
• DS1 & DS3
• Manchester encoding
• 4B/5B encoding
• 8B/10B encoding
• Multi-Level Transition
• A modern line code
• Communication channels as filters
• Amplitude modulation
• Amplitude demodulation
• Quadrature multiplexing
• DMT ADSL
• Cosine review
• Sums of cosines
• Spectra
• Fourier transforms
• Baseband signaling
• Why cosine waves?
• Transfer functions
Topics: Modulation (day 2)
1/8/2003 4Inductive Logic
framing
5. Session
4. Transport
6. Presentation
framing framing framing framing
Where in the Stack?
signaling & modulation
• Signaling and modulation are ways of transmitting data
• They are the lowest sublayers in Layer 1 (physical layer)
• In this context, “signaling” means “transmitting data” (not call setup/teardown)
V.35, HSSI, SDSL
OSI stack
3. Network
7. Application
2. Link
1. Physical DS1 DS3 ADSL IDSL
bit serial (payload)
bit serial (line)
electrical
SONET
optical
1/8/2003 5Inductive Logic
A Matter of Values• On-Off binary signaling
simple indicates 1 (on) or 0 (off) by itself, does not explicitly convey timing works for electrical and optical signals Used by Ethernet 10Base5 and 10Base2 (w/ additional line coding)
1 0 1 1 0 0
time
ampl
itude
bit period
1
0
1/8/2003 6Inductive Logic
Time Is of the Essence• With separate clock and data, the transmitter gives the receiver timing
on one signal, and data on another
• Requires two signals (clock and data): can be expensive
• Data values are arbitrary (no restrictions)
• Used by local interfaces: V.35, (synchronous) EIA-232, HSSI, etc.
• As distance and/or speed increase, clock/data skew destroys timing
time
sample times centered in data bits
data
cloc
ksample on rising edge
of clock
1/8/2003 7Inductive Logic
No Clock: Do You Know Where Your Data Is?
• Most long-distance or high speed signaling is self timed: it has no separate clock; the receiver recovers timing from the data itself
• Receiver knows the nominal data rate, but requires transitions in the signal to locate the bits, and interpolate the sample points
• Receiver tracks the timing continuously, to stay in synch Tracking requires sufficient transition density throughout the data stream
• Used in all DSLs, DS1, DS3, SONET, all Ethernets, etc.
interpolated sample times (bit centers)
transitions locate data
time
data
1/8/2003 8Inductive Logic
Timing Recovery
• All self-timed line codes provide sufficient signal transitions for timing recovery. Some methods used: Scrambling Return to zero (RTZ) Zero substitution Manchester encoding 4B/5B 8B/10B Multi-level transition
1/8/2003 9Inductive Logic
All For One ... or Zero• On-Off binary signaling: simple, but not energy efficient
(SNR)
• At unit distance (A = 1), average energy = A2/2 = 0.5
• For balanced data, DC (Direct Current) ~= 0.5 (bad)
• Also known as Non-Return to Zero (NRZ)
• Requires sufficient data transition density, or scrambling
• Works for electrical and optical signals
1 0 1 1 0 0
time
ampl
itude
bit period
distance 1
0
1/8/2003 10Inductive Logic
Pluses and Minuses
• Antipodal binary signaling: energy efficient (SNR)
• At unit distance (A = 0.5), average energy = A2 = 0.25(3 dB better than on-off signaling)
• Requires sufficient data transition density, or scrambling
• For balanced (or scrambled) data, DC ~= 0 (good)
• For electrical signaling only (negative light?) Ethernet 10BaseT, EIA-232, V.35, V.36, HSSI
1 0 1 1 0 0time
ampl
itude
+0.5
0
-0.5distance
Can you say “tip-ring reversal?”
1/8/2003 11Inductive Logic
NRZI (Non-Return to Zero Inverted)• Data value coded as transition = 1, no transition = 0
• Used in combination with antipodal or on/off binary signaling
• With scrambling, DC ~= 0
• Why NRZI? Can you say “tip-ring reversal?”
• Requires sufficient data 1s (signal transition) density, or scrambling
? 1 1 0 1 0time
+
0
-
? 1 1 0 1 0time
+
0
-
Equivalent NRZI signals
1/8/2003 12Inductive Logic
Multilevel Signaling: 2B1Q• 4 is better than 2:
Encodes 2 Binary bits into 1 Quatenary (4-level) symbol A pair of bits in a single symbol is a dibit
• AKA 4-PAM (4-level Pulse Amplitude Modulation)
• Requires data transitions, or scrambling
• With scrambling, DC ~= 0
• Used in SDSL, IDSL, ISDN BRI
• Other PAMs exist: 16-PAM (G.shdsl), 256-PAM, etc.
11 10 01 00time
ampl
itude
+3
+1
-1
-3
Usually described as “distance 2”: -3, -1, +1, +3
1/8/2003 13Inductive Logic
AMI: Alternate Mark Inversion• Bipolar, tri-state (+, 0, and -)
• 50% duty cycle RTZ (Return To Zero)
• Pulses alternate polarity (DC = 0)
• Used by DS1 (Digital Service 1, ref. T1.107, T1.403): 2 pair (4 wire) Line rate = 1.544 Mbps, including 8 kbps framing/OAM Payload rate = 1.536 Mbps Generic digital service, can carry T1, PRI, GR-303, Frame Relay, etc. Timing recovery requires at least 2 pulses (ones) every 16 bits B8ZS (Binary 8-Zero Substitution) provides transparency
time
- a
mpl
itude
+
1 0 1 1 0 0
UI = Unit Interval (bit period)
25% 25%50%
alternate polarity
idealized pulse
mark = 1space = 0
1/8/2003 14Inductive Logic
AMI: DS3• Digital Service 3 (ref. T1.107, T1.404): 2 coax, 75 • RTZ (Return To Zero) pulse, very similar to DS1
• AMI (Alternate Mark Inversion), (DC = 0)
• Line rate = 44.736 Mbps, including ~530 kbps framing/OAM
• Payload rate = 44.736 x (84 / 85) 44.210 Mbps
• Generic digital service: can carry T3, Frame Relay, ATM, etc.
• Timing recovery requires at least one pulse every 3 bits B3ZS (Binary 3-Zero Substitution) provides transparency
time
- a
mpl
itude
+
1 0 1 1 0 0 0 0 0 0
alternate polarity
Deliberate bipolar violation, substitutes for 3 zeros
X bits inserted as needed to make BPVs alternate polarity, to maintain DC = 0
X
1/8/2003 15Inductive Logic
Double Time: Manchester Encoding• “Coding” in this sense is applicable to any binary (2-state) signal
(on-off, antipodal, FSK, etc.)
• Provides a transition in the center of every bit no density requirement High information content: allows rapid timing recovery
• DC = 0, exactly (with antipodal signaling)
• Data bit is value in last half of bit (or could be first half)
• Used in Ethernet 10Base5, 10Base2, 10BaseT
• Equivalent to 1B/2B encoding
• Not spectrally efficient: requires transmitting 2 signal events for each bit (100% bandwidth expansion)
time
sign
al s
tate
A
B
1 0 1 1 0 0
1/8/2003 16Inductive Logic
Enough is Enough: 4B/5B Encoding• Encodes 4 payload bits into 5 line bits
• Guarantees transitions; no user data restrictions or scrambling needed
• Extra codewords available for control (Idle, SSD, ESD, ...)
• More BW efficient than Manchester: 25% expansion
• DC >> 0 (bad), but used with NRZI or MLT, DC ~= 0
• Checks line integrity by counting invalid codes
• Used in Ethernet 100BaseTX, FDDI
Data
0 1 1 1 1 0 1 0 1 0 0 12 1 0 1 0 03 1 0 1 0 14 0 1 0 1 05 0 1 0 1 16 0 1 1 1 07 0 1 1 1 18 1 0 0 1 09 1 0 0 1 1A 1 0 1 1 0B 1 0 1 1 1C 1 1 0 1 0D 1 1 0 1 1E 1 1 1 0 0F 1 1 1 0 1
Control
1 1 1 1 1 IDLE used as inter-stream fill code
1 1 0 0 0 J Start-of-Stream Delimiter, Part 1 of 2;always used in pairs with K
1 0 0 0 1 K Start-of-Stream Delimiter, Part 2 of 2;always used in pairs with J
0 1 1 0 1 T End-of-Stream Delimiter, Part 1 of 2;always used in pairs with R
0 0 1 1 1 R End-of-Stream Delimiter, Part 2 of 2;always used in pairs with T
1/8/2003 17Inductive Logic
Twice as Good: 8B/10B Encoding• Encodes 8 payload bits into 10 line bits
• Guarantees 3 to 8 transitions per 10-bit codeword
Code GroupName
OctetValue
Current RD –abcdei fghj
Current RD abcdei fghj
D0.0D1.0D2.0D3.0D4.0D5.0
:
000102030405:
100111 0100011101 0100101101 0100110001 1011110101 0100101001 1011
:
011000 1011100010 1011010010 1011110001 0100001010 1011101001 0100
:
Code GroupName
OctetValue
Current RD –abcdei fghj
Current RD abcdei fghj
Notes
K28.0K28.1K28.2K28.3K28.4K28.5K28.6K28.7
:
1C3C5C7C9CBCDCFC:
001111 0100001111 1001001111 0101001111 0011001111 0010001111 1010001111 0110001111 1000
:
110000 1011110000 0110110000 1010110000 1100110000 1101110000 0101110000 1001110000 0111
:
11,2111211,2
NOTE 1 — Reserved.NOTE 2 — Contains a comma.
• Maximum run-length of 5
• 25% BW expansion (same as 4B/5B)
• 12 control codes (start of packet, end of packet, error, etc.)
• Alternately inverts non-zero-DC codewords to achieve zero DC (similar to AMI) Worst case codeword imbalance is
6/4
• Checks line integrity by counting invalid codes
• Used in Gigabit Ethernet, Fiber Channel (FC), some backplanes
1/8/2003 18Inductive Logic
Saving Bandwidth:MLT-3 (Multi-Level Transition)
• Bipolar, tri-state signal (+, 0, and -)
• Like a combination of NRZI and AMI
• Transition = data 1, no transition = 0
• Non-zero signals alternate polarity
• Cuts bandwidth in half (and SNR as well)
• Used by Ethernet 100BaseTX (with 4B/5B and scrambling)
1 0 1 1 0 0 1 1time
- a
mpl
itude
+
distance
1/8/2003 19Inductive Logic
A Modern Line Code
ABCDEFGHIJKLM Interesting history of
pen and paper
NOPQRSTUVWXYZ
• Binary signaling (on and off, not dits and dahs)
• Pulse Width Modulated (PWM)• Return to zero coded (RTZ, vs.
NRZ or NRZI)• Variable rate• Self timed• Asynchronous at word level• Variable length encoding• Data compressed• Forward error corrected (English)
1/8/2003 20Inductive Logic
3
Just Do It
• Receiver recovers unit time interval from dits and inter-symbol spaces; extrapolates other intervals
D O I T 7
minimum inter-word space
3
inter-letter space
inter-symbol space
dah size
1 1
dit size
1/8/2003 21Inductive Logic
Data Compression: English
A 8 .082.65
B 12 .014.17
C 14 .028.39
D 10 .038.38
E 4 .131.52
F 12 .029.35
G 12 .020.24
H 10 .053.53
I 6 .063.38
J 16 .001.02
K 12 .004.05
L 12 .034.41
M 10 .025.25
N 8 .071 .57
O 14 .0801.12
P 14 .020 .28
Q 16 .001 .02
R 10 .068 .68
S 8 .061 .49
T 6 .105 .63
U 10 .025 .25
V 12 .009 .11
W 12 .015 .18
X 14 .002 .02
Y 16 .020 .32
Z 14 .001 .01
Avg letter size:English weighted avg letter size:
Opt. Eng. weighted avg letter size:
11.2 units9.0(~20% savings)8.6(within 5%)
size frequency avg. size frequency avg.
1/8/2003 22Inductive Logic
Baseband SummaryInterface Signaling States Transition Coding
Ethernet 10Base5, 10Base2 on-off + DC bias Manchester
Morse Code on-off RTZ
Ethernet 10BaseT antipodal Manchester
EIA-232, V.35, HSSI antipodalnone (NRZ, separate clock and data)
Ethernet 100BaseTX, FDDI (electrical) MLT (3-level) 4B/5B, scrambled
SDSL, IDSL, ISDN BRI 2B1Q (= 4-PAM) scrambled
G.shdsl 16-PAM scrambled
DS1, DS3 AMI (3-level) RTZ, BxZSGigabit Ethernet (optical), Fiber Channel on-off (optical) 8B/10B
SONET on-off (optical) scrambled
FDDI (optical) on-off (optical) 4B/5B, NRZI
on-o
ffan
tipo
dal
opti
cal
mul
ti-l
evel
1/8/2003 23Inductive Logic
Baseband Signaling and Modulation
Eric L. Michelsen
Part 2: Modulation
1/8/2003 24Inductive Logic
Another Day, Another Sentence
Modulation avoids baseband problems of signal overlap and DC error.
But first, a review of Fourier analysis...
If I could tell them a second sentence, it would be:
Bandwidth is not capacity!
If I could tell them a third sentence, it would be:
Bandwidth is not capacity!
1/8/2003 25Inductive Logic
Topics: Modulation
• Communication channels as filters
• Amplitude modulation
• Amplitude demodulation
• Quadrature multiplexing
• DMT ADSL
• Cosine review
• Sums of cosines
• Spectra
• Fourier transforms
• Baseband signaling
• Why cosine waves?
• Transfer functions
1/8/2003 26Inductive Logic
Definitions
• Baseband signaling Communicating a signal in its original form for a given medium
(e.g., audio)or
Communicating a signal with components down to DC (or almost DC)
• Carrier modulation Communication based on modifying (modulating) a cosine wave
signal Other forms of modulation exist (non-carrier modulation, e.g.,
PAM, PWM, PCM(?), but that’s another story)
1/8/2003 27Inductive Logic
Cosine: A Function of Angle
• Basis function for frequency analysis and for modulation
angle (degrees)
- a
mpl
itude
+
90 180
270 360
450 540
630 720
one cycle
1 unit
0o
y
x
30oy
x
70o
y
x
120o
y
x
0o
30o
70o
120o
1/8/2003 28Inductive Logic
Cosine Wave: A Function of Time• Fully characterized by 3 parameters:
A Amplitude (e.g., 10 V)f Frequency (e.g., 2 Hz) cosine wave = A cos(f*360t
+ ) Phase (e.g., 60) = A cos(360ft + )
time (sec)0.5 1
f = 2 Hz
t = 0
60o 204o132o
60o
t = 0.2
240o
t = 0.25t = 0.1
A
0.25
A = 10 V 10cos(360(2)t + 60o)
1/8/2003 29Inductive Logic
Sums of Cosiness(t) = A1cos(360f1t) + A2cos(360f2t) + A3cos(360f3t) + ...
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1/8/2003 30Inductive Logic
Spectrum: A Bar Chart of Cosines
• Progressively denser bar charts give way to a simple graph
f
A
f
A
f
A
f
A
1/8/2003 31Inductive Logic
Why Cosine Waves?• Cosines are the only basis functions (aka eigenfunctions) of
Time Invariant Linear Systems System: produces output from input Linear: if Ia Oa, then kIa kOa
and if Ib Ob, then (Ia + Ib) Oa + Ob
Time invariant: it does the same thing all the time
• If input is a cosine, then output is a cosine of same frequency, but different amplitude and phase
• Linear Cosine components of input don’t interact
TILS
time time
input is any cosine
output is cosine of exactly the same frequency...
...but different amplitude and
phase
1/8/2003 32Inductive Logic
Triangles Are Not Cosines
• If input is not a cosine, output is not a multiple of the input
• Single triangle wave input produces complex output
• What a mess!
TILS
time time
input is a triangle wave
output is NOT a triangle wave
1/8/2003 33Inductive Logic
Transfer Functions• A TILS multiplies each input frequency amplitude (& shifts its phase)
• The multiplier (and phase-shift) are functions of frequency
f
H(f
)
• We can graph the amplitude multiplier as a function of frequency, the amplitude transfer function, H(f ):
TILS
time time
at frequency, f
Ain Aout
at same frequency, f
H(f ) = Aout / Ain
orAout = H(f )Ain
We can graph the phase-shift as a function of frequency: the phase transfer function, (f ) (but we won’t)
1/8/2003 34Inductive Logic
Input signal spectrum
Transfer function of linear system
Output signal spectrum
Transfer Functions at Work• Since cosine components of the input signal do not interact, each
cosine is multiplied by the transfer function at its frequency
• Thus, the output spectrum is the input spectrum multiplied by the transfer function, at each frequency
• Every TILS has a transfer function, and a transfer function defines a TILS.
TILS
1/8/2003 35Inductive Logic
The Communication Channel as Filter• Any communication channel is imperfect
• A time invariant linear channel is described by its transfer function
• A filter is a TILS that passes some frequencies, and blocks others
H(f
)H
(f )
Transfer function for a copper loop
f
f
Transfer function for a copper loop
with a splitter
H(f
)Transfer function for a transistor amplifier
fThis is why DC is bad.
1/8/2003 36Inductive Logic
The Spectrum of Square Wave Antipodal Signaling
• 90+% of energy is in the first lobe
• Part of the first, and all of the other lobes can be discarded without much degradation
• This is also the spectrum of 2B1Q, and all PAMs
fsym 2fsym 3fsymA
time
fsym 2fsym 3fsym
A
time
square wave
filtered square wave
1/8/2003 37Inductive Logic
Amplitude Modulation• Given a signal, i(t)
• And a carrier, cos(360ct)
• We modulate the signal onto the carrier by multiplying the two at each instant in time: i(t)cos(360ct)
i(t)
cos(360ct)
i(t)cos(360ct)
x
= modulator
i(t)
cos(360ct)
1/8/2003 38Inductive Logic
Know Your Identity
a
b
b
1 un
it
cos(a)
cos(90-a)
cos(90-a)cos(90-b)
cos(90-a)cos(90-b)cos(a)cos(b)
cos(a+b)
90-a
H
aH•cos(a)
Recall that for any right triangle:
Demonstration of identity #3
90-b
4. cos(a)cos(b) =
1. cos(-a) = cos(a)2. cos(90-a) = -cos(90+a)3. cos(a+b) = cos(a)cos(b) - cos(90-a)cos(90-b) cos(a - b) + cos(a + b)
2
1/8/2003 39Inductive Logic
Spectral View of Amplitude Modulation• Modulating a baseband cosine onto a carrier
Pop Quiz: Is a modulator a TILS?
f
A
i(t) = cos(360wt)
w
f
A
cos(360ct)
c
(simple) baseband spectrum: a cosine of frequency ‘w’
carrier spectrum:a cosine of frequency ‘c’
f
A
c-w c c+w
Modulated signal spectrum:Using identity #4: cos(360wt)cos(360ct) = cos[360(c-w)t] + cos[360(c+w)t]
1/8/2003 40Inductive Logic
Deja View of Amplitude Modulation• Modulating a complicated baseband signal onto a carrier
f
A
i(t)
f
A
cos(360ct)
c
complicatedbaseband spectrum (AM radio BW = 5 kHz)
carrier spectrum (AM radio carrier = 540 - 1600 kHz)
f
A
c
Modulated signal spectrum;using identity #4 for each frequency component
bandwidth
bandwidth
Notice that the modulated bandwidth is twice the baseband signal bandwidth (AM radio BW = 10 kHz)
1/8/2003 41Inductive Logic
Demodulation: Getting It Back• Given a modulated signal: i(t)cos(360ct)
• Multiply by the carrier again:
f
A
i(t)
f
A
c
i(t)cos(360ct)cos(360ct)= i(t)[cos(0) + cos(360(2ct))]= i(t) + i(t)cos[360(2ct)]
2c
modulated spectrum
almost demodulated spectrum
f
A
2c
filtered and fully demodulated spectrum
filter transfer function
i(t)cos[360(2ct)]
c
c
1/8/2003 42Inductive Logic
All Together Now
fsym 2fsym 3fsym
A
time
fsym 2fsym 3fsymA
time
Energy Efficient Signaling
Filtered Baseband Signal
c
A
Modulated Carrier
1/8/2003 43Inductive Logic
Comparison of Modulated and Unmodulated Carrier
modulated carrier
unmodulated carrier
-
+
1/8/2003 44Inductive Logic
Quadrature Multiplexing: Two for the Bandwidth of One
• Consider a signal modulated with the wrong carrier phase, off by 90. We attempt to demodulate (recall identity #4):
i(t)cos(360ct + 90)cos(360ct)= i(t)[cos(90) + cos(360(2ct) + 90)]= i(t)cos[360(2ct) + 90]
f
A
f
A
c
2c
modulated spectrum
attempted demodulated spectrum
f
A
filtered signal spectrum
filter transfer function
i(t)cos[360(2ct) + 90]
c
1/8/2003 45Inductive Logic
Quadrature Multiplexing: Part Deux• Consider two signals, i(t) and q(t), modulated with two carriers of the
same frequency, but different by 90:i(t)cos(360ct) + q(t)cos(360ct + 90)
f
A
i(t)
f
A
q(t) baseband spectra
f
A
c
modulated signal spectrum:
generally not symmetric
1/8/2003 46Inductive Logic
Quadrature Demodulation• Given a quadrature multiplexed modulated signal:
• Demodulate each channel separately, each with its own carrier:
i(t)cos(360ct) + q(t)cos(360ct + 90)
[ i(t)cos(360ct) + q(t)cos(360ct + 90) ]cos(360ct)= i(t)cos(360ct)cos(360ct) + q(t)cos(360ct+90)cos(360ct)
[ i(t)cos(360ct) + q(t)cos(360ct + 90) ]cos(360ct + 90)= i(t)cos(360ct)cos(360ct+90) + q(t)cos(360ct+90)cos(360ct+90)
carrier for i(t)
f
A
2c
i(t) demodulated spectrum
carrier for q(t)
f
A
2c
q(t) demodulated spectrum
c
c
1/8/2003 47Inductive Logic
DMT ADSL• Discrete Multi-Tone
• Up to 255 “separate” carriers, Each carrier is quadrature multiplexed multi-level PAM Two to 15 bits per symbol per carrier (2 - 256 PAM per I/Q axis) Optimum filling of data into the carriers for maximum total SNR All share the same time, frequency, and phase references Lower carriers omitted for baseband voice
• Carrier spacing is 4312.5 Hz
f
A
upstream downstream
baseband voice
300 Hz 3600 Hz N x 4312.5 Hz
1/8/2003 48Inductive Logic
DMT ADSL• Two kinds of FEC:
“Fast” path (low latency): Trellis Coded Modulation (TCM) “Interleaved” path (higher latency): Reed-Solomon block interleaved
• Framing structure built into the modulation
• Integral number of bytes per frame, 4000 user data frames per second = N x 32 kbps data rates
• G992.1 defines two services: STM and ATM The industry standard is ATM over STM (HEC delineation) No one uses G992.1’s ATM mode
frame 1
synch symbol
frame 2
frame 3 ... frame
66frame
67frame
0
Superframe: 17 ms
frame 0
Fast bytes Interleaved bytesover head
over head FEC over
headover head