Home / Math and Physics Files / Math / Spectral Theory Book / Work for Aug 2013 Update / new and old sections
old Chapter 38
DOCX · 119.0 KB
Open DOCX file
Chapter 38 of a spectral theory book draft, in the folder of old sections for the August 2013 update. It computes the slot correlations <ymyn> for Change/Hold coding with amplitudes A and B by a recursion in the gap length, giving a geometric form in a=1-2p. It then derives the spectrum, checks the limits A=B, p→0, p→1/2 and p→1, treats the box pulse, and begins an NRZI example. Equations are partly garbled in the extraction.
AI-written summary; may contain errors. This description is approximate.
Extracted text (machine-read; may contain errors)
38. The Change/Hold Line Code
There are surely more efficient ways to compute the results given below, but the method shown provides a good exercise in directly calculating <ymyn>. The method is very similar to that used for the AMI line code in Section 37. At the end, we apply the results to the NRZI line code.
Pulse Shape:
The pulse shape is the same as for unipolar NRZ,
Fig 36.2
Xpulse(ω) = (VT1) sinc(ωT1/2)
(36.1)
Ppulse(ω) = V2(1/ω1) sinc2(ωT1/2) .
In place of amplitude V we will have A and B as described below.
Coding:
The coding uses two amplitudes A and B. Hold or Change coding means that a 0 is encoded as no change (a hold) in the pulse amplitude (it remains what it was), while a 1 is encoded as a change A↔B. Here is an example starting with an A pulse:
data = [ 1 0 1 1 0 0 1]
encode = [ A B B A B B B A]
Fig 38.1
Again we shall assume an arbitrary pulse shape and insert the box-pulse at the end.
Coefficients αm,n and β:
The spectrum has the same form given in (37.1) for the AMI code,
<P(ω)> = T1 Ppulse(ω) (1/T) { !Syntax Error, I !Syntax Error, I αn,m [ eiω(m-n)T] +β!Syntax Error, I !Syntax Error, I [1] } . (37.1)
where αn,m ≡ <ym yn> and β ≡ <yn2> = αm,m
and our task is now to compute αn,m and β for the Hold/Change line code.
First consider
<yn2> = [q]A2 + [(1-q)] B2 ,
where q is the probability that slot n has yn= A. In this code, since only change and hold are coded, there is no preference for either amplitude, so q = 1/2 and
<yn2> = (A2+B2)/2 . (38.1)
Turning to <ynym>, consider this picture similar to that used for the AMI case, where the gap is kT1units. Here we arbitrarily drawn A > 0 and B < 0 and we draw the pulse as square, but it could be any shape and A and B can have any signs.
Fig 38.2
Denote the four probabilities as p(AA)k and so on. Since slot m and slot n must each be filled with either an A or a B, this picture shows the only four possibilities, so (different scaling relative to AMI analysis)
p(AA)k + p(AB)k + p(BA)k + p(BB)k = 1 .
Note that p(AA)k is the probability of slot m and slot n both having amplitude A in the statistical pulse train. With these probabilities, we will have
<ymyn> = p(AA)k AA + p(AB)k AB + p(BA)k BA + p(BB)k BB . (38.2)
In case 1, there are a certain number of holds and changes during the gap such that the overall effect is a hold. The number of changes must have been even. But this same statement can be made about case 4, so cases 1 and 4 have the same probability of existing in the pulse train. Similarly, cases 2 and 3 have the same probability and in those cases the number of changes must be odd. So now we have two variables to worry about and they add to 1/2 :
p(AA)k + p(AB)k = 1/2 (38.3)
<ymyn> = p(AA)k AA + p(AB)k AB + p(AB)k BA + p(AA)k BB
= p(AA)k ( AA + BB) + p(AB)k (AB + BA)
so
<ymyn> = p(AA)k( A2 + B2) + p(AB)k 2AB . (38.4)
If the gap is zero, what is the probability of having an adjacent AA in the pulse stream? The probability of having the left A is 1/2, and the probability for an A being followed by a A is 1-p. Therefore
p(AA)0 = (1/2)(1-p) . (38.5)
Consider now the gap as shown at value k. We claim that
p(AA)k+1 = p(AA)k (1-p) + p(AB)k p . (38.6)
Proof: If it was an AA to start with gap k, then to be AA with gap k+1 we have to add another A which has probability (1-p) since this is a hold. Conversely, if it was an AB we have to add an A which is a change, which has probability p. Then from (38.3),
p(AA)k+1 = p(AA)k (1-p) + (1/2 - p(AA)k ) p . (38.7)
To simplify notation, let Xk ≡ p(AA)k so that p(AB)k = 1/2 - Xk . Then (38.4) and (38.7) become
<ymyn> = Xk (A2 + B2) + (1/2 - Xk)2AB = (A-B)2Xk + AB (38.8)
Xk+1 = Xk (1-p) + (1/2-Xk) p = (1-2p)Xk + p/2
= aXk + p/2 a ≡ 1-2p . (38.9)
Maple solves this recursion equation as follows, using (38.5) that X0 = (1/2)(1-p),
so we find that
Xk = (1 + ak+1)/4 = p(AA)k . (38.10)
As a check, suppose p = 0 so there can be no changes. Then a = 1 and p(AA)k = 1/2. We can now have only case 1 or case 4, so we know p(AB)k = 0, and that is consistent with p(AA)k + p(AB)k = 1/2 .
Continuing from (38.8),
<ymyn> = (A-B)2Xk + AB = (A-B)2(1 + ak+1)/4 + AB
= [ (A-B)2/4] ak+1 + (A-B)2/4 + AB
= [ (A-B)2/4] ak+1 + [(A+B)2/4]
= (1/4) [ (A-B)2 ak+1 + (A+B)2 ] (38.11)
and we note that the result is indeed symmetric under A↔ B. Again for p = 0 (a=1) we find that
<ymyn> = (A2+B2)/2 which is the same then as <yn2>. For a constant pulse train, the amount of slot separation makes no difference.
Since k = |m-n| - 1 in general, we get these final results,
αn,m = <ymyn> = (1/4) [ a|m-n| (A-B)2 + (A+B)2 ] a ≡ 1-2p
β = <yn2> = (A2+B2)/2 . (38.12)
To save space, define
c ≡ (A-B)2/4 d ≡ (A+B)2/4 (38.13)
so then
αn,m = <ymyn> = c a|m-n| + d . (38.14)
For later use, notice that
β - d = c . (38.15)
Spectrum:
The spectrum is determined by (37.1) quoted above which we repeat here ,
<P(ω)> = T1 Ppulse(ω) (1/T) { !Syntax Error, I !Syntax Error, I αn,m [ eiω(m-n)T] +β!Syntax Error, I !Syntax Error, I [1] } . (37.1)
As in the AMI case, the β term in {...} is just
β!Syntax Error, I !Syntax Error, I [1] = β !Syntax Error, I [1] . (38.16)
Since αn,m = c a|m-n| + d , the first double sum has two terms. Again looking at the AMI case, we find that the first term is given by, again using b ≡ eiωT,
c !Syntax Error, I !Syntax Error, I a|m-n| b(m-n) = c !Syntax Error, I[1] . |a| < 1 (38.17)
To get the second term in the first double sum, we cannot just replace c by d and then set a = 1 to get
d !Syntax Error, I[1] (with a = 1) = d !Syntax Error, I[1] = -d !Syntax Error, I[1] . // wrong
This is because the result is not valid at a = 1 for ω = 2πn. So we have to do this d sum separately:
d !Syntax Error, I !Syntax Error, I [ eiω(m-n)T] = d !Syntax Error, I !Syntax Error, I bm-n .
We now omit the d for a while to evaluate this double sum
!Syntax Error, I !Syntax Error, I bm-n = !Syntax Error, I [ !Syntax Error, I bm-n – !Syntax Error, I bm-n ]
= ( !Syntax Error, Ib-n ) ( !Syntax Error, Ibm ) – !Syntax Error, I[ 1 ] . (38.18)
In the first factor, since b ≡ eiωT , we are facing squared delta functions, so we have to back off to finite N in our processing and later take N→∞. We continue, doing this making use Appendix A,
= ( 2πδ5(ωT1,N) )2 - (2N+1) // from (A.30)
= (2N+1) [ ( 2πδ5(ωT1,N) )2/ (2N+1) - 1 ]
= (2N+1) [ (2πδ6(ωT1,N) - 1 ] . // from (A.20)
Then we return to N = ∞ and use
limN→∞ δ6(k,N) = !Syntax Error, Iδ(k-2πm) (A.21)
to get
!Syntax Error, I !Syntax Error, I [ eiω(m-n)T] = [ !Syntax Error, I2π δ(ωT1-2πm) - 1 ] !Syntax Error, I[ 1 ] . (38.19)
The -1 is what one gets from the limit a→1 of , but we see that there is more.
We can now reinstall d and assemble the pieces to get
<P(ω)> = Ppulse(ω) (T1/T) { c + β - d + d !Syntax Error, I2π δ(ωT1-2πm) } !Syntax Error, I[ 1 ] .
(38.17) (38.16) (38.19) times d
Recalling (38.15) that β - d = c,
<P(ω)> = Ppulse(ω) (T1/T) { c [ +1] + d !Syntax Error, I2π δ(ωT1-2πm) } !Syntax Error, I[ 1 ] .
Using the fact (33.22) that Σn=-∞∞[1] = T/T1 for both the infinite and finite pulse train cases, we get
<P(ω) > = Ppulse(ω) { c [ +1] + d !Syntax Error, I2π δ(ωT1-2πm) } (38.20)
a = (1-2p) b = eiωT c = (A-B)2/4 d = (A+B)2/4 .
Maple now computes the square-bracketed (sb) expression:
so that
[ +1] =
and then here is the final result for the Change/Hold line code :
<P(ω) > = Ppulse(ω) { [ ]2 + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) }
(38.21)
where a = (2p-1) and p is the probability of a change while 1-p is the probability of a hold.
We shall now investigate various limits of this result (a confidence-building measure).
Limit A → B: Setting A = B in (38.21) gives
<P(ω) > = Ppulse(ω) { A2!Syntax Error, I2π δ(ωT1-2πm) } . (38.22)
In the case that the pulse is a box of unit height we use (34.22),
Ppulse(ω) = (1/ω1) sinc2(ωT1/2) (38.23)
to get
<P(ω) > = A2 Ppulse(ω) !Syntax Error, I2π δ(ωT1-2πm)
= A2!Syntax Error, I2π δ(ωT1-2πm) (1/ω1) sinc2(πm) = A2 2π δ(ωT1) (1/ω1)
= A2 δ(ω) . (38.24)
This is exactly what we expect when A = B, since the pulse train is then just a constant value A !
Limit p→1 ( a → -1) :
In this limit we expect to get a square-wave pulse train with alternating values A and B. We make use of this limit from Appendix A with 2k = ωT1,
lima→-1 = π!Syntax Error, Iδ(ωT1/2-mπ/2) = !Syntax Error, I2π δ(ωT1-mπ) (A.25b)
and then the Change/Hold spectral power density (38.21) becomes
<P(ω) > = Ppulse(ω) { [ ]2 !Syntax Error, I2π δ(ωT1-mπ) + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) } .
Installing from (34.22) the unit-height box pulse shape Ppulse(ω) = (1/ω1) sinc2(ωT1/2) and using (38.24) the second term becomes just [ ]2 δ(ω) while the first term is
[ ]2 !Syntax Error, I2π δ(ωT1-mπ) (1/ω1) sinc2(mπ/2)
= [ ]2 2π !Syntax Error, Iδ(ωT1-mπ) (1/ω1) (mπ/2)-2
= (A-B)2 (1/π2) !Syntax Error, I(1/m2) δ(ω - mω1/2)
giving a final result,
<P(ω) > = [ ]2 !Syntax Error, I(1/m2) δ(ω - mω1/2) + [ ]2 δ(ω) . (38.25)
Comparing the first term with (34.23), we see that it is the spectrum of a square wave whose peak-to-peak amplitude is (A-B), which is exactly what it should be. The second term then correctly accounts for the expected average DC level of (A+B)/2.
Limit p→0 ( a → +1) :
In this case for a square wave we expect to get a result appropriate for an ensemble of pulse trains half of which have constant value A and the other have constant value B, since all pulse trains are in a permanent hold state with p = 0; nothing changes. This time we use this limit (A.23c) with 2k = ωT1,
lima→+1 = π !Syntax Error, Iδ(ωT1/2 - mπ) = !Syntax Error, I2πδ(ωT1 - m2π) (A.23c)
to get from (38.21),
<P(ω) > = Ppulse(ω) { [ ]2 !Syntax Error, I2π δ(ωT1 - 2mπ) + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) }
= Ppulse(ω)!Syntax Error, I2π δ(ωT1 - 2mπ) . (38.26)
Ignoring the leading factor, this agrees with the first line of (33.25) which was developed for a simple pulse train with unit amplitudes yn = 1. This result then describes the average spectral power of an ensemble in which 50% of the pulse trains have amplitude A and the rest amplitude B.
Installing the square pulse spectrum (38.23) Ppulse(ω) = (1/ω1) sinc2(ωT1/2) gives
<P(ω) > = (1/ω1) sinc2(ωT1/2) !Syntax Error, I2π δ(ωT1 - 2mπ)
= (1/ω1) 2π δ(ωT1) = (T1ω1)-1 2π δ(ω)
= δ(ω)
which describes an ensemble of constant pulse trains 50% of which are x(t) = A and the rest x(t) = B.
Limit p→1/2 ( a → 0)
Recall again the general result (38.21),
<P(ω) > = Ppulse(ω) { [ ]2 + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) } .
(38.21)
The ratio becomes unity so the spectral power density is then
<P(ω) > = Ppulse(ω) { [ ]2 + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) } . (38.27)
Box-Shaped Pulse for general p: Start as just above with (38.21) and insert Ppulse(ω) for the box,
<P(ω) > = Ppulse(ω) { [ ]2 + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) }
Ppulse(ω) = (1/ω1) sinc2(ωT1/2) .
As usual, the second term becomes [ ]2 δ(ω) , so the result is [ a = 1-2p, x = ω/ω1 = fT1 ]
<P(ω) > = [ ]2 (1/ω1) sinc2(ωT1/2) + (1/ω1)[ ]2 δ(ω/ω1) (38.28)
<P(f) > = [ ]2 T1 sinc2(πfT1) + [ ]2 δ(f) . (38.28a)
Box-Shaped Pulse for p = 1/2 (a = 0):
<P(ω) > = [ ]2 (1/ω1) sinc2(ωT1/2) + [ ]2 δ(ω)
(38.29)
= (1/ω1) { [ ]2 sinc2(πx) + [ ]2 δ(x) } x ≡ = f T1
<P(f) > = T1 [ ]2 sinc2(πfT1) + [ ]2 δ(f) . (38.29a)
Ignoring the factor (1/ω1) in (38.29), we make this plot of <P(ω) >, which is the same as for unipolar NRZ but with different scaling factors for the two terms,
Fig 38.3
Example 1: Unipolar NRZI line code
Coding: This is a special case of Change/Hold encoding where A = 1 and B = 0.
data = [ 1 0 1 1 0 0 1]
encode = [ 1 0 0 1 0 0 0 1]
Fig 38.4
NRZI means NRZ Invert-on-1, where NRZ means non-return to zero (see comments at the start of Section 36). NRZI does not mean "NRZ inverted". Some other sources use A = 0 and B = 1 so then transitions happen on 0 instead of 1, as in the standard for USB (Universal Serial Bus). The Change/Hold spectra are symmetric in A↔B, so the NRZI spectra are the same for either convention.
Coefficients αm,n and β:
αn,m = <ymyn> = (1/4) [ a|m-n| (A-B)2 + (A+B)2 ] = (1/4) [ a|m-n| + 1 ]
β = <yn2> = (A2+B2)/2 = 1/2 (38.30)
Spectrum: From (38.21), and with a = (1-2p),
<P(ω) > = Ppulse(ω) { [ ]2 + [ ]2 !Syntax Error, I2π δ(ωT1-2πm) }
= Ppulse(ω) { + !Syntax Error, I2π δ(ωT1-2πm) } . (38.31)
Box-Shaped Pulse for general p: From (38.28),
<P(ω) > = (1/ω1) sinc2(ωT1/2) + δ(ω) . (38.32)
Box-Shaped Pulse for p = 1/2 (a = 0): From (38.29),
<P(ω) > = (1/ω1) { sinc2(πx) + δ(x) } x ≡ = fT1 (38.33)
<P(f) > = T1 sinc2(πx) + δ(f) . (38.33a)
The plot is that of Fig 38.3, but with each factor being 1/4.
This spectrum is exactly the same as that for unipolar NRZ shown in (36.3b) with V = 1. One way to understand this fact is that for every NRZ sequence yn there is a NRZI sequence y'n given by (36.3).
y'n = yn – yn-1 . // mod-2 math
This equation can be solved for yn in terms of y'n (assume y0= 0),
yn = Σm=1n y'm n = 1,2,3....
Consider the space of all random sequences of 1's and 0's ( random pulse trains p = 1/2). Since we just showed that the relation {yn} ↔ {y'n} is one-to-one, the mapping f: {yn}→{y'n} just reorders the set of random sequences in the ensemble used to compute the spectral power density, so that density cannot change.
In contrast, for p ≠ 1/2, the NRZI power spectrum (38.32) is quite different from the NRZ power spectrum (36.3),
<P(ω) > = (1/ω1) [ sinc2(πx) + δ(x)] // unipolar NRZI (38.32)
a = (2p-1)
<P(ω)> == (1/ω1) [sinc2(πx) (1-a2) + (2p)2 δ(x)] // unipolar NRZ (36.3)
Example 2: Bipolar NRZI line code
data = [ 1 0 1 1 0 0 1]
encode = [ 1 -1 -1 1 -1 -1 -1 1]
In this case A = 1 and B = -1 so the general NRZI spectrum (38.21) becomes
<P(ω) > = Ppulse(ω) a = (2p-1) // bipolar NRZI (38.34)
and for p = 1/2 (a=0) we obtain,
<P(ω) > = Ppulse(ω) . // = (1/2π) T1 sinc2(ωT1/2) for the box pulse (36.1) (38.35)
In contrast, the Bipolar NRZ spectrum is Ppulse(ω) [(β-α) + α !Syntax Error, I2πδ(ωT1- 2πm) ] where
α = (1-2p)2, β = 1, and (β-α) = 4p(1-p) = 1-a2 so it's spectrum is
<P(ω)> = Ppulse(ω) [(1-a2) + (1-2p)2 !Syntax Error, I2πδ(ωT1- 2πm) ] // bipolar NRZ (38.36)
If p = 1/2 (a=0) then the Bipolar NRZ spectrum becomes
<P(ω)> = Ppulse(ω) (38.37)
which is the same as for Bipolar NRZI.