Solutions Manual Answers to End-of-Chapter Problems
Digital Communications Third Edition
Bernard Sklar fred harris
This Solutions Manual provides answers to the Problems that appear at the end of Chapters 1-17. The pages contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
Copyright © 2021 Pearson Education, Inc.
Chapter 1 Answers to Problems
The pages in Chapter 1 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
1.20 (d) The normalized spectrum, Gx(f)/Gx(106), appears as: 1
1
0.75
G x( f ) G x( 106)
0.5
0.25
0
0 5 9 10
5 9.2 10
5 9.4 10
5 9.6 10
5 9.8 10
9 105
6 1 10
6 6 6 6 6 1.02 10 1.04 10 1.06 10 1.08 10 1.1 10
f
1.1 106
Applying numerical methods with Mathcad ®, the two-sided 99% bandwidth can be found by numerical integration as: 106 f1
10 f Gx f df 0.99 G f df x 6
1
where f1 is found to be equal to 103 kHz. Thus, the two-sided 99% bandwidth is equal to 206 kHz. Since this bandwidth corresponds to the given spectrum (with signaling rate = 10,000 symbols/s), normalizing it relative to one symbol per second, yields the two-sided 99% bandwidth as (206103/104) = 20.6 Hz for one symbol per second, or in general the 99% bandwidth in terms of the signaling rate, R, is 20.6R Hz. 1.20 (e) 35-dB Bandwidth: 35-dB attenuation 10-3.5 = 3.16 10-4
1-14
Chapter 2 Answers to Problems
The pages in Chapter 2 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
2.16 (a) Assume that the L quantization levels are equally spaced and symmetrical about zero. Then, the maximum possible quantization noise voltage equals ½ the q volt interval between any two neighboring levels, Also, the peak quantization noise power, Nq , can be expressed as (q/2)2. The peak signal power, S, can be designated (Vpp/2)2, where Vpp = Vp – (–Vp) is the peak-to-peak signal voltage, and Vp is the peak voltage. Since there are L quantization levels and (L – 1 ) intervals (each interval corresponding to q volts), we can write:
S Vpp / 2 2 Nq q/2 peak
2
2 q / 2
q L 1 / 2
2
q2 L2 / 4 2 L q2 / 4
Thus, we need to compute how many levels, L, will yield a (S/Nq)peak = 96 dB. We therefore write: S 10 log10 L2 Nq peak
96 dB 10 log10
20 log10 L
L 10 96 / 20 63,096 levels (b) The number of bits that correspond to 63,096 levels is
l log2 L log2 63,096 16 bits/sample (c) R = 16 bits/sample 44.1 ksamples/s = 705,600 bits/s.
2-9
Chapter 3 Answers to Problems
The pages in Chapter 3 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
3.13 Signaling with RZ pulses represents an example of orthogonal signaling. Therefore, for coherent detection, we can use Equation (3.71) as PB = Q
Eb A2T =Q 2 N0 N 0
.
0.01T = Q ( x) 2 N0
10−3 = Q
Using Table B.1 to find x, yields x=3.1. Thus, 0.01T = 3.1, T = 19.2 µ s, and R = 52,083 bits/s 2 ×10−8
3.14 Signaling with NRZ pulses represents an example of antipodal signaling. Therefore, for coherent detection, we can use Equation (3.70) as PB = Q
2Eb 2 A2T =Q N0 N0
.
2 A2 (1/ 56, 000 ) = Q ( x) 10−6
10−3 = Q
Using Table B.1 to find x, yields x=3.1. Thus, 2 A2 (1/ 56, 000 ) 10
−6
= 3.1, A2 = 0.268 . Thus, if there were no signal
power loss, the minimum power needed would be approximately 260 mW. With a 3-dB loss, 538 mW are needed. 3-12
3.16 The output of an MF is a time series, such as seen in Figure 3.7b (e.g., a succession of increasing positive and negative correlations to an input sine wave). Such an MF output sequence can be equated to several correlators operating at different starting points of the input time series. Unlike an MF, a correlator only computes an output once per symbol time. A bank of N = 6 correlators is shown in Figure 1, where the reference signal for the first one is s1(t ) , and the reference for each of the others is a symbol-time-offset copy, s1(t − kT ) of the first reference. It is convenient to refer to the reference signals as templates. Since the correlator emulates a matched filter, the "matching" is often provided by choosing each of the si (t ) templates to be a square-root Nyquist shaped pulse, and thus the overall system transfer function being the product of two rootraised cosine functions, is a raised cosine function. Figure 2 is a pictorial of the 6 shaped-pulse templates, each one occupying 6 symbol times, and each one offset from its staggered neighbor (above and below) by exactly one symbol time. Each of the template signals will be orthogonal to one another, provided that the time offset is chosen to be an integer number of symbols. Each correlator performs product-integration of the received pulse sequence, r(t), by using its respective template. The timeshifted templates account for the staggered time over which each correlator operates. That is, the first correlator processes the r(t) waveform over the time intervals 0 to 6, then 6 to 12, and so forth. The second correlator operates over the intervals 1 to 7, then 7 to 13, and so forth. The sixth correlator operates over the intervals 5 to 11, then 11 to 17, and so forth. In Figure 1, following the bank of correlators is a commutating switch connecting the correlator outputs to a sampling switch. Startup consists of loading the correlators with 6-symbol durations of the received waveform, after which the commutating switch simply "sits" on the output of each correlator for one symbol duration before moving on to the next correlator. Even though a correlator only produces an output 3-14
3.16 (cont’d) For this example, Figure 3 shows the signal into the staggered correlators. We see 6 successive views of the smeared signal appearing as “snapshots” through a sliding window (6-symbol times in duration). 2 0 -2 20
2
4
6
8
10
12
2
4
6
8
10
12
2
4
6
8
10
12
2
4
6
8
10
12
2
4
6
8
10
12
2
4
6
8
10
12
0 -2 20 0 -2 20 0 -2 20 0 -2 20 0 -2 0
Figure 3. Time intervals processed by successive correlators
3-17
3.16 (cont’d) For this example, Figure 4 shows the output of each successive correlator. We see 6 successive results from each windowed signal in Figure 3 that has here been product-integrated with each of the staggered templates.. Note that the signal values at the successive sampling times 6, 7, … , 11 correspond to the PAM signal values that had been sent. 2 0 -2 2 0 -2 2 0 -2 2 0 -2 2 0 -2 2 0 -2
0
2
4
6
8
10
12
0
2
4
6
8
10
12
0
2
4
6
8
10
12
0
2
4
6
8
10
12
0
2
4
6
8
10
12
0
2
4
6
8
10
12
Figure 4. Outputs of successive correlators
3-18
3.17 The overall (channel and system) impulse response is h(t ) = δ(t ) + αδ(t − T ) . We need a compensating (equalizing) filter with impulse response c(t) that forces h(t ) ∗ c(t ) = δ(t ) and zero everywhere else (zero-forcing filter). The impulse response of the equalizing filter can have the following form: c(t ) = c0δ(t ) + c1δ(t − T ) + c2δ(t − 2T ) + c3δ(t − 3T ) +⋅⋅⋅
where {ck} are the weights or filter values at times k = 0, 1, 2, 3, ... After equalizing, the system output is obtained by convolving the overall impulse response with the filter impulse response, as follows: h(t ) ∗ c(t ) = c0δ(t ) + c1δ(t − T ) + c2δ(t − 2T ) + c3δ(t − 3T ) +⋅⋅⋅ + αc0δ(t − T ) + αc1δ(t − 2T ) + αc2δ(t − 3T ) +⋅⋅⋅
We solve for the {ck} weights recursively, forcing the output to be equal to 1 at time t = 0, and to be 0 elsewhere. At t = 0 T
Contribution to output c0 c1 + αc0
2T
c2 + αc1
3T
c3 + αc2
4T
αc3 3-19
Let c0 = 1
Output
c0 = 1 c1 + αc0 = 0 c1 = − αc0 c1 = − α c2 + αc1 = 0 c2 = − αc1 c2 = + α 2 c3 + αc2 = 0 c3 = − αc2 c3 = − α 3
1 0
0
0
−α4
Chapter 4 Answers to Problems
The pages in Chapter 4 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
4.10 (a) A matched filter (MF) is defined as a filter whose impulse response, h(t), is the time-reversed and delayed version of the input signal that the filter is matched to. Thus, for a received signal s(t), where noise is being neglected, the form of h(t) is h(t ) = s(T − t ) , where T is the time duration of the signal waveform being matched. In order for the filter to be realizable, the output must be delayed by the time T that it takes for the entire signal to be received at the input. The discrete signal waveform, s(k), in Figure P4.1, can be described analytically with delta functions as s(k ) = 0 δ(0) + 10 δ(1) + 20 δ(2) + 30 δ(3) . Since the duration of s(k) is three time intervals, we now represent the impulse response of a filter (in discrete form) that is matched to s(k) as h(k ) = s(3 − k ) = 0 δ(3− 0) + 10 δ(3−1) + 20 δ(3− 2) + 30 δ(3− 3) = 30 δ(0) + 20 δ(1) + 10 δ(2) + 0 δ(3)
h(k) 30 20 10 0
1
2
3
k
h(k) corresponds to the first of two time-reversals that takes place in the matched-filter detection process. With s(k) at the input to a filter, the ouput, z(k) is obtained from convolving s(k) with the impulse response of the filter. For continuous signals, this takes t the form z(t ) = s(t ) ∗ h(t ) = ∫ s( τ) h(t − τ)d τ . When the filter is an 0
MF, so that h(t ) = s(T − t ) , then within the convolution integral 4-11
h(t − τ) = s[Τ − (t − τ)] = s(Τ − t + τ) t
and z(t ) = ∫ s(τ) s(Τ − t + τ)d τ 0
During integration, time t is held constant, and we integrate with respect to the dummy variable τ. This convolution integral represents the second time-reversal step in the matched-filter detection process. After sampling z(t) at t = T, we have the T predetection signal z(T ) = ∫ s(τ) s(τ)d τ . Recall that noise is being 0
neglected. The discrete form of this convolution can be written as N −1
z(k ) = s( k ) ∗ h(k ) = ∑ s(n) h(k − n ) n =0
For the MF in this problem h(k ) = s(3 − k ) = 30 δ(0) + 20 δ(1) + 10 δ(2) + 0 δ(3)
and within the convolution summation h(k − n) = s[3 − ( k − n)] = s(3 − k + n) N −1
Therefore, z(k ) = ∑ s(n) s[n+ (3 − k ) ] n =0
We say again, that this convolution represents the second timereversal in the MF detection process, so that when we plot s[ n+ (3 − k ) ] at points k = 0 and k = 1 for example, we can recognize that this reversal now results in functions s(n+ 3) and s(n+ 2) (see below) having a similar appearance to the input s(k). We now compute points for plotting the output, z(k), where k is the input and output time index, and n is a dummy time variable. N −1
z(k ) = ∑ s(n) s[n+ (3 − k ) ] n =0
For k = 0: z(0) = s(0) s(3) + s(1) s(4) + ⋯ = 0 For k = 1: z(1) = s(0) s(2) + s(1) s(3) + +s(2) s(4) +⋯ = 300 4-12
s(n+2)
s(n+3) s[n+(3-k)] at k = 0
30
30
s[n+(3-k)] at k = 1
20
20
10 -3
-2
-1
10 n
0
-2
-1
0
1
n
For k = 2: z(2) = s(0) s(1) + s(1) s(2) + s(2) s(3) + s(3) s(4) + ⋯ = 800 For k = 3: z(3) = s(0) s(0) + s(1) s(1) + s(2) s(2) + s(3) s(3) + ⋯ = 1400 For k = 4: z(4) = s(1) s(0) + s(2) s(1) + s(3) s(2) + ⋯ = 800 For k = 5: z(5) = s(2) s(0) + s(3) s(1) + s(4) s(2) + ⋯ = 300 For k = 6: z(6) = s(3) s(0) + s(4) s(1) + ⋯ = 0 The plot of z(k) versus k is shown below. The maximum output value is 1400. z(k) 1400 1200 1000 800 600 400 200 0
1
2
3
4-13
4
5
6
k
4.10 (b) A correlator and convolver perform tasks that are remarkably similar, so similar that there is a potential for misunderstanding or for confusing the two functions. The process of convolution and correlation are show below. N −1
Convolution:
z(k ) = ∑ s( n) h( k − n)
Correlation:
z(k ) = ∑ s( n)h(k + n)
n =0
N −1 n =0
A visualization of the difference between the two functions can be seen by examining the dummy index “n” of summation. The index “n” points to both the data sample and to the location in coefficient memory containing the coefficient sample required to interact with the selected data sample. A figure emphasizing this mapping is shown below. We can initially locate the data pointer at address “k” and then offset the pointer to data samples in the past (k-n), and to data samples in the future (k+n). When we decrement the address pointer into past samples (relative to address “k”), we perform convolution. When we increment the address pointer into future samples (relative to address ”k”), we perform correlation. If you accidentally built a circuit that correlated a signal with its time reversed copy, the output would take the form of the N −1
convolver z(k ) = ∑ s( n) h( k − n) . For this example the input n =0
sequence is: s(k ) = 0 δ(0) + 10 δ(1) + 20 δ(2) + 30 δ(3) and the timereversed sequence is s(−k ) = 30 δ(−3) + 20 δ(−2) + 10 δ(−1) + 0 δ(0) 4-14
Coeffic ient Mem ory
Data
future
k+ 3
k+ 2 Referenc e k+ 1 tim e -> k k-1 k-2 p ast k-3
c onvolve
n= 0 n= 1 n= 2 n= 3 n= 4 n= 5
k-4 n= N-1
a c c um ulator
Coeffic ient Mem ory
Da ta
n= 0 future
Referenc e tim e ->
p ast
k+ 3 k+ 2 k+ 1
c orrela te
k k-1
n= 1 n= 2 n= 3 n= 4 n= 5
k-2 k-3 k-4 n= N-1
a c c um ulator
4-15
4.10 (b) (cont’d.) We compute z(t) as follows: For k = 0: z(0) = s(0) s(0) +⋯ = 0 For k = 1: z(1) = s(1) s(0) + s(0) s(1) + ⋯ = 0 For k = 2: z(2) = s(2) s(0) + s(1) s(1) +⋯ =100 For k = 3: z(3) = s(3) s(0) + s(2) s(1) + s(1) s(2) + ⋯ = 400 For k = 4: z(4) = s(4) s(0) + s(3) s(1) + s(2) s(2) + s(1) s(3) + ⋯ = 1000 For k = 5: z(5) = s(5) s(0) + s(4) s(1) + s(3) s(2) + s(2) s(3) + ⋯ = 1200 For k = 6: z(6) = s(3) s(3) + ⋯ = 900 z(k) 1400 1200 1000 800 600 400 200 0
1
2
3
4
5
6
7
k
(c) A valid MF output has symmetry. In part (b) above, we see that the output of a convolver does not have symmetry. (d) At the peak output, the SNR for the correlator is always greater than that of the convolver. The optimum way of detecting signals in AWGN is with an MF. If the input consist of noise only, the two outputs are identical. 4-16
4.10 (cont’d) Here are some additional thoughts regarding convolution and correlation. Note that we designate n as an input-time index for the application, and k as a current output-time index for the response y(k). Convolution between two series x(n) and h(n) (e.g., data and filter coefficients, respectfully) is described as the running product-summation formed as follows. One of the sequences, say x(n) is time reversed to form a new series x(− n). This new series is then time shifted by the amount k1 to obtain the sequence x(k1− n). The time reversed and time shifted series is then multiplied point by point with the second series h(n) forming the product x(k1− n) h(n). This product is summed over time n = 0-to-N, where the length of the data series is N + 1. (For a continuous system, summation would be replaced by integration, yielding the area under the product curve.) The summation represents the value of the convolution for offset k1. The convolution function y(k) corresponds to this product-summation running over all time k (note: k can be positive or negative). Correlation between two series x(n) and h(n) is described as the running product-summation formed as follows. One of the sequences, say x(n) is shifted by the amount k1, to obtain the sequence x(k1+ n). This time shifted series is multiplied point by point with the second series h(n) forming a new series x(k1+ n) h(n). The product is summed over n = 0-to-N, and the summation represents the value of the correlation of the two series for offset k1. The correlation function y(k) corresponds to the product-summation running over all time k. 4-17
The only difference between the two operations is that for convolution one of the series is time reversed prior to performing the running product-summation, while for correlation there is no such time reversal. Initially, for both cases, the sliding series can be visualized as being left-shifted (in the direction of negative time) far enough so that there is no overlap of the two series. The sliding series is then moved towards the right to form the running productsummation as a function of the offset parameter k. In convolution, the summation process is typically taken over the input time limits n = 0-to-N. This reflects the constraint that the series x(n) and h(n) are causal, and thus each series starts at the index n = 0. In correlation, for easy visualization, the summation process is typically taken over the limits n = –N/2 to +N/2, resembling a non-causal case; each series starts at index n = –N/2 and extends to +N/2. Here the time origin is considered arbitrary and the output response-time k = 0 indicates the offset for which the product-summation of two identical sequences achieve a maximum value. One way to visualize the difference between convolution and correlation is to assume that both sequences are causal, and thus start at time n = 0. Imagine a little animated man moving the sliding series past the stationary one. The man must stay at the leading edge (initially index zero) as he moves the series. Thus, as seen in the figure below, if the series is not time reversed (correlation), the man pushes the series (choo-choo train). If it is time reversed (convolution), he pulls the series (time-reversed choo-choo train). 4-18
4-19
NN
NN
[[ N QN − Q
[ −[Q Q
[[ Q Q
&RQYROXWLRQ
&RQYROXWLRQ
[ [NQ QN
&RUUHODWLRQ &RUUH OD WLRQ
∫ [ W τ K τ Gτ [ N Q K Q ∑ Q
∫ [ W − τ K τ Gτ \N
[ N−Q K Q ∑ Q
Ν
'LVFUHWH
\W
W
&RQWLQXRXV
\N
Ν
'LVFUHWH
\W
W
&RQWLQXRXV
Chapter 5 Answers to Problems
The pages in Chapter 5 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
2.25 dB (a) Since power attenuation over a cable is an exponential function of distance, when expressed in dB, it is linear. Thus, for a 3-dB loss per 100 feet, the loss for 75 feet is 0.75 x 3-dB = 2.25 dB (or 1.68) Fcomp = F1 + (F2 – 1) / G1 = L1 + L1(F2 – 1) = 1.68 + 1.68 (20 – 1) = 33.6 (or 15.3 dB)
L1 = 2.25 dB
Fcomp = L1 + L1(F2 – 1) + L1(F3 – 1) / G2 = 1.68 + 1.68 (2 – 1) + 1.68 (20 – 1) / 100 = 3.68 (or 5. 7 dB) (c) Fcomp = 2 + (1.68 – 1) / 100 + 1.68 (20 – 1) / 100 = 2.3 (or 3.6 dB)
Chapter 6 Answers to Problems
The pages in Chapter 6 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
Chapter 7 Answers to Problems
The pages in Chapter 7 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
7.21 The polynomials in parts (a), (d), (g), and (h) are primitive. The rest are not primitive. We show the solution to part (a) in the classical way − that is, an irreducible polynomial, f(X), of degree m is said to be primitive, if the smallest positive integer n for which f(X) divides Xn + 1 is n = 2m − 1. Thus, for part (a), we verify that this degree m = 3 polynomial is primitive by determining that it m divides Xn + 1 = X (2 −1) + 1 = X7 + 1, but does not divide Xn + 1, for values of n in the range of 1 ≤ n < 7. Below, we show that X 3 + X 2 +1 divides X 7 + 1 . X 4 + X 3 + X 2 +1 X 3 + X 2 +1 X 7 +1 X7+ X6+ X4 X 6 + X 4 +1 X6+ X5+ X3 X 5 + X 4 + X 3 +1 X5+ X4+ X2 X 3 + X 2 +1 X 3 + X 2 +1 0
Next we exhaustively check to see that the remaining conditions are met. X3+ X2 + X X 3 + X 2 +1 X 6 +1 X6 + X5+ X3 X 5 + X 3 +1 X5+ X4+ X2 X 4 + X 3 + X 2 +1 X4+ X3+ X X 2 + X +1
7-16
X 2 + X +1 X 3 + X 2 +1 X 5 +1 X5 + X4 + X2 X 4 + X 2 +1 X4+ X3+ X X 3 + X 2 + X +1 X 3 + X 2 +1 X X +1 3 2 X + X +1 X 4 +1 X4+ X3+ X X 3 + X +1 X 3 + X 2 +1 X 2 + X +1 1 3 2 X + X +1 X 3 + 1 X 3 + X 2 +1 X2
The remaining conditions are met, since we have shown that n X 3 + X 2 +1 does not divide X + 1, for values of n in the range of 1 ≤ n < 7. Next we use a LFSR to illustrate an easier way of determining whether a polynomial is primitive. As an example we use this method to verify that the part (g) polynomial is primitive. We draw the LFSR (shown below), with the feedback connections corresponding to the coefficients of the polynomial 1 + X2 + X5 similar to the example of Figure 8.8. We load into the circuitregisters any nonzero setting, say 1 0 0 0 0, and perform a right shift with each clock pulse. For this polynomial, the circuit generates each of the nonzero field elements within one period (as seen in the table below), hence the polynomial which defines this GF(25) field is a primitive polynomial. 7-17
Lowest order stage
1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1
Highest Decimal order stage equivalent
0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0
0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0
0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 7-18
0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0
16 8 4 2 1 20 10 5 22 11 17 28 14 7 23 31 27 25 24 12 6 3 21 30 15 19 29 26 13 18 9 16
X0
X1
X2
X3
X4
X5
+ LFSR with feedback connections corresponding to the coefficients of the polynomial 1 + X2 + X5 7.22 (a) t=
n− k 7−3 = = 2 symbols 2 2
(n, k ) = (2m −1, 2m −1 − 2t ) 2m −1 = 7, m = 3 bits/symbol km
(b) The (7, 3) R-S code has 2 = 29 = 512 codewords out of a total of nm 2 = 221 = 2,097,152 possible binary words. We therefore know that the dimensions of the standard array must contain 221 total entries and 29 columns (one for each codeword). Thus, we can compute that the number of rows must be 221/29 = 212 (4096 rows). (c) and (d) The codeword is made up of seven symbols, each symbol containing 3 bits. How many ways are there to make a symbol error, 7 7 7
given that a symbol is made up of 3 bits? There are + + = 7 1 2 3
ways to make an error in any one of the symbols. Next, we ask how many ways are there to make single symbol errors in a seven-symbol codeword, given that we have just computed that there are seven ways 7
to make an error in any one symbol? There are × 7 = 49 ways to 1
7-19
make single-symbol errors. How many ways are there to make 7
double-symbol errors? There are × 7 × 7 = 1029 ways to make double 2
symbol errors? How many ways are there to make triple-symbol 7
errors? There are × 7 × 7 × 7 = 12,005 . How do we use this inform3
ation together with the dimensions of the standard array to corroborate (and gain some insight into) the part (a) finding that the (7, 3) R-S code is a double symbol error correcting code? There are 4096 rows in the standard array of this example, and the all-zeros vector occupies the first row. Of the 4095 remaining rows, 49 are allocated to single symbol errors, 1029 are allocated to double-symbol errors, and thus the code is not a perfect code because there remains a residual 3015 rows that can be allocated to triple-symbol errors. 7.23 From Table 8.1, we select the primitive polynomial 1 + x + x4, and map the field elements versus basis elements as follows: 1 + α + α4 = 0,
α4 = −1 − α,
α4 = 1 + α
α5 = α α4 = α (1 + α) = α + α2 α6 = α (α + α2) = α2 + α3 α7 = α (α2 + α3) = α3 + α4 = 1 + α + α3 α8 = α α7 = α (1 + α + α3) = α + α2 + α4 = α + α2 + 1 + α = 1 + α2 α9 = α α8 = α (1 + α2) = α + α3 α10 = α α9 = α (α + α3) = α2 + α4 = 1 + α + α2 α11 = α α10 = α (1 + α + α2) = α + α2 + α3 α12 = α α11 = α (α + α2 + α3) = α + α2 + α4 = α + α2 + 1 + α = 1 + α2 7-20
X0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1
0 α0 α1 α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14
X1 X2 X3 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1
Because of symmetry, we show only the triangular half of the tables. Addition Table +
0
α0 α1 α2
α3
α4
α5
α6
α7
α8
0 α0 α1 α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14
0
α0 α1 α2 α3 α4 α5 α6 0 α4 α8 α14 α1 α10 α13 0 α5 α9 α0 α2 α11 0 α6 α10 α1 α3 0 α7 α11 α2 0 α8 α12 0 α9 0
α7 α9 α14 α12 α4 α3 α13 α10 0
α8 α9 α10 α2 α7 α5 α10 α3 α8 α0 α11 α4 α13 α1 α12 α5 α14 α2 α4 α6 α0 α14 α5 α7 α11 α0 α6 0 α12 α1 0 α13 0
7-21
α9
α10 α11 α12 α13 α14 α11 α12 α6 α9 α5 α13 α3 α1 α8 α7 α2 α14 0
α12 α11 α13 α7 α10 α6 α14 α4 α2 α9 α8 α3 α0 0
α13 α6 α12 α14 α8 α11 α7 α0 α5 α3 α10 α9 α4 α1 0
α14 α3 α7 α13 α0 α9 α12 α8 α1 α6 α4 α11 α10 α5 α2 0
Multiplication table ×
0
α0 α1 α2
α3
α4
α5
α6
α7
α8
α9
α10 α11 α12 α13 α14
0 α0 α1 α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14
0
0 0 0 α0 α1 α2 α2 α3 α4
0 α3 α4 α5 α6
0 α4 α5 α6 α7 α8
0 0 5 α α6 α6 α7 α7 α8 α8 α9 α9 α10 α10 α11 α12
0 α7 α8 α9 α10 α11 α12 α13 α14
0 α8 α9 α10 α11 α12 α13 α14 α0 α1
0 α9 α10 α11 α12 α13 α14 α0 α1 α2 α3
0 α10 α11 α12 α13 α14 α0 α1 α2 α3 α4 α5
0 0 0 11 12 α α α13 α12 α13 α14 α13 α14 α0 α14 α0 α1 α0 α1 α2 α1 α2 α3 α2 α3 α4 α3 α4 α5 α4 α5 α6 α5 α6 α7 α6 α7 α8 α7 α8 α9 α9 α10 α11
0 α14 α0 α1 α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13
7.24
α5 X 2 + X + α 4 X 4 + α3 X 3 + α0 X 2 + α1 X + α3 α5 X 6 + α3 X 5 + α1 X 4 α5 X 6 + α X 5 + α5 X 4 + α6 X 3 + α X 2 (α3 + α) X 5 + (α5 + α) X 4 + α6 X 3 + α X 2 α0 X 5 + α6 X 4 + α6 X 3 + α X 2 X 5 + α3 X 4 + α0 X 3 + α X 2 + α3 X (α6 + α3 ) X 4 + (α0 + α6 ) X 3 + α3 X α4 X 4 + α2 X 3 + α3 X α4 X 4 + α4α3 X 3 + α4 X 2 + α1α4 X + α3α4 (α2 +1) X 3 + α4 X 2 + (α3 + α5 ) X +1 α6 X 3 + α4 X 2 + α2 X +1
7-22
7.24 (cont’d.)
parity p( X ) = X n-k m ( X ) modulo g( X )
remainder = parity =1+α2 X +α4 X 2 +α6 X 3 U( X ) =1+α2 X +α4 X 2 +α6 X 3 +α1 X 4 +α3 X 5 +α5 X 6 = 100 001 011 101 010 110 111 parity data 7.25 (a) For the (7, 3) R-S code, we use the LFSR from Figure 8.9. X0
X1
X2
X3
X4 FEEDBACK
α3
α1
α0
SWITCH 1
α3
INPUT MESSAGE SYMBOL SEQUENCE SWITCH 2
With Figure 8.7, we transform the message symbols {6, 5, 1} to α3 α6 α2, where the rightmost symbol is the earliest.
Input Clock α3α6α2 0 α3α6
1
α3
2 3
Register 0 α2α3 α5 α1α3 α4 α0α3 α3
0 α2α1 α3 α1α1 +α5 α3 α0α1 +α4 α2
Feedback 0 0 α2 α2α0 α2α3 α5α6 α5 α2 α1 α1α0 +α3 α1α3 +α2 α1 +α3 α0 α1 α0 α0α0 +α3 α0α3 +α0 − α1 α1
α3 α2 α1 α1
α3 α6 α2
parity
data
Codeword = 110 001 010 010 110 101 001
7-23
7.25 (b)
U( X ) = α3 +α2 X +α1 X 2 +α1 X 3 +α3 X 4 +α6 X 5 +α2 X 6 U(α) = α3 +α3 +α3 +α4 +α0 +α4 +α1 +α1 +α1 = 0 U(α2 ) = α3 +α4 +α5 +α0 +α4 +α2 +α0 +α2 +α2 = 0 U(α3 ) = α3 +α5 +α0 +α3 +α1 +α0 +α6 +α6 +α6 = 0 U(α4 ) = α3 +α6 +α2 +α6 +α5 +α5 +α5 +α5 +α5 = 0 Hence, U(X) is a valid codeword because the syndrome yields an allzeros result when evaluated at the roots of the generator polynomial. 7.26 (a) For this example, the error pattern can be described as 6
e( X ) = ∑ en X n n=0
= (000) + (000) X + (000) X 2 + (000) X 3 + (000) X 4 + (111) X 5 + (111) X 6
Using U(X) from Problem 8.5, the received polynomial can be written: r(X) = U(X) + e(X)
= α3 +α2 X +α1 X 2 +α1 X 3 +α3 X 4 +α6 X 5 +α2 X 6 +α5 X 5 +α5 X 6 = α3 +α2 X +α1 X 2 +α1 X 3 +α3 X 4 +α1 X 5 +α3 X 6
We find the syndrome values by evaluating r(X) at the roots of g(X):
r(α) = α3 +α3 +α3 +α4 +α0 +α6 +α2 = α6 r(α2 ) = α3 +α4 +α5 +α0 +α4 +α4 +α1 = α0 r(α3) = α3 +α5 +α0 +α3 +α1 +α2 +α0 = α0 r(α4 ) = α3 +α6 +α2 +α6 +α5 +α0 +α6 = α2
(b)
e( X ) = α5 X 5 +α5 X 6 e(α) = α3 +α4 = α6 e(α2 ) = α1 +α3 = α0 e(α3) = α6 +α2 = α0 e(α4 ) = α4 +α1 = α2 7-24
7.27 Using the autoregressive model of Equation (8.40) S1 S2
S2 σ2 S3 = S3 σ1 S4
6 α 0 α
α0 σ2 = α2 α0 σ1 0
Find the error location numbers β1 = 1/σ1 and β2 = 1/σ2:
α6 cofactor α0
α0 α0 = α0 α0
6 α α0 Inv 0 0 = α α
0 α 0 α
α0 α6 α0 α6
α2
σ α5 2 = σ1 α5
6 α det α0
α0 = α6 − α0 = α2 α0
0 α α0 α5 α5 = α5 0 6 = 5 4 α α α α
α5 α0 α4 = 1 4 2 α α α
From Equations (8.39) and (8.47), we represent σ(X) as
σ( X ) = α0 + σ1 X + σ 2 X 2 = α0 + α1 X + α4 X 2 We determine the roots of σ(X) by exhaustively testing σ(X) with each of the field elements. Any element that yields σ(X) = 0 is a root, and allows us to locate an error.
7-25
7.27 (cont’d.)
σ(α0 ) = α0 + α1+ α4 = α6 ≠ 0 σ(α1) = α0 + α2 + α6 = 0 ⇒ Error σ(α2 ) = α0 + α3+ α1 = 0 ⇒ Error σ(α3 ) = α0 + α4 + α3 = α2 ≠ 0 σ(α4 ) = α0 + α5 + α5 = α0 ≠ 0 σ(α5 ) = α0 + α0 + α0 = α0 ≠ 0 σ(α6 ) = α0 + α0 + α2 = α2 ≠ 0 σ(α1) = 0 indicates the location of an error at β1 = 1/σ1 = α6 σ(α2 ) = 0 indicates the location of an error at β2 = 1/σ2 = α5 (b)
Now, we determine the error values e1 and e2 associated with locations β1 = α6 and β2 = α5. Any of the four syndrome equations can be used. From Equation (8.38), we use S1 and S2.
S1 = r(α) = e1β1 + e2β2
S2 = r(α2 ) = e1β12 + e2β22 7-26
β Or, in matrix form: 12 β 1
β2 e1 S1 e = 2 β 2 S 2
2
α6 5 α
α5 e1 α6 = α3 e2 α5
To solve for the error values e1 and e2, the above matrix equation is inverted in the usual way, yielding α3 α5 α5 α6 α6 α5 α3 Inv 5 3 = 5 = α2 5 α α α α
α5 α5 α0 = 0 1 6 α α α
Now, we solve for the error values, as follows: 5 e 0 α6 α4 +α0 α5 +α3 α5 α α e = α0 α1 α0 = α6 +α1 = α3 +α2 = α5
1 2
Hence, we show the error polynomial as
e( X ) = (111) X 5 + (111) X 6 = α5 X 5 + α5 X 6 (c)
We correct the flawed codeword from Problem 8.6 by adding the error polynomial to the received polynomial, as follows: U(X) = r(X) + e(X)
r( X ) = α3 +α2 X +α1 X 2 +α1 X 3 +α3 X 4 +α6 X 5 +α2 X 6 +α5 X 5 +α5 X 6
e( X ) =
U( X ) = α3 +α2 X +α1 X 2 +α1 X 3 +α3 X 4 +α1 X 5 +α3 X 6 7-27
7.27
7.28
7-28
7.29
7-29
7.30
7-30
7-31
Chapter 8 Answers to Problems
The pages in Chapter 8 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
8.1 a) The likelihood ratios for the received signal are calculated as: p(xk|dk = +1) = (1/σ 2π ) exp (−0.5[(xk − 1)]/σ)2) p(xk|dk = −1) = (1/σ 2π ) exp (−0.5[(xk + 1)]/σ)2) Since xk = 0.11 and σ = 1.0, we compute p(xk|dk = +1) = (1/ 2π ) exp (−0.5[0.11 − 1]2) = 0.27 p(xk|dk = −1) = (1/ 2π ) exp (−0.5[0.11 + 1]2) = 0.22 b) For equiprobable signals, the MAP decision is the same as the maximum likelihood decision, which is that dk is equal to +1 since p(xk|dk = +1) > p(xk|dk = −1). c) Calculate p(xk|dk = +1) P(dk = +1) and p(xk|dk = −1) P(dk = −1) p(xk|dk = +1) P(dk = +1) = (0.27)(0.3) = 0.08, and p(xk|dk = −1) P(dk = −1) = (0.22)(1.0 − 0.3) = 0.15 Since p(xk|dk = −1) P(dk = −1) > p(xk|dk = +1) P(dk = +1) the MAP decision rule of Equation (8.64) is that dk is equal to –1. d) Using Equation (8.66), we calculate
L(d |x) = loge 0.08 = loge (0.533) = −0.63 0.15 8.2 The channel measurements yield the following for the LLR values Lc(xk) = 1.5, 0.1, 0.2, 0.3, 2.5, 6.0 The soft output L(di) for the received signal corresponding to data di is: L(di) = Lc(xi) + L(di) +{[ Lc(xj) + L (dj) ] ⊞ Lc(xij)} And we can write the following for the horizontal and vertical calculations: 8-1
Leh(d1) = [Lc(x2) + L(d2)] ⊞ Lc(x12) Lev(d1) = [Lc(x3) + L(d3)] ⊞ Lc(x13) Leh(d2) = [Lc(x1) + L(d1)] ⊞ Lc(x12) Lev(d2) = [Lc(x4) + L(d4)] ⊞ Lc(x24) Leh(d3) = [Lc(x4) + L(d4)] ⊞ Lc(x34) Lev(d3) = [Lc(x1) + L(d1)] ⊞ Lc(x13) Leh(d4) = [Lc(x3) + L(d3)] ⊞ Lc(x34) Lev(d4) = [Lc(x2) + L(d2)] ⊞ Lc(x24) Using the approximate relationship in Equation (8.73), we calculate the Leh values first with the fact that Lc(x34) = Lc(x24) = 0 since these parity bits are not transmitted. The L(d) are also initially set to zero. Calculating the Leh values yields Leh(d1) = (0.1 + 0) ⊞ 2.5 = −0.1 new L(d1) Leh(d2) = (1.5 + 0) ⊞ 2.5 = −1.5 new L(d2) Leh(d3) = (0.3 + 0) ⊞ 0 = 0 new L(d3) Leh(d4) = (0.2 + 0) ⊞ 0 = 0 new L(d4) Calculating the Lev values yields Lev(d1) = (0.2 + 0) ⊞ 6.0 = −0.2 new L(d1) Lev(d2) = (0.3 + 0) ⊞ 0 = 0 new L(d2) Lev(d3) = (1.5 – 0.1) ⊞ 6.0 = −1.4 new L(d3) Lev(d4) = (0.1 – 1.5) ⊞ 0 = 0 new L(d4) Calculating the second iteration of the Leh values yields Leh(d1) = (0.1 + 0) ⊞ 2.5 = −0.1 new L(d1) Leh(d2) = (1.5 – 0.2) ⊞ 2.5 = −1.3 new L(d2) Leh(d3) = (0.3 + 0) ⊞ 0 = 0 new L(d3) Leh(d4) = (0.2 – 1.4) ⊞ 0 = 0 new L(d4) 8-2
Calculating the second iteration of the Lev values yields Lev(d1) = (0.2 + 0) ⊞ 6.0 = −0.2 new L(d1) Lev(d2) = (0.3 + 0) ⊞ 0 = 0 new L(d2) Lev(d3) = (1.5 – 0.1) ⊞ 6.0 = −1.4 new L(d3) Lev(d4) = (0.1 – 1.3) ⊞ 0 = 0 new L(d4) We notice that in this case, due to the puncturing the values of Lev after the second iteration are equal to the values of Lev after the first iteration. Therefore further iterations will not give any further improvements in performance. The soft-output likelihood values are calculated as: L(d) = Lc(x) + Leh(d) + Lev(d) Thus we have
L(d1) = 1.5 – 0.1 – 0.2 = 1.2 L(d2) = 0.1 – 1.3 + 0 = −1.2 L(d3) = 0.2 + 0 – 1.4 = −1.2 L(d4) = 0.3 + 0 + 0 = 0.3
Using the MAP decision rule of Equation (8.111), the decoder decides +1 –1 –1 +1 for the transmitted sequence, which is correct. Without coding, two of the four data bits would have been in error. 8.3 a) The output parity sequence is given by 0, 1, 0, 0, 1, 0, 1, 1, 1, 1. In this example, the encoder was not forced back to the all-zeros state, so there are no tail bits. b) Tthe input sequence is interleaved according to the pattern given. For the given input sequence and interleaving pattern, the interleaved sequence is: 0, 0, 1, 1, 0, 0, 1, 1, 0, 1. We next encode this sequence which gives us the following output parity sequence: 0, 0, 1, 0, 0, 1, 0, 0, 1, 1. 8-3
c) Given the two parity sequences obtained in parts a) and b), and the puncturing pattern, we obtain the parity sequence for the overall codeword. It is: 0, 0, 0, 0, 1, 1, 1, 0, 1, 1. For the given transmitted data of: 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, we get: Total weight = Weight of data sequence + Weight of parity sequence = 5 + 5 = 10 d) Since the encoders are left unterminated, we need to change the conditions of initialization of the reverse state metrics. The reverse state metrics for the end of the block are all set to the same value, say 1 − instead of using the value 1 only for the all-zeros state and the value 0 for all other states. Also the a priori probability of the last branch metrics in the trellis are all set to 0.5 since there is no a priori information available. 8.4 a) Although the generator polynomial is the same for both component codes, the minimum distance is different since for the first component code, data and parity bits {uk , v1k} are transmitted while for the second component code, only the parity bits {v2k} are transmitted, and we do not transmit the interleaved data bits. The minimum distance is generated by considering an input sequence with weight-1 (000…0001000…000). Regardless of the choice of interleaver, an input sequence with weight 1 will always appear at the input of the second encoder. For the encoder shown in Figure P8.1, the component codes have a minimum distance of 3 and 2. Therefore the overall code will have a minimum distance equal to 3 + 2 = 5. b) For the encoder shown in Figure 8.26, the component codes have a recursive form. If we input an infinitely long weight-1 sequence into the component code, the encoded output will be 8-4
given by (000…0001110110110…110…). Thus for a weight-1 input sequence, the output codeword will have infinite weight. The minimum weight output codeword for the recursive code is in fact obtained when the input is given by the weight-3 input sequence (000…000111000…000). For the weight-3 input, the output is given by the following (000…000101000…000) which has a weight of 2. However, when the weight-3 input is interleaved, it is highly likely that the sequence of 3 consecutive 1’s will be broken up. Thus, the second encoder is unlikely to produce another output codeword with minimum weight. All we can say about the minimum distance of the output codeword is that it will have a value greater than the minimum weight of {u, v1, v2} = 3 + 2 + 2 = 7. c) For the case where the weight-2 sequence (00…00100100…00) is input to the encoder shown in Figure 8.26, the output of the encoder is given by (00…00111100…00). This output sequence is said to be self terminating since it does not rely on tail bits in order to force the encoder back to the all-zeros state. If the interleaver fails to break up the (00…00100100…00) sequence, then the output codeword from the second component encoder will also be of the form (00…00111100…00). The resulting output weight is given by 2 + 2(4) = 10. d) For the case where the weight-2 sequence (00…0010100…00) is input to the encoder shown in Figure 8.26, the output of the encoder is given by (00…001101011011011011011…). This output sequence is not self-terminating as 1’s will be produced in the parity output until the encoder is forced back to the all-zeros state at the end of the block. Thus the output of the two encoders potentially have a very large weight if the interleaver fails to break up the (00…0010100…00) sequence. Parts c) and d) illustrate an important aspect of turbo codes in that the inteleaver may be used 8-5
to map input sequences which produce low-weight outputs to other input sequences which produce high weight outputs. Thus, when the outputs from data and parity streams are combined, output codewords having a relative high weight may potentially be produced.
8.5 The branch metrics are calculated using equation (8.140). We assume that Ak = 1 for all k, and also that the a priori value for πik is 0.5 for all k. The states 00, 10, 01, and 11 are represented by the letters a, b, c, and d, respectively. a) Using the trellis structure shown in Figure 8.25b, we calculate all the branch metrics at time k = 1, that are needed for using the MAP algorithm. δ10,a = (1)(0.5)exp{(1/1.3)[(1.9)(−1) + (0.7)( −1)]} = 0.07 δ11,a = (1)(0.5)exp{(1/1.3)[(1.9)(1) + (0.7)(1)]} = 3.69 The encoder starts in state a at time k = 1. Therefore, we assume the values of alpha are all equal to 0 except for state a for which alpha is set equal to 1. We only need the above δ1i,m values here. The other six will not be needed, since α1b = α1c = α1d = 0. We repeat the branch metric calculations for time k = 2. δ20,a = (1)(0.5) exp{(1/1.3)[(−0.4)(−1) + (0.8)(−1)]} = 0.37 δ21,a = (1)(0.5) exp{(1/1.3)[(−0.4)(1) + (0.8)(1)]} = 0.68 δ20,b = (1)(0.5) exp{(1/1.3)[(−0.4)( −1) + (0.8)(1)]} = 1.26 δ21,b = (1)(0.5) exp{(1/1.3)[(−0.4)(1) + (0.8)(−1)]} = 0.20 b) We only need the above δ2i,m values here. The other four will not be needed, since α2c = α2d = 0. 8-6
We have the following initial conditions: α1a = 1 for k = 1; α1b = α1c = α1d = 0 for k = 1 From the trellis diagram and Equation (8.131), we obtain the following values for alpha at k = 2: α2a = α1a δ10,a + α1c δ11,c = (1)(0.07) = 0.07 α2b = α1c δ10,c + α1a δ11,a = (1)(3.69) = 3.69 α2c = α1d δ10,d + α1b δ11,b = 0 α2d = α1b δ10,b + α1d δ11,d = 0 and similarly for k = 3: α3a = α2a δ20,a + α2c δ21c = (0.07)(0.37) = 0.03 α3b = α2c δ20,c + α2a δ21,a= (0.07)(0.68) = 0.05 α3c = α2d δ20,d + α2b δ21,b = (3.69)(0.20) = 0.74 α3d = α2b δ20,b + α2d δ21,d = (3.69)(1.26) = 4.65 Note that the α3m values represent the final states at time k = 3, and therefore are not used in the computation of the log-likelihood ratio for data bits d1 and d2, given below. c)
αm δ1,m βkf +(1,1 m) m k k L( d ) = log m 0,m f (0,m ) αk δk βk +1 m
For k = 1:
L( dˆ1 ) = loge
∧
∑ ∑
(1)(3.69)(2.4) = 3.31 (1)(0.07)(4.6)
For k = 2: (0.07)(0.68)(11.5) + (3.69)(0.20)(3.4) = −0.33 (0.07)(0.37)(2.1) + (3.69)(1.26)(0.9)
L( dˆ2 ) = loge
We use the MAP decision rule. Since L( dˆ1 ) > 0 and L( dˆ2 ) < 0, then the MAP estimate for the transmitted binary data sequence is {1, 0}. 8-7
8.6 At time k = 1, the branch metric is the same as was calculated for Problem 8.15, since both the data bit and the parity bit are transmitted, as in the case of a rate ½ code. In the next interval however, the parity bit is punctured and therefore we only obtain a data bit. This needs to be taken into account when a branch metric is calculated; we ignore the parity-bit component since it does not contribute at all to a branch metric’s value in this interval. At k = 1, δ10,a = 0.07 and δ11,a = 3.69. Only these two δ1i,m values are needed here. The other six are not needed, since α1b = α1c = α1d = 0. For time k = 2, we only consider the contribution due to the data bit, and we compute: δ20,a = (1)(0.5) exp[(1/1.3) (−0.4)( −1)] = 0.68 δ21,a = (1)(0.5) exp[(1/1.3) (−0.4)(1)] = 0.37 δ20,b = (1)(0.5) exp[(1/1.3) (−0.4)(−1)] = 0.68 δ21,b = (1)(0.5) exp[(1/1.3) (−0.4)(1)] = 0.37 We only need these four δ2i,m values here. The other four will not be needed, since α1c = α1d = 0. Based on the above we can calculate our forward state metrics in the usual manner. At time k = 2, the forward state metrics will have the same values that they had in the previous problem, but for time k = 3, the forward state metrics need to be recalculated based on the new values for the branch metrics. At time k = 2, α2a = 0.07 and α2b =3.69, while α2c = α2d = 0 and at time k = 3: α3a = α2a δ20,a + α2c δ21,c = (0.07)(0.68) = 0.05 α3b = α2c δ20,c + α2a δ11,a = (0.07)(0.37) = 0.03 α3c = α2d δ20,d + α2b δ21,b = (3.69)(0.37) = 1.37 α3d = α2b δ20,b + α2d δ21,d = (3.69)(0.68) = 2.5 8-8
8.7 The branch metrics are calculated using Equation (8.140). Assume that Ak = 1 for all k, and that the a priori value for πik is 0.5 for all k. Using the trellis given in Figure 8.25b, we calculate each of the eight branch metrics at time k = 1023 and we repeat this process for those branch metrics that are needed at time k = 1024. For time k = 1023: δ10230,a = (1)(0.5) exp{(1/2.5)[(1.3)(−1) + (−0.8)(−1)]} = 0.41 δ10231,a = (1)(0.5) exp{(1/2.5)[(1.3)(1) + (−0.8)(1)]} = 0.61 δ10230,b = (1)(0.5) exp{(1/2.5)[(1.3)(−1) + (−0.8)( 1)]} = 0.22 δ10231,b = (1)(0.5) exp{(1/2.5)[(1.3)(1) + (−0.8)(−1)]} = 1.16 δ10230,c = (1)(0.5) exp{(1/2.5)[(1.3)(−1) + (−0.8)(−1)]} = 0.41 δ10231,c = (1)(0.5) exp{(1/2.5)[(1.3)(1) + (−0.8)( 1)]}= 0.61 δ10230,d = (1)(0.5) exp{(1/2.5)[(1.3)(−1) + (−0.8)(1)]} = 0.22 δ10231,d = (1)(0.5) exp{(1/2.5)[(1.3)(1) + (−0.8)(−1)]} = 1.16 For time k = 1024, we only need the following two branch metrics: δ10240,a = (1)(0.5) exp{(1/2.5)[( −1.4)(−1) + (−0.9)(−1)]} = 1.26 δ10241,c = (1)(0.5) exp{(1/2.5)[( −1.4)(1) + (−0.9)(1)]} = 0.2 The encoder ends in state a, so at the terminating time k = 1025, we assume the values of the reverse state metrics, β, are all equal to 0 except for state a where β is set equal to 1. The values of β are calculated using equation (8.136). So we have the following initial conditions: β1025a = 1 β1025b = β1025c = β1025d = 0 8-9
8.7 (cont’d) From the trellis diagram and Equation (8.136), we obtain the following relationships. For k = 1024: β 1024a = β1025a δ10240,a = (1)(1.26) = 1.26 β 1024c = β1025a δ10241,c = (1)(0.2) = 0.2 For this example, we do not need to calculate the reverse state metrics for k = 1023: The values of the likelihood ratio are given by the following equation: αm δ1,m βkf +(1,1 m) m k k L( d ) = log m 0,m f (0,m ) αk δk βk +1 m ∧
∑ ∑
For k = 1023:
L(dˆ1023 ) = log (7.0)(1.16)(0.2) + (4.2)(0.61)(1.26) = 0.31 (6.6)(0.41)(1.26) + (4.0)(0.22)(0.2) For k = 1024:
L(dˆ1024 ) = log (13.4)(0.2)(1) = −1.74 (12.1)(1.26)(1) Since L(dˆ1023 ) > 0, then we choose data bit 1023 equal to binary 1. Since L(dˆ1024 ) < 0, then we choose data bit 1024 equal to binary 0. The trellis diagram below (with its metric annotations) can facilitate following the above computations.
8-10
8.7
8-11
8.8
(
) )
P d =1 x L(d x ) = log P d = −1 x
(
For separate observations, x1 and x2
) )
(
P d =1 x , x 1 2 L(d x1 , x2 ) = log P d = −1 x1 , x2
(
From Equation (8.7), we can write the log-likeliho od ratio (LLR)
) + log P ( d = 1) ) P ( d = −1)
(
P x d =1 L(d x ) = log P x d = −1
(
= L( x d ) + L( d ) Using Bayes’ Rule, we observe that
P(d = j x1 , x2 ) = =
P ( d = j, x1 , x2 ) P ( x2 x1 , d = j ) P ( x1 , d = j ) = P ( x1 , x2 ) P ( x1 , x2 ) P ( x2 x1 , d = j ) P ( x1 d = j ) P ( d = j ) P ( x1 , x2 )
If x1 and x2 are statistically independent, then we can write
P(d = j x1 , x2 ) =
P ( x2 d = j ) P ( x1 d = j ) P ( d = j ) P ( x1 , x2 )
Now we can write the LLR as
8-12
(
) ( ) (
) ( ) ) ( )
1 1 1 P x d = P x d = P d = 1 2 L(d x1 , x2 ) = log P x d = − 1 P x d = − 1 P d = − 1 1 2 P x d =1 P x d =1 P d =1 1 2 = log + log + log P d = −1 P x1 d = −1 P x2 d = −1
(
)
(
(
)
(
(
)
)
(
(
) )
= L( x1 d ) + L( x2 d ) + L( d ) 8.9 (a) From Equation (8.69)
αkm =
1
P d k −1 = j, Sk −1 = m′, R1k −2 ,Rk −1 Sk = m ∑ ∑ m′ j = 0 A
B
C
D
E
P ( A,B,C,D,E ) P (E ) P (C A,B,D,E ) P ( A,B,D,E ) = P (E) P (C A,B,D,E ) P ( A,B,D E ) P ( E ) = P (E)
P ( A,B,C,D E ) =
αmk =
1
P R1k −2 Sk = m, d k −1 = j, Sk −1 = m′, Rk −1 ∑ ∑ m′ j = 0
(
× P d k −1 = j, Sk −1 = m′, Rk −1 Sk = m
)
ν
(b) Summing over all states m’ from 0 to 2 − 1 lets us designate Sk-1 = b(j, m) as the state going backward in time from state m via the branch corresponding to an input j, yielding Equation (70b). αmk = ∑ P R1k −2 Sk −1 = b( j, m) P ( d k −1 = j, Sk −1 = b( j, m), Rk −1 ) 1
j =0
8-13
Note that Sk-1 = b(j, m) completely defines the path resulting in Sk = m the current state, given an input j and state m’ at the previous time. 8.9 (c) From Equation (8.73)
P ( d k = j, Sk +1 = m′, Rk , RkN+1 Sk = m ) ∑ ∑ m′ j = 0 1
βmk =
A
B
C
D
E
P ( A,B,C,D,E ) P (E) P ( D A,B,C,E ) P ( A,B,C,E ) = P (E) P ( D A,B,C,E ) P ( A,B,C E ) P ( E ) = P (E)
P ( A,B,C,D E ) =
βkm =
1
P RkN+ 1 Sk = m, d k = j,Sk + 1 = m′, Rk ∑ ∑ m′ j = 0
(
× P d k = j, Sk + 1 = m′, Rk Sk = m
)
Sk = m and dk = j completely define the path resulting in Sk+1 = f (j, m) the next state, given an input j and state m, yielding Equation (8.75):
β
m k =
P ( RkN+1 Sk +1 = f ( j, m) ) P ( d k = j, Sk = m, Rk ) ∑ j =0 1
8-14
8.10 Starting with Equation (8.79) 2 i x − ui π 1 k δi,m exp − k k dxk k = υ 2 σ 2 2π σ
i,m 2 1 yk − vk 1 dyk exp − 2 σ 2π σ
Considering each exponential term separately, we have 1 exp − 2 2σ
2 2 2 i xk + ( uki ) 2 i exp 2 xk uk xk − 2 xk uk + ui = exp − 2 2 k 2σ 2σ
Similarly for the second exponential, we obtain 2 i,m 2 2 yk vki , m y k + ( vk ) exp − exp 2 2σ 2 2σ
Then i dxk dyk δi,m = π k k 2υ 2 π σ 2
2 2 i 2 i,m 2 xk uki + yk vki , m x k + ( uk ) y k + ( vk ) − exp − exp exp 2 σ2 2σ 2 2σ
Observe that since uki = ±1 and vki ,m = ±1 , then δi,m k =
xk uki + yk vki , m dxk dyk xk2 + 1 yk2 + 1 i − − π exp exp exp 2 2 k 2υ 2 π σ 2 σ2 2σ 2σ
where the first three terms are identified as Ak in Equation (8.80). The Ak term disappears in Equation (8.81a) because in for ming l ( d k ) it appears in both the numerator and denominator, and hence cancels out. 8-15
8.11 Signal processing steps at a receiver must appear in reverse order compared to the way that they were applied at the transmitter. Note, that at the encoder, we first interleave the data bits and then encode them to form parity bits. Thus at the decoder, we must reverse the order by first decoding the parity bits, followed by deinterleaving. If we were to deinterleave first by using a deinterleaver in the lower line (prior to decoding), we would be reversing the necessary order, and the decoder would be faced with parity bits that had been permuted compared to how they were created. Thus the decoding operation would not be successful.
8.12 In the Viterbi algorithm, the add-compare-select processor represents a technique that can efficiently yield the maximum likelihood path through a decoding trellis for a given sequence. The maximum a posteriori (MAP) algorithm, unlike the Viterbi algorithm, finds the likelihood ratio for each symbol time interval, and hence can make a MAP decision regarding the symbol during that interval. The MAP algorithm needs to use all of the statistical information associated with the branches of that interval in order to form a likelihood ratio. None of the information can be cast away.
8-16
8.13
dk
0
1
ak 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0
ak-1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1
ak-2 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1
ak-3 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1
where v is the modulo-2 sum of ak, ak-2, and ak-3.
8-17
uv 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0
8.13 (cont’d.)
101
8-18
8.14
8-19
8.14
8.20
8-15 The likelihood ratio is given by the equation: αmδ1, mβ f (1, m) m k k k +1 L( d ) = log m 0, m f (0, m ) αk δk βk +1 m ∧
∑ ∑
αa δ1,a β f (1,m) + αb δ1,b β f (1,m) + αc δ1,c β f (1,m) + αd δ1,d β f (1,m ) +1 k k k +1 k k k +1 k k k +1 ˆ L( d k ) = loge a k 0,ka fk(0, m) b 0,b f (0,m) c 0,c f (0,m) d 0,d f (0,m ) α δ β + α δ β + α δ β + α δ β k +1 k k k +1 k k k +1 k k k +1 k k ∧
We calculate the above values of L(d ) for all k = 6 time intervals. For the four-state code characterized by the trellis of Figure 8.6b, this relationship can be written as: L( dˆk ) = log
αak δ1,k a βbk +1 + αbk δ1,k b βck +1 + αck δ1,k c βka+1 + αkd δ1,k d βkd+1 αak δ0,k a βak +1 + αbk δ0,k b βkd+1 + αck δ0,k c βbk +1 + αkd δ0,k d βck +1
Now, we substitute the given matrix elements into the above equation corresponding to the correct indices. The following values are obtained for the likelihood ratios: L( dˆ1 ) = loge(3.60) = 1.28 L( dˆ ) = loge (0.438) = −0.83 2
L( dˆ3 ) = loge (0.679) = −0.39 L( dˆ ) = loge (0.476) = −0.85 4
L( dˆ5 ) = loge (0.304) = −1.19 L( dˆ ) = loge (1.751) = −0.29 6
We can therefore estimate from the log-likelihood calculations and the decision rule of Equation (8.51), to decide that the bit was a 1, if L( dˆk ) > 0. Otherwise, decide that the bit was a 0. Thus, the MAP decision for the 6 bit sequence is: 1 0 0 0 0 0. 8-21
Equation (8.88) Solution to Problems 8.16, 8.17, 8.18, and 8.19 Given 2 = 1, Y(n) = ( 2.0, 3.0, 0.3, 2.0, 3.0, 1.0), message m = 011, and Codeword U(n) = 1 1 0 0 1 1. Use Matlab Product6a_3.m Parity check equations for the (6, 3) LDPC code
Initialization, Step 0: Initial bit-node probabilities from Eq. (8.99), using the given Y(n) and 2 values. ql = 0.9820 0 0 0 0.9975 0 8.16 0 0 0.6457
0.0180 0 0.1192 0.0180 0.9975 0 0 0.9975 0.1192
V = 1 1 1 0 1 0 At initialization (before message passing), bits 3 & 5 are in error. Start of Iteration 1 Step 1: Check-node Response to bit-node probabilities r1 = 0.1329 0 0 0.8671 0 0.9647 0 0.9796 0 0.0049 0.9796 0 8.17 0 0 0.8789 0 0.6109 0.3551 Step 2: Refined bit-node probabilities q1 = 0.9820 0 0 0.0001 0 0.0693 0 0.9975 0 0.1067 0.9984 0 8.18 0 0 0.6457 0 0.9999 0.7870 Step 3: Bit probabilities for Candidate Codeword formation Q1 = 0.8933 0.9999 0.9297 0.0006 1.0000 0.6705 Step 4: Candidate Codeword estimation V = 1 1 1 0 1 1 After 1st iteration, bit 3 remains in error. T
Step 5: Finalization. If syndrome VH = 0, stop. Otherwise, start new iteration. Start of Iteration 2 (steps 1-5 are repeated). Step 1: Check-node Response to bit-node probabilities r1 = 0.0694 0 0 0.9152 0 0.9819 0 0.8920 0 0.0040 0.8913 0 8.19 0 0 0.2130 0 0.4164 0.3544 Step 2: Refined bit-node probabilities q1 = 0.9820 0 0 0.0001 0 0.0691 0 0.9975 0 0.1650 0.9965 0 0 0 0.6457 0 0.9997 0.8803 Step 3: Q1 = 0.8029 0.9997 0.3303 0.0008 0.9996 0.8014 Step 4: V = 1 1 0 0 1 1 Step 5: Decoding Success V = U(n), after 2nd iteration.
8-22
function product6a_3(index) % product6a_3(index)...index = 1 program runs until it converges to a codeword solution % index > 1 program runs for a number of iterations equal to the index % This program simulates the message-passing decoding of a (6,3) code. Computations are % performed in the probability domain. % The program was developed by Prof. William Ryan, University of Arizona, Tuscon, AZ % to support LDPC class notes, June 2002. It was modified in December 2004 by Bernard Sklar % of Communications Engineering Services, Tarzana, California, email: bsklar@ieee.org % Step 0: INITIALIZE wc=2; % H column weight wr=3; % H row weight sig2=1; % assumed noise variance y=[2,3,0.3,-2,3,-1]; % received word (noisy pulse samples) % Bipolar pulses were transmitted, such that pulses (+1, -1) represent logic levels (1, 0) % respectively. Assume that the transmitted codeword was 1 1 0 0 1 1 which represents the data m = 0 1 1. P=1./(1+exp(2*-y/sig2)); % vector of Pr[ci=1 | yi], stemming from channel measurements R(1,:)=[1,4,6]; % column locations with 1's in each row of the parity check matrix H R(2,:)=[2,4,5]; R(3,:)=[3,5,6]; C(1,:)=[1,4]; C(2,:)=[2,4]; C(3,:)=[3,4]; C(4,:)=[1,2]; C(5,:)=[2,3]; C(6,:)=[1,3];
% row locations with 1's in each column of H %(an entry of 4 is out of bounds; accounts for % irregularity of H)
if index==1 for i=1:6, q0(i,C(i,:))=1-P(i); q1(i,C(i,:))=P(i); end Initial_ql=q1(:,1:3)' % The dimensions of the Initial_q1 matrix is 3 rows (representing checks) by 6 columns (representing bits). % START ITERATING iteration=0; flag=1; while(flag) % Step 1: COMPUTE r0 and r1 for j=1:3, for i=1:6, tmp=1; for kntr=1:wr, if(R(j,kntr) ~= i) tmp=tmp*(1-2*q1(R(j,kntr),j)); end % The ~= i condition insures that probabilities r0 and r1 going from % check nodes to bit nodes, will not contain probability information
8-23
% stemming from bit i. end r0(j,i)=.5+.5*tmp; r1(j,i)=1-r0(j,i); end end r1(1,2)=0;r1(1,3)=0;r1(1,5)=0;r1(2,1)=0;r1(2,3)=0;r1(2,6)=0;r1(3,1)=0;r1(3,2)=0;r1(3,4)=0; r1 % The r1 matrix contains a zero value in each locations where a bit does not participate in a check. % The dimensions of the r1 matrix is 3 rows (representing checks) by 6 columns (representing bits). % Step 2: COMPUTE q0 and q1 for i=1:6, for j=1:3, tmp0=1; tmp1=1; for kntr=1:wc, if(C(i,kntr)~=j & C(i,kntr)~=4) tmp0=tmp0*r0(C(i,kntr),i); end if(C(i,kntr)~=j & C(i,kntr)~=4) tmp1=tmp1*r1(C(i,kntr),i); end % The ~= j conditions insure that probabilities q0 and q1 going from % bit nodes to check nodes, will not contain probability information % stemming from check j. end tmp0=(1-P(i))*tmp0; tmp1=P(i)*tmp1; % P(i) is the original channel measurement Pr(ci=1 | yi). q0(i,j)=tmp0/(tmp0+tmp1); q1(i,j)=tmp1/(tmp0+tmp1); % The above two commands provide normalization, so that q0 + q1 = 1. end end Rq1=q1'; Rq1=Rq1(1:3,:); Rq1(1,2)=0;Rq1(1,3)=0;Rq1(1,5)=0;Rq1(2,1)=0;Rq1(2,3)=0;Rq1(2,6)=0;Rq1(3,1)=0;Rq1(3,2)=0;Rq1(3,4)=0; Refined_q1=Rq1 % The Refined_q1 matrix contains a zero value in each locations where a bit does not participate in a check. % Step 3: COMPUTE Qi AND MAKE BIT-DECISIONS for i=1:6, Q0(i)=q0(i,C(i,1))*r0(C(i,1),i); Q1(i)=q1(i,C(i,1))*r1(C(i,1),i); Q1(i)=Q1(i)/(Q0(i)+Q1(i)); end iteration=iteration+1 Q1 c=(Q1>.5) % Decision rule: Decide 1 if Q1 > 0.5, otherwise 0. pause % DO THE 3 PARITY CHECKS flag=0; for j=1:3, if(mod(sum(c(R(j,:))),2)~=0) flag=1; end
8-24
end % TO PREVENT ITERATIONS BEYOND 32 if(iteration == 32) flag=0; fprintf (' \n') fprintf (' SOLUTION NOT FOUND AFTER 32 ITERATIONS.') end end % while(flag) else iteration=0; for i=1:6, q0(i,C(i,:))=1-P(i); q1(i,C(i,:))=P(i); end Initial_ql=q1(:,1:3)' % The dimensions of the Initial_q1 matrix is 3 rows (representing checks) by 6 columns (representing bits). for n=1:index % START ITERATING % Step 1: COMPUTE r0 and r1 for j=1:3, for i=1:6, tmp=1; for kntr=1:wr, if(R(j,kntr) ~= i) tmp=tmp*(1-2*q1(R(j,kntr),j)); end % The ~= i condition insures that probabilities r0 and r1 going from % check nodes to bit nodes, will not contain probability information % stemming from bit i. end r0(j,i)=.5+.5*tmp; r1(j,i)=1-r0(j,i); end end r1(1,2)=0;r1(1,3)=0;r1(1,5)=0;r1(2,1)=0;r1(2,3)=0;r1(2,6)=0;r1(3,1)=0;r1(3,2)=0;r1(3,4)=0; r1 % The r1 matrix contains a zero value in each locations where a bit does not participate in a check. % The dimensions of the r1 matrix is 3 rows (representing checks) by 6 columns (representing bits). % Step 2: COMPUTE q0 and q1 for i=1:6, for j=1:3, tmp0=1; tmp1=1; for kntr=1:wc, if(C(i,kntr)~=j & C(i,kntr)~=4) tmp0=tmp0*r0(C(i,kntr),i); end if(C(i,kntr)~=j & C(i,kntr)~=4) tmp1=tmp1*r1(C(i,kntr),i); end % The ~= j conditions insure that probabilities q0 and q1 going from % bit nodes to check nodes, will not contain probability information % stemming from check j. end tmp0=(1-P(i))*tmp0;
8-25
tmp1=P(i)*tmp1; % P(i) is the original channel measurement Pr(ci=1 | yi). q0(i,j)=tmp0/(tmp0+tmp1); q1(i,j)=tmp1/(tmp0+tmp1); % The above two commands provide normalization, so that q0 + q1 = 1. end end Rq1=q1'; Rq1=Rq1(1:3,:); Rq1(1,2)=0;Rq1(1,3)=0;Rq1(1,5)=0;Rq1(2,1)=0;Rq1(2,3)=0;Rq1(2,6)=0;Rq1(3,1)=0;Rq1(3,2)=0;Rq1(3,4)=0; Refined_q1=Rq1 % The Refined_q1 matrix contains a zero value in each locations where a bit does not participate in a check. % Step 3: COMPUTE Qi AND MAKE BIT-DECISIONS for i=1:6, Q0(i)=q0(i,C(i,1))*r0(C(i,1),i); Q1(i)=q1(i,C(i,1))*r1(C(i,1),i); Q1(i)=Q1(i)/(Q0(i)+Q1(i)); end iteration=iteration+1 Q1 c=(Q1>.5) % Decision rule: Decide 1 if Q1 > 0.5, otherwise 0. pause end end
8-26
Chapter 9 Answers to Problems
The pages in Chapter 9 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
9.13 (a) First, consider using the (n, k) = (24, 12) code. From Equation (9.23), we calculate the received Eb/N0 Eb P (dB) = r (dB-Hz) − R(dB-bits/s) N0 N0 = 70 dB-Hz − 60 dB-bits/s = 10 dB = 10
For the case of 8-PSK modulation and the (24, 12) code we calculate Ec/N0 and Es/N0 as Ec k Eb 12 = = 10 = 5 N0 n N0 24 Es E = (log2 M ) c = 3 × 5 = 15 N0 N0
Next, we use the approximation in Equation (9.25) yielding
π 2 Es sin for M > 2 N0 m
PE ( M ) ≈ 2Q
π PE (8) ≈ 2Q 30 sin = 2Q (2.096) 8
Using Table B.1 for Q(⋅), we get PE = 0.0362. Assuming Gray coding, Equation (9.27) yields the channel bit-error rate, pc out of the demodulator pc ≈
PE 0.0362 = = 1.2 ×10−2 log2 M 3
We enter this value of pc on the abscissa of Figure 6.21, and for the (24, 12) code transfer function, we can get the decoded bit-error probability, PB =ɶ 5 ×10−5 , which is not small enough to meet the required performance. We next consider the other candidate codes. 9-14
For the (127, 64) BCH code, we note that the rate of the code is k / n = 64/127 ≈ 1/ 2 . Hence, repeating the above computation yields approximately the same channel bit-error probability ( pc ≈ 1.18 ×10−2 ) as before. However, in this case of entering pc on the abscissa of Figure 6.21, we are using the transfer function of the (127, 64) code, which yields a decoded bit-error probability that meets the required PB ≤ 10−7 . We now consider the final candidate, the (127, 36) BCH code, and repeat the same computations shown above. (Remember to use the given transfer-function intercepts to guide you in making graphical estimates.) The computations now yield pc = 3.8 ×10−2 . When entering this point on the abscissa of Figure 6.21, and examining the transfer function of the (127, 36) BCH code, we find that PB > 10−7 . Hence, of the three candidate codes, only one, the (127, 64) BCH code meets the requirements. (b) From Figure 6.21 it should be clear that the (127, 36) BCH code is the most capable of the group. Even its label states that t = 15, meaning that within a block of 127 bits, this code can connect any combination of 15 or fewer errors. A natural initial guess might be to choose the (127, 36) BCH code—but that would have been incorrect. The reason that the more capable (127, 36) code does not meet our requirements is related to the fact that in a real-time communications system, there are two mechanisms at work: 1) more redundancy makes for more powerful codes and, 2) more redundancy results in less energy per channel bit. As the rate of a code decreases (from 1 to 0), there will be an improvement in PB due to mechanism 1. But eventually, mechanism 2 results in more errors out of the demodulator and outweighs the benefits of mechanism 1. (See Section 9.7.7.2.) (c) Using Equations (9.25) and (9.27) we compute the uncoded received Eb/N0 corresponding to pc = 10−7 , as follows: 9-15
2Es sin π N0 m
2Q pc = 10−7 ≈
PE ≈ log2 M
( )
1.5 ×10−7 = Q 2 ( 0.3827 )
where Q( x ) ≈
(
1 exp − x2 / 2 x 2π
log2 M Es = Q( x ) N0
)
By trial and error: x = 5.13. Thus, Es = 89.85 and N0
Eb Es 1 = N0 N0 3
E b ≈ 30 (or 14.8 dB) . Therefore, the coding gain from N0 u
and thus,
Equation (9.32) is: G(dB) = 14.8 − 10 = 4.8 dB. 9.14 Space loss is Ls = 4πd λ
2
= 3.94 ×1015 (or 156 dB). System temperature
is Ts = TA + ( LF − 1) 290 = 290 + (20 − 1)290 = 5800K (or 37.6 dB- K) .
Since ( Eb / N0 )r = M × ( Eb / N0 )reqd , and margin is 0 dB (or 1), we solve
for ( Eb / N0 )r with the parameters given and the basic link margin equation M =
EIRP G / T which yields the value of ( Eb / N0 )r ( Eb / N0 )reqd R k Ls Lo
= 5.2 dB (or 3.31). Since the channel is bandlimited, we choose MPSK modulation. To meet the bandwidth requirement of 3000 Hz, and at the same time conserve power, we choose the smallest M-ary value for MPSK, which is 16-PSK. This modulation (with perfect filtering) will require a symbol rate (and transmission bandwidth of R/log2 M = 9600/4 = 2400 Hz. We also need to select a BCH code 9-16
such that the 2400 Hz modulation bandwidth is not expanded beyond 3000 Hz. Hence, this places a restriction on the code redundancy n/k, and for a (127, k) code, the smallest value allowable for k is dictated by the fact that 127/k must not exceed 3000/2400. Therefore, k must be larger than 102, and our choice from Table 9.2 to provide the most redundancy (and still meet our bandwidth constraint) is the (127, 106) triple error correcting code. The chosen 16-PSK modulation dictates that the available ( Eb / N0 )r
(
)
will yield an Es / N0 = log 2 M ( k / n ) ( Eb / N0 ) = 4 × (106/127 ) × 3.31 = 11.05 .
We use this value for finding symbol-error probability, PE, in the following relationship:
π 2 Es sin N 0 Μ
PE ( M ) ≈ 2Q
where Q( ) is the complementary error function. With the computed value of Es / N0 =11.05 , we find that PE = 0.359. Since Gray coding is called for, the probability of channel bit error is pc =
PE = 0.09 . log2 M
Now, we can calculate the decoded bit-error probability, PB, using the approximation of Equation (6.46). Note, that if pc is small (or Eb / N0 reasonably large) then the first two terms in the summation of Equation (6.46) are usually adequate because of rapid convergence. However, in this problem, convergence occurs after about 25 terms, yielding a decoded PB = 0.09 (There is no coding gain!) If only the first two terms in the summation of Equation (6.46) had been used, the result would give the erroneous appearance of acceptable error performance.
9-17
9.15 Since the channel is bandwidth limited, using Table 9.1, we select MPSK with the smallest M possible (for the sake of power conservation). That is, we select 16-PSK, which requires a theoretical Nyquist minimum bandwidth of 2400 Hz and an Eb / N0 = 17.5 dB at PB = 10−5 . We compute the received Eb / N0 using Equation (9.23) E P b (dB) = r (dB-Hz) − R (dB-bits/s) N0 N0 r
= 54.8 − 10 log10 9600 = 54.8 − 39.8 = 15 dB = 31.62
Thus, for PB ≤ 10−5 , it is necessary to use error-correction coding with a coding gain of 17.5 dB − 15 dB = 2.5 dB. Since we may only expand the bandwidth by a factor of 2700/2400 (12.5% increase), our only code choice is the (127, 113) BCH code shown in Table 9.3. We verify the decoded bit-error probability performance as: k E 113 Es = ( log2 M ) b = (4) (31.62) = 112.54 N0 127 n N0
π 2 Es sin N0 M
PE ( M ) ≈ 2Q For M = 16
PE ≈ 2Q 225.08 (0.1951) = 2Q (2.927) = 2 × 0.00173 = 0.00346
The channel bit-error probability out of the demodulator is pc ≈
PE = 0.000865 (assuming Gray coding). Then the decoded 4
bit-error probability is found using Equation (9.41) 127 1 127 PB = j (0.000865) j (1 − 0.000865)127− j ≈ 4.7 ×10−6 127 j =t +1=3 j
∑
which meets the system requirements. 9-18
9.20 For this problem, the circuit, trellis, and Ungerboeck partitioning diagrams are seen in Figures 9.29, 9.30, and 9.32, respectively. The error-event path with the minimum distance is seen in Figure 9.24 as the darkened path labeled with waveform numbers 2, 1, 2. The minimum distance-squared d 2f = 36 as is shown in Equation (9.61). Note that in this example, the parallel paths do not characterize the error-event with the minimum distance. Using Equation (9.63), the average power for the signal waveforms is Sav = 21 . In this example, 2 the reference waveform set was chosen such that d ref = 4 , and the 1 + 16 ' = = 128.5 . average power for this reference set is Sav 2
2
2
Coding gain is computed using Equation (9.62) as follows: d2 /S 36/ 21 av G (dB) = 10 log10 2f = 10 log 10 4 /128.5 = 17.4 dB ' d / Sav ref
Of course this answer seems to violate the Shannon prediction of coding gain. Would anyone use such a paradoxical reference set as the one given here? Absolutely not. However, sometimes the choice of a reference set involves judgement. Generally, any reasonable choice for a reference set yields similar coding gains. But, this problem purposely starts with a very unreasonable reference choice to emphasize that the resulting 17.4 dB coding gain reflects two different mechanisms: 1) the improvement due to coding, and 2) the improvement due to the better signal-waveform set (compared to the sub-optimum reference set). Because trellis-coded modulation involves coding in conjunction with modulation, the “so called” coding gain can be made to appear arbitrarily large by simply starting with a reference set that is sufficiently poor. 9-25
9.21 We draw the trellis diagram, and we assign waveforms to trellis branches according to the Ungerboeck assignment rules. We then label each state according to the waveforms assigned to the branches that emanate (top to bottom) from that state. For example, the first state and its branches are labeled as follows:
After drawing and labeling three sections of the eight-state machine, a methodical search for the error-event path with the minimum distance yields the darkened path shown below. We find d 2f using Figure 9.22 as d f 2 = d12 + d02 + d12 = 2 + 0.585 + 2 = 4.585 2 For the 4-PSK reference set, we find d ref = 2 from Figure 9.23.
9-26
The asymptotic coding gain relative to a 4-PSK reference set is found using Equation (9.62) as follows: d 2/S av G (dB) = 10 log10 f2 ' d ref Sav
The average power is unity for both the signal waveform set and the
reference waveform set. Therefore, G (dB) = 10 log10 4.585 = 3.6 dB .
9-27
2
Chapter 10 Answers to Problems
The pages in Chapter 10 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
Chapter 10 Problems and Answers 10.1. You are presented with a real signal s1(t) with 1 kHz frequency and an unknown amplitude and
phase angle:
s1 (t ) c1 cos(2 1000 t 1 ) You want to estimate the unknown phase angle 1. You have a reference signal s2(t) with a frequency of 1 kHz, unit amplitude and zero phase angle: s2 (t ) cos(2 1000 t ) (a) Form the average value of the product s1(t) s2(t) to determine if we can estimate the unknown phase angle 1. The average product does not give you the phase angle because cos(+) = cos(-), and due to the presence of the unknown amplitude c1.
s1 (t )s2 (t ) c1 cos(2 1000 t 1 ) cos(2 1000 t ) Answer:
c c 1 cos(1 ) 1 cos(2 2000 t 1 ) 2 2 c1 avg(s1 (t )s2 (t )) cos(1 ) 2
(b) Try a different reference signal s3(t), a quadrature sinusoid with 1 kHz frequency, unit amplitude and zero phase angle. This signal, composed of two components, is written as:
s3 (t ) exp( j 2 1000 t ) cos(2 1000 t ) j sin(2 1000 t ) [cos(2 1000 t ), sin(2 1000 t )] Form the average value of the product s1(t) s3(t) and use the two product terms of the complex product to determine the unknown phase angle 1. The two average products form the two equations required to compute the two unknowns, the amplitude and phase parameters.
Answer:
s1 (t)s3 (t ) c1 cos(2 1000 t 1 ) [cos(2 1000 t ) jsin(2 1000 t )] c 1 [cos(1 ) cos(2 2000 t 1 )] 2 c j 1 [sin(1 ) sin(2 2000 t 1 )] 2 c1 c avg(s1 (t )s3 (t)) cos(1 ) j 1 sin(1 ) 2 2
10-1
(c). What trigonometric operation extracts the angle information from the two average products?
c1 sin(1 ) Imag 2 sin(1 ) tan(1 ) Real c1 cos( ) cos(1 ) 1 2 Imag 1 a tan( ) Real
Answer:
10.2. Figure P10.1 shows a 4-point constellation diagram of a QPSK signal set carrying 2-bits per symbol, with two possible 8-point constellation sets for a signal carrying 3-bits per symbol. Note that the distance between constellation points has been reduced because you are restricting the signal space to circle circumscribing the square formed by the 4-constellation point of the QPSK signal. Confining the constellation points to reside in this circle is a consequence the limited amplitude range of the power amplifier following the modulator.
1+ j1
1+ j1
QPSK
1+ j1
8-PSK
8-QAM
Figure P10.1
(a) If all constellation points are equally likely, determine the average power represented by the three constellation sets.
1 4[ (1 j1)(1 j1)] 2 4 1 1 1 avg pwr , 8 QAM : 4[ (1 j1)(1 j1) (1)(1)] [2 1] 1.5 8 8 2 1 avg pwr , 8 PSK : 8[ (1 j1)(1 j1)] 2 8 avg pwr , QPSK :
Answer:
10-2
(b) Determine the Euclidian distance from a constellation point to its nearest neighbor.
Answer:
Euclidian Distance, QPSK : 2 Euclidian Distance, 8 QAM : 1 Euclidian Distance, 8 PSK : 2 2 sin(
2 ) 1.0824 16
(c) Determine the decision boundaries a signal detector (or slicer) would use to determine the closest constellation point to any received point in the constellation space. Answer: 1+ j1
QPSK
1+ j1
8-QAM
1+ j1
8-PSK
10.3 figure P10.2 shows a 4-point constellation diagram of a QPSK signal set carrying 2-bits per symbol and an additional two possible 8-point constellation sets for a signal carrying 3-bits per symbol. You are interested in constellation placements that increase their Euclidian distance while preserving their average energy. You will see if these nontraditional 8-QAM distributions provide improvements over the versions in Problem 10.2. Note that the distance between constellation points has been reduced because you are restricting the signal space to circle circumscribing the square formed by the 4-constellation point of the QPSK signal. Confining the constellation points to reside in this circle is a consequence of the limited amplitude range of the power amplifier (following the modulator).
10-3
1+ j1
1+ j1 5
QPSK
1+ j1
3+ j1 5
2 1+ 3
8-QAM
8-QAM
Figure P10.2
(a) If all constellation points are equally likely, determine the average power represented by the three constellation sets.
1 4[ (1 j1)(1 j1)] 2 4 1 (1 j1) (1 j1) 1 (3 j1) (3 j1) 1 2 10 avg pwr , 8 QAM : 4[ ] [ ] 1.2 8 8 2 5 5 5 5 5 5 avg pwr , QPSK :
Answer:
1 2 2 1 1 avg pwr , 8 QAM : 4[ ( ) (1 j1)(1 j1)] [0.2679+2] 1.134 8 1 3 8 2
(b) Determine the Euclidian distance from a constellation point to its nearest neighbor.
Euclidian Distance, QPSK : Answer:
2
Euclidian Distance, 8 - QAM :
3 1 2 = = 0.894... 5 5 5
Euclidian Distance, 8 - PSK :
2 2 2× ×= = 0.732... 1+ 3 1+ 3
(c) Determine the decision boundaries a signal detector (or slicer) would use to determine the closest constellation point to any received point in the constellation space.
10-4
Answer:
10.4. The signaling waveform with the smallest bandwidth and with zero inter-symbol interference is the Nyquist pulse. Its spectrum H(f) is the rect(f/f0) function with two-sided bandwidth 2f0 Hz and its time response h(t) is the sinc( tf0 ) function. These functions are concisely defined as follows
1 1, | f | 2T 1 1 H( f ) rect( f T ) , | f | 2T 2 1 0, | f | 2T
t sin( ) T , t h(t ) t ( ) T
This time function has infinite duration and to be used in a communication system it must be modified to exhibit finite duration. One option is to simply truncate the impulse response to a finite interval by multiplying h(t) with a rectangle window w1(t). When we form the finite duration signal h1(t) by the product of the time functions h(t) and w1(t) we also form the modified spectrum H1(f) by the convolution of their spectra H(f) and W1(f):
t ); NT sin 2 fNT H1 ( f ) H( f )*W1 ( f ); W1 ( f ) 2NT 2 fNT h1 (t ) h(t ) w1 (t); w1 (t)=rect(
(a) Sketch the time response and frequency response of h(t), the Nyquist pulse when T is equal to 1 second.
10-5
answer With T=1, the rectangle spectrum H(f) is 1 between +/- 0.5 Hz, a two sided BW of 1 Hz with zeros of h(t), its time function, having zeros every 1 second on the time axis. To obtain a sampled data version of h(t), we form h(n) where t=nTsmpl with Tsmpl =T/20. This is a sample rate 20 times the signal’s 2-sided bandwidth which takes 20 samples of the time function between the sinc’s zero crossings.
) 0 ) n 2 0 n 2 ( n i s ( ) 0 ) n 2 0 n 2 ( n ( i s ) 0 2 0) / 2 T T / n TT n
( n i s
) n ( h
(
) tT ) tT ( n ( i s
) t ( h Then
Now the question is how many samples should we take? We want to take a large number to minimize truncation artifact. We arbitrarily take 50 sidelobes either side of 0 to form the sequence we plot:
sin( h( n) (
20
20
(50 : 50))
(50 : 50))
% sampled data version of sinc. Choose sample rate 20 times sinc BW % distance to first time domain zero crossing is 1/BW =1/1 = 1.0 % 20 samples from peak to first zero of time function % with +/- 50 zeros crossings we have 2001 sample of time series % we will have 2001 samples in both frequency and time domain figure(1) subplot(2,1,1)% simulating discontinuity by transition through 0.5 f_h=[zeros(1,950) 0.5 ones(1,99) 0.5 zeros(1,950)]; plot([-10:0.01:10],f_h,'linewidth',2) grid on axis([-2 2 -0.2 1.2]) title('Spectrum, Ideal Lowpass Filter') xlabel('Frequency (Hz)') ylabel('Amplitude') subplot(2,1,2) arg=(-50:0.05:50); h=sin(2*pi*arg/2)./(2*pi*arg/2); h(1001)=1.; plot(arg,h,'linewidth',2) grid on axis([-12 12 -0.3 1.2]) set(gca,'XTick',[-12:1:12]) title('Theoretical Inverse Fourier Transform, Impulse Response') xlabel('Time (sec)') ylabel('Amplitude')
10-6
Spectrum, Ideal Lowpass Filter
Amplitude
1
0.5
0 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Frequency (Hz)
Theoretical Inverse Fourier Transform, Impulse Response
Amplitude
1
0.5
0 -12 -11 -10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
Time (sec)
(b) Sketch the time response and frequency response of h(t), the Nyquist pulse when T is equal to 1 micro-second. Answer Exactly same answer to part a. except Frequency axis Hz is replaced with MHz and time axis sec is replaced by sec. (c) Sketch the time response and frequency response of h1(t) the truncated Nyquist pulse when T is equal to 1 second and 2N is equal to 10.
Answer: % sampled data version of sinc. Choose sample rate 20 times sinc BW % distance to first time domain zero crossing is 1/BW =1/1 = 1.0 % 20 samples from peak to first zero of time function % with +/- 5 zeros crossings we have 201 sample of time series % we will have 2001 samples in frequency domain figure(2) subplot(2,1,2) arg=(-5:0.05:5); hh=sin(2*pi*arg/2)./(2*pi*arg/2); hh(101)=1.; plot(arg,hh,'linewidth',2) grid on axis([-12 12 -0.3 1.2]) set(gca,'XTick',[-12:1:12]) title('Truncated to \pm5 Zero Crossings of Sinc Impulse Response') xlabel('Time (sec)') ylabel('Amplitude') subplot(2,1,1) % Tranform of truncated sinc sequence; f_hh=zeros(1,2001); f_hh(1001+(-100:100))=hh; plot([-10:0.01:10],fftshift(real(fft(fftshift(f_hh))/20)),'linewidth',2) grid on axis([-2 2 -0.1 1.2]) title('Spectrum, Lowpass Filter with Rectangle Truncation of Impulse Response') xlabel('Frequency (Hz)') ylabel('Amplitude')
10-7
(d) Sketch the time response and frequency response of h1(t) the truncated Nyquist pulse when T is equal to 1 micro-second and 2N is equal to 10. Answer Exactly same answer to part c. except Frequency axis Hz is replaced with MHz and time axis sec is replaced by sec.
10.5 As mentioned in Problem 10.4, the Nyquist pulse time function has infinite duration and to be used in a communication system it must be modified to exhibit finite duration. In this case, you need to The option we examine here is to truncate the impulse response to a finite interval by multiplying h(t) with a smooth continuous window w2(t). Nyquist suggested that a good window would be one for which the spectrum is a half cycle of a cosine. The resulting spectrum is called a cosine tapered Nyquist or a raised cosine Nyquist. The time domain signal h2(t) and its spectrum H2(f) of this tapered Nyquist pulse are
10-8
cos(
t
) T ; 2 t 2 1( ) T T cos(2 f ) | f | 2T H2 ( f ) H( f )* W2 ( f ); W2 ( f ) 0 | f | 2T h2 (t ) h(t ) w2 (t); w2 (t)=
(a) Sketch the time response and frequency response of h2(t) the truncated Nyquist pulse when T is equal to 1 second and is equal to 0.5. Answer: % sampled data version of cos tapered sinc. sample rate 20 times sinc BW % distance to first time domain zero crossing is 1/BW =1/1 = 1.0 % 20 samples from peak to first zero of time function % with +/- 5 zeros crossings we have 201 sample of time series % we will have 2001 samples in frequency domain figure(3) subplot(2,1,2) arg=(-5:0.05:5); h1=sin(2*pi*arg/2)./(2*pi*arg/2); h1(101)=1.; w2=cos(pi*0.5*arg)./(1-(2*0.5*arg).^2); h2=h1.*w2; h2(121)=0; % replace 0/0 ratio with 0 h2(81)=0; % replace 0/0 ratio with 0 plot(arg,h2,'linewidth',2) hold on w2(121)=0.785; % to plot window w2(81)=0.785; % to plot window plot(arg,w2,'r:','linewidth',2) plot(arg,h1,':k','linewidth',2) hold off grid on axis([-6 6 -0.3 1.2]) set(gca,'XTick',[-12:1:12]) title('Windowed Sinc (blue), Cosine Taper Window (red), and Sinc Impulse Response (black)') xlabel('Time (sec)') ylabel('Amplitude') subplot(2,1,1) % Tranform of truncated sinc sequence; f_h2=zeros(1,2001); f_h2(1001+(-100:100))=h2; plot([10:0.01:10],fftshift(real(fft(fftshift(f_h2))/sum(h2))),'linewidth',2) grid on axis([-2 2 -0.1 1.2]) title('Spectrum, Lowpass Filter with Raised Cosine Windowd Sinc Impulse Response') xlabel('Frequency (Hz)') ylabel('Amplitude')
10-9
Amplitude Amplitude
(b) Sketch the time response and frequency response of h2(t) the truncated Nyquist pulse when T is equal to 1 micro-second and is equal to 0.5. Answer Exactly same answer to part a. except Frequency axis Hz is replaced with MHz and time axis sec is replaced by sec.
10.6 In the communication link you spilt the spectral shaping of the cosine tapered Nyquist pulse into two operations. You perform the first half the spectral shaping at the modulator and the second half at the demodulator. You do this because in order to suppress channel induced noise at the receiver and maximize receiver SNR, you need the demodulator filter to be the time reversed and conjugate version of the modulator filter. The spectral split means the spectral response of the modulator and of the demodulator filters are SQRT Nyquist filters. The Matlab script rcosdesign(alpha, span, sps, shape) with values h0=rcosdesign(0.5, 6, 4, ’sqrt’) designs a SQRT Nyquist filter impulse response with excess BW alpha = 0.5, spanning a total of 6 symbols, at 4-samples per symbol. When used at the modulator the filter is scaled for unity amplitude by mx(h0) as shown here: h1=h0/max(h0), and when used at the demodulator the filter is scaled for unity gain by the received signal energy: h2=h1/(h1 x h1’). When displayed in frequency domain, the required scaling for unity gain in the FFT is the gain of the FFT expressed as: h=h/sum(h);
10-10
(a). Use the MATLAB script rcosdesign to form the impulse response of a sqrt Nyquist filter with excess bandwidthh of 0.5 with time span of 8 symbols with 4-samples per symbol. Plot the impulse response and scaled frequency response with spectral axis spanning -2 to +2 to reflect the 4-samples per symbol. Note and comment on the passband ripple level, transition bandwidth, and maximum stopband sidelobe levels.
Answer: % problem 10.6a h4=rcosine(1,4,'sqrt',0.5,4); h4=h4/max(h4); figure(5) subplot(3,1,1) plot(-4:1/4:4,h4,'linewidth',2) grid on axis([-5 5 -0.3 1.2]) title('Impulse Response, SQRT Nyquist Shaping Filter') xlabel('Time Index') ylabel('Amplitude') subplot(3,1,2) f_h4=fftshift(20*log10(abs(fft(h4/sum(h4),512)))); plot((-0.5:1/512:0.5-1/512)*4,f_h,'linewidth',2) grid on axis([-2 2 -60 10]) title('Frequency Response, SQRT Nyquist Filter, Excess BW = 0.5') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.8,-27,'PK Stopband Sidelobe = -37.3 dB') subplot(3,1,3) plot((-0.5:1/512:0.5-1/512)*4,f_h4-0.0062,'linewidth',2) hold on plot([-0.5 0.5],[0 0],'k','linewidth',1.5) hold off grid on axis([-0.5 0.5 -0.02 0.02]) title('Zoom to Pass Band Ripple') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.25,0.01,'PK Ripple = 0.0066 dB')
10-11
(b). Repeat part a. but design for time span of 12 symbols. Note and comment on the passband ripple level, transition bandwidth, and maximum stopband sidelobe levels for the longer shaping filter. Answer: % problem 10.6b h6=rcosine(1,4,'sqrt',0.5,6); h6=h6/max(h6); figure(6) subplot(3,1,1) plot(-6:1/4:6,h6,'linewidth',2) grid on axis([-7 7 -0.3 1.2]) title('Impulse Response, SQRT Nyquist Shaping Filter') xlabel('Time Index') ylabel('Amplitude') subplot(3,1,2) f_h6=fftshift(20*log10(abs(fft(h6/sum(h6),512)))); plot((-0.5:1/512:0.5-1/512)*4,f_h6,'linewidth',2) grid on axis([-2 2 -60 10]) title('Frequency Response, SQRT Nyquist Filter, Excess BW = 0.5') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.8,-27,'PK Stopband Sidelobe = -40.8 dB') subplot(3,1,3) plot((-0.5:1/512:0.5-1/512)*4,f_h6+0.00470,'linewidth',2) hold on plot([-0.5 0.5],[0 0],'k','linewidth',1.5) hold off grid on axis([-0.5 0.5 -0.02 0.02]) title('Zoom to Pass Band Ripple') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.25,0.01,'PK Ripple = 0.0047 dB')
10-12
Amplitude
Impulse Response, SQRT Nyquist Shaping Filter 1 0.5 0
Log Mag (dB)
Log Mag (dB)
-6
-4
-2
0
2
4
6
Time Index Frequency Response, SQRT Nyquist Filter, Excess BW = 0.5 0 -20
PK Stopband Sidelobe = -40.8 dB
-40 -60 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Frequency Zoom to Pass Band Ripple
0.02
PK Ripple = 0.0047 dB 0 -0.02 -0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Frequency
(c) For the two filters in parts (a) and (b), convolve the shaping filter impulse response with their corresponding matched filter impulse response. Plot the cascade impulse response and scaled frequency response with spectral axis spanning -2 to +2 to reflect the 4-samples per symbol. Note and comment on the passband ripple level, transition bandwidth, and maximum stopband sidelobe levels. Answer: % cascade 8tap filters and 12 tap filters h4=rcosine(1,4,'sqrt',0.5,4); h4=h4/max(h4); h6=rcosine(1,4,'sqrt',0.5,6); h6=h6/max(h6); h44=conv(h4,h4)/(h4*h4'); h66=conv(h6,h6)/(h6*h6'); figure(7) % * tap filters in Cascade subplot(3,1,1) plot(-8:1/4:8,h44,'linewidth',2) grid on axis([-9 9 -0.3 1.2])
10-13
title('Total Response, Cascade of Shaping and Matched SQRT Nyquist Filters') xlabel('Time Index') ylabel('Amplitude') subplot(3,1,2) f_h44=fftshift(20*log10(abs(fft(h44/sum(h44),512)))); plot((-0.5:1/512:0.5-1/512)*4,f_h44,'linewidth',2) grid on axis([-2 2 -90 10]) title('Frequency Response, Cascade 8-Tap SQRT Nyquist Filters, Excess BW = 0.5') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.8,-27,'PK Stopband Sidelobe = -75 dB') subplot(3,1,3) plot((-0.5:1/512:0.5-1/512)*4,f_h44-0.0125,'linewidth',2) hold on plot([-0.5 0.5],[0 0],'k','linewidth',1.5) hold off grid on axis([-0.5 0.5 -0.02 0.02]) title('Zoom to Pass Band Ripple') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.25,0.01,'PK Ripple = 0.0125 dB') figure(8) % Cascade 12 Tap Filters subplot(3,1,1) plot(-12:1/4:12,h66,'linewidth',2) grid on axis([-13 13 -0.3 1.2]) title('Total Response, Cascade of Shaping and Matched SQRT Nyquist Filters') xlabel('Time Index') ylabel('Amplitude') subplot(3,1,2) f_h66=fftshift(20*log10(abs(fft(h66/sum(h66),512)))); plot((-0.5:1/512:0.5-1/512)*4,f_h66,'linewidth',2) grid on axis([-2 2 -90 10]) title('Frequency Response, Cascade 12-tap SQRT Nyquist Filters, Excess BW = 0.5') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.8,-27,'PK Stopband Sidelobe = -80 dB') subplot(3,1,3) plot((-0.5:1/512:0.5-1/512)*4,f_h66+0.0094,'linewidth',2) hold on plot([-0.5 0.5],[0 0],'k','linewidth',1.5) hold off grid on axis([-0.5 0.5 -0.02 0.02]) title('Zoom to Pass Band Ripple') xlabel('Frequency') ylabel('Log Mag (dB)') text(0.25,0.01,'PK Ripple = 0.0094 dB')
10-14
10-15
Log Mag (dB) Log Mag (dB) Amplitude
Log Mag (dB) Log Mag (dB) Amplitude
10.7 When a demodulator requires a SQRT Nyquist matched filter to process the received baseband signal it also requires a second filter whose impulse response is a time-aligned time-derivative version of the same SQRT Nyquist shaping filter. This filter is used by the timing recovery loop to locate the time position at which the peak value of the matched filter is located. The average slope of matched filter output is zero at that position and the timing recovery loop adjusts its timing clock to shift the input time series till the matched filter output exhibits zero slope. The MATLAB script below will form the shaping filter h1, the matched filter h2, and the derivative matched filter dh2. h0=rcosdesign(0.5,10,8,'sqrt'); % alpha=0.5, 10-symbls, 8 smpls/symbl h1=h0/max(h0); % normalize for shaping filter at mod h2=h1/(h1*h1'); % normalize for matched filter at demod dh2x=conv(h2,[1 0 -1]/2)*8; % derivative matched filter, dy/dx, dx=1/8 dh2=dh2x(2:82); % Phase align with matched filter
(a)
Write the MATLAB script file to form the three filters, h1, h2, and dh2. Plot the impulse response and the magnitude frequency response of filters h2 and dh2. % problem 10.7
Timing recovery filters
h0=rcosdesign(0.5,10,8,'sqrt'); % alpha=0.5, 10-symbls, 8 smpls/symbl h1=h0/max(h0); % normalize for shaping filter at mod h2=h1/(h1*h1'); % normalize for matched filter at demod dh2x=conv(h2,[1 0 -1]/2)*8; % derivative filter, dy/dx, dx=1/8 dh2=dh2x(2:82); % Phase align with matched filter figure(9) subplot(2,2,1) plot(-5:1/8:5,h2,'linewidth',2) grid on axis([-6 6 -0.05 0.2]) title('Matched Filter Impulse Response') xlabel('Time Index') ylabel('Amplitude') subplot(2,2,3) plot(-5:1/8:5,dh2,'linewidth',2) grid on axis([-6 6 -0.4 0.4]) title('Derivative Matched Filter Impulse Response') xlabel('Time Index') ylabel('Amplitude') subplot(2,2,2) f_h2=zeros(1,256); f_h2(129+(-40:40))=h2; f_h2=fftshift(fft(fftshift(f_h2),256)); plot((-0.5:1/256:0.5-1/256)*8, real(f_h2/max(f_h2)),'linewidth',2) grid on axis([-2 2 -0.2 1.2]) title('Matched Filter Frequency Response') xlabel('Frequency') ylabel('Amplitude') subplot(2,2,4) f_dh2=zeros(1,256); f_dh2(129+(-40:40))=dh2; f_dh2=fftshift(fft(fftshift(f_dh2),256)); plot((-0.5:1/256:0.5-1/256)*8, imag(f_dh2),'linewidth',2) grid on axis([-2 2 -3.0 3.0]) title('Derivative Matched Filter Frequency Response') xlabel('Frequency') ylabel('Amplitude')
10-16
Matched Filter Impulse Response
Matched Filter Frequency Response 1
Amplitude
Amplitude
0.15 0.1 0.05
0.5
0
0
-0.05 -6
-4
-2
0
2
4
6
-2
-1
0
Time Index
Derivative Matched Filter Impulse Response
2
Derivative Matched Filter Frequency Response 2
0.2
Amplitude
Amplitude
0.4
1
Frequency
0 -0.2
0
-2 -0.4 -6
-4
-2
0
Time Index
2
4
6
-2
-1
0
1
2
Frequency
(b) Form the timing error detector s-curve s_crv, as the product of the matched filter h2, and the derivative matched filter dh2. Plot s_crv and its spectrum. s_crv=h2.*dh2; figure(10) subplot(3,1,1) plot(-5:1/8:5,h2,'linewidth',2) grid on axis([-3 3 -0.05 0.2]) title('Matched Filter Impulse Response') xlabel('Time Index') ylabel('Amplitude') subplot(3,1,2) plot(-5:1/8:5,dh2,'linewidth',2) grid on axis([-3 3 -0.4 0.4]) title('Derivative Matched Filter Impulse Response') xlabel('Time Index') ylabel('Amplitude') subplot(3,1,3) plot(-5:1/8:5,s_crv,'linewidth',2) grid on axis([-3 3 -0.03 0.03]) title('S-curve of Timing Recovery Timing Error Detector') xlabel('Time Index') ylabel('Amplitude')
10-17
Amplitude Amplitude Amplitude
(c) Form 1000 symbols of random QPSK data samples shaped by filter h1. Pass this modulated signal x2 through the matched filter to form y2 and the derivative matched filter to form dy2. On two subplots plot the real part of 50 symbols of x2, the input and y2 the output of the matched filter. On two additional subplots plot the constellations from every 8-sample of x2 and y2. This gives you some confidence that a subset of the filter samples are the desired sample values to be processed by the demodulator symbol detector process. % QPSK modulation x0=(floor(2*rand(1,1000))-0.5)/0.5+j*(floor(2*rand(1,1000))0.5)/0.5; x1=zeros(1,8000); % Forming array for shaped modulation sequence x1(1:8:8000)=x0; % upsampling input 1-to-8 x2=conv(x1,h1); % shaping filter applied to input data y2=conv(x2,h2); % matched fiter at demodulator dy2=conv(x2,dh2); % Derivative matched filter figure(11) subplot(2,1,1) plot(0:1/8:50, real(x2(1:401)),'linewidth',2) hold on stem((0:50)+5, real(x1(1:8:401)),'r','linewidth',2) hold off grid on axis([0 50 -1.5 1.5]) title('Real Part QPSK Sequence at input and Output of Modulator Shaping Filter') ylabel('Amplitude') xlabel('Time Index') subplot(2,1,2) plot(0:1/8:50, real(y2(1:401)),'linewidth',2) hold on stem((0:50)+10, real(x1(1:8:401)),'r','linewidth',2) hold off grid on axis([0 50 -1.5 1.5]) title('Real Part QPSK Sequence at Demodulator Matched Filter') ylabel('Amplitude') xlabel('Time Index')
10-18
(d) Form the point by point product of prd = real(y2).*real(dy2). Finally, as shown below, form the average of samples values in the prd separated by 8 samples. for k=1:41 avg(k)=mean(prd(80+k:8:880+k)); end Plot on 4 subplots 50 symbols (400 samples) of y2, of dy2, and of prd. On these subplots also plot every 8-sample with a red ‘ro’ marker starting on index 81, the symbol samples. On the 4-th subplot
10-19
plot the avg samples. What you will see here is that the y dy product is not zero unless y is a local extremum. This only happens if the symbols both sides of the current symbol are different from the center symbol. While this is a random event, the average is periodic in 8-samples as can be seen on the 4-th subplot which shows the periodic timing error detector S-curve of the y dy product. % part d prd = real(y2).*real(dy2); for k=1:41 avg(k)=mean(prd(80+k:8:880+k)); end figure(12) subplot(4,1,1) plot(0:1/8:50,real(y2(1:401)),'linewidth',2), hold on plot(0:50,real(y2(1:8:401)),'ro','linewidth',2) hold off grid on title('50 Symbol Intervals, Real Part Output of Matched Filter') ylabel('Amplitude') subplot(4,1,2) plot(0:1/8:50,real(dy2(1:401)),'linewidth',2) hold on plot(0:50,real(dy2(1:8:401)),'ro','linewidth',2) hold off grid on title('50 Symbol Intervals, Real Part Output of Derivative Matched Filter') ylabel('Amplitude') subplot(4,1,3) plot(0:1/8:50,real(prd(1:401)),'linewidth',2) hold on plot(0:50,real(prd(1:8:401)),'ro','linewidth',2) hold off grid on title('50 Symbol Intervals, Product of Matched and Derivative Matched Filter') ylabel('Amplitude')
Amplitude
subplot(4,1,4) plot(0:40,real(avg(1:41)),'linewidth',2) hold on plot(2:4:40,real(avg(3:4:41)),'ro','linewidth',2) hold off grid on title('Average of Random Product Samples Taken Every 8 Samples') ylabel('Amplitude') xlabel('Time Index') 50 Symbol Intervals, Real Part Output of Matched Filter
2 0 -2
Amplitude
0
Amplitude
10
15
20
25
30
35
40
45
50
45
50
45
50
50 Symbol Intervals, Real Part Output of Derivative Matched Filter
0 -5 0
5
10
15
20
25
30
35
40
50 Symbol Intervals, Product of Matched and Derivative Matched Filter
2 0 -2 0
Amplitude
5
5
5
10
15
20
25
30
35
40
Average of Random Product Samples Taken Every 8 Samples
0.5 0 -0.5 0
5
10
15
20
25
Time Index
10-20
30
35
40
QUESTIONS 10.1. A synchronized modem must align the carrier frequency, carrier phase, and symbol clock phase with their counterparts in a received signal. In what order must the estimation loops be locked, and why? Answer: Carrier Frequency must be acquired first: An offset carrier frequency may cause filters in the path to reject part of the received bandwidth. This causes an irrecoverable reduction in signal fidelity. Symbol clock phase, or symbol timing, must be acquired next. We have to know where the time location of the matched filter’s peak is located. Sample points at that peak have the maximum SNR, a requirement to minimize error rates in the subsequent detection process. We also need to know the I and Q coordinates of the peak location so we can map the observed constellation points back to the known points. This is the mechanism of acquiring the phase of the local oscillator or direct-digital synthesizer (DDS) with the phase of the received and down-converted modulation signal.
10.2. Why do all modern modems perform their processing on complex signals? In other words, what is the advantage, if any, to processing the signal components on the orthogonal in-phase and quadrature signal paths? Answer: We require the orthogonal coordinates, the in-phase and quadrature-phase so that at measurement times, we have a point in 2-space. That point in 2-space forms an angle between the vector connecting the origin to that point and the x (or In-phase) axis. That angle is required for estimating the distances to valid constellation points (in a QAM signal set). We also require the angles to detect phase offsets in a phase-lock loop phase recovery. 10.3. When you search a correlation function for its peak, you are searching for the location where the derivative is zero. You use the derivative polarity at the current test value to guide the search direction, to go forward or to go backward, from the current hypothesis test value. If the derivative tells you to advance or move back, why do you also need the amplitude of the test value? Answer: The signals we are examining are bipolar. We seek the extrema of a signal which is either a maxima if the signal amplitude is positive valued, or is a minima if the signal amplitude is negative valued. The sign of the sample amplitude resolves that question. Are we seeking a local maxima? If we are, then a positive slope directs us to move forward towards the maxima. On the other hand, if we are seeking a local minima, then a positive slope directs us to move backwards towards the minima.
10.4. You use the orthogonality of the cosine tapered Nyquist pulse in many QAM modems to implement a link with zero intersymbol interference (ISI). Why do you implement the system with a square-root Nyquist filter at each end of the link, essentially performing part of the desired shaping at the modulator and part of the shaping at the demodulator? Why couldn’t you perform the shaping entirely at the modulator or demodulator?
10-21
Answer: We have to apply the shaping filter at the modulator to confine the transmission bandwidth to its allocated bandwidth. We have to apply a second filter at the demodulator to limit the channel induced noise to the transmitted bandwidth. We want the received signal at the output of the receiver filter to have the best SNR. This occurs when the second filter is the time reversed and delayed version of the transmitter filter. We also want the received signal to be a Nyquist filter, one with zero ISI. The two constraints require the modulator and demodulator to be sqrt Nyquist filters, each providing half of the required bandwidth shaping and bandwidth limiting. 10.5. How is it possible for a Nyquist-shaping filter impulse response to span 20 symbol durations— hence overlap 19 adjacent symbol waveshapes—and still be orthogonal to the overlapped waveforms? Answer: The overlap of a Nyquist pulse with a version of the same pulse that is shifted precisely the interval between the peak and one of the many zero crossings introduces a frequency dependent phase shift to its spectrum. The total amount of phase shift over the spectral bandwidth is an integer of 2. The average value of the product of the offset time functions has the same value as the average value of the product of their spectra. The spectral product terms include the phases of their spectra. And, the average value of overlapping complex sinewaves is another complex sinewave with an integer number of sinewaves. The area under an integer number of sinewaves is zero; the definition orthogonality! If their spectra are orthogonal, then so must their time functions be orthogonal. 10.6. Orthogonality of two signals means that the average value of the product of the two signals is zero. Is this relationship also valid in the frequency domain? Describe why or why not. Answer: Orthogonality of two signals in the time domain implies orthogonality of their corresponding spectra. Orthogonality tells us that the signals are at right angle, they don’t share any energy. If they don’t share energy in one coordinate system, say the time domain, then they also do not share energy in a different coordinate system, say the frequency domain.
10.7. What information does an eye diagram offer a designer or a modem user? Does the receiver use an eye diagram? What differences would you see in the eye diagrams at a modulator and at a demodulator? Answer: The eye diagram is a collection of overlaid wave shape segments showing transitions between three successive state values at the symbol time positions in a communication system. The three states are previous, current, and next. For a QPSK signal, the states can have values of ±1 at each state time, and the transitions between states account for the numerous sample values in the registers of the shaping filter. A matched filter spanning 10 symbol intervals at 2-samples-per-symbol contains output symbol values of ±1 with 1024 possible transition patterns. This is too many transitions to examine one at a time, but they can be conveniently presented in an eye diagram as an aggregate of all possible
10-22
transitions. The eye diagram at a modulator and at a demodulator are different because at the modulator, shaping is only performed by the shaping filter (with non-equally spaced zeros), hence with large variation at symbol time locations. The signal at the demodulator, having been filtered by both shaping and matched filters has a significantly reduced variance at the symbol time locations. The designer can recognize signal-related anomalies due to implementation errors that include residual ISI, timing errors, and other corrupting signal effects. The modem does not actually use eye diagrams in the modulation or demodulation process. It is a "health" monitoring aid for the modem designer or user.
10.8. What information does a constellation diagram offer a designer or a modem user? Does the receiver use a constellation diagram? What differences would you see in the constellation diagrams at a modulator and at a demodulator? Answer: The constellation diagram shows the observer the location of a very large number of received I-Q sample points at the time position aligned with the matched filter’s peak amplitude. This sample is the amplitude of the transmitted signal at that time position. These amplitudes are corrupted by residual inter-symbol interference from earlier and later symbols. The interference is due to small shifts in the zero crossing position of the composite time response of the modulator’s shaping filter and the demodulator’s matched filter. The amount of smearing as well as the geometric shape of the smearing around the nominal constellation point positions is a measure of performance losses due to ISI, due to timing jitter, due to I-Q imbalance, and other implementation errors. The constellation diagram at the modulator has larger smearing regions about the nominal constellation points due to fact that the signal contains ISI since it only experiences the shaping filter which does not have equally spaced zero crossings. The constellation diagram at the demodulator has smaller smearing regions about the nominal constellation points due to the fact that the signal experiences both a shaping filter and a matched filter. The constellation diagram is not formed in an operating modem, and is designed to be an observable to the modem designers in order to indicate levels of possible sources of ISI.
10-23
Chapter 11 Answers to Problems
The pages in Chapter 11 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
Chapter 12 Answers to Problems
The pages in Chapter 12 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
12.24 (a)
M
Gv G p
Eb / I0 H0
3.68 106 1.5 2.5 G p where G p 255.55 4 1.5 14.4 103
therefore M 2.5 255.55 160 users/cell 4
(b) If Eb/I0 can be lowered by 1 dB (or the factor 1.259), it directly affects the user population by an increase in the same amount. Thus now M 201 users/cell . 12.25 Ech / I0 30.4 dB. Assume that Eb / N0 I0 Eb / I0 . Then for
QPSK modulation with perfect synchronization and PB 105 , the required Eb / I0 9.6 dB . Then, from the processing gain Gp
Eb / I0 Ech / I0
G p (dB) Eb / I0 (dB) Ech / I0 (dB) 9.6 30.4 40 dB
We see that for a direct-sequence spread spectrum system, there must be 10,000 chips/bit to meet these specifications. 12.26 Gp
Eb / I0 Ech / I0
Ech / I0 (dB) Eb / I0 (dB) G p (dB) 9.6 20 10.4 dB
From Equation (12.69), we write: E E Pr Ec Rc ch Rch b R I0 I0 I0 I0 E
then, Ec k b since Rc n R , and
I0
k
n I0
Ec (dB) 9.6 dB 3 dB 6.6 dB I0
12-22
12.27 (a) We start with the chip rate of Rch = 32,000 chips/s and work backwards to find Rs, Rc, and R as follows:
Rch 32,000 8000 symbols/s N 4 Rc (log2 M ) Rs 3 8000 24,000 channel bits/s k 1 R Rc 24,000 12,000 bits/s n 2 Rs
Given the hopping bandwidth of 1.2 MHz, the processing gain is Gp
Whopping 1.2 106 100 20 dB , R 1.2 104
and Eb / I0 is given as 13 dB (= 20). Thus, from Equation (12.69) E E E Pr Eb R c Rc s Rs ch Rch I0 I0 I0 N0 N0
Therefore, Pr 20 12,000 240,000 (53.8 dB-Hz) , and I0
Ech Pr / I0 240,000 7.5 (8.8 dB) I0 Rch 32,000 Es 240,000 240,000 30 (14.8 dB) I0 Rs 8000 Ec 240,000 240,000 10 (10 dB) I0 Rc 24,000
12-23
(b) This system will meet the FCC Part 15 processing gain requirement. However, the hopping bandwidth of 1.2 106 exceeds the maximum-bandwidth per channel requirement. 12.28 Using Equation (12.69), Pr Eb R 4 20,000 80,000 (49 dB-Hz) I0 I0 Ec k Eb 1 4 2 (3 dB) I0 n I0 2 Rc 2 R 40,000 channel bits/s
Each 256-ary waveform represents 8 channel bits. Hence, Ew E 8 c 16 (12 dB) I0 N0 R 40,000 Rw c 5000 Walsh waveforms/s 8 8 Rwch 256 Rw 256 5000 1.28 106 Walsh chips/s Ewch Ew Rw 16 0.0625 (12 dB) I0 I0 Rwch 256
Rch is given as 10.24 Mchips/s
Ech Pr 1 80,000 0.0078 (21 dB) I0 I0 Rch 1.024 107
The processing gain is: G p
Rch 1.024 107 512 R 2 104
The ratio of spread spectrum chips to Walsh chips is: Rch 1.024 107 SS chips/Walsh chip 8 Rwch 1.28 106
12-24
Chapter 13 Answers to Problems
The pages in Chapter 13 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
13.11 (a) Improvement in the sigma-delta modulator SNR for the case of a noise transfer-function with a single zero is 9-dB per doubling of sample rate. When operated at 20 times the Nyquist rate, the improvement is: 9 dB log2 (20) = 4.329 9 dB = 38.9 dB Output SNR = 6 dB + 38.9 dB = 44.9 dB (equivalent to a 7-bit conversion) (b) Improvement in SNR for the same modulator in part (a) that is operated at 50 times the Nyquist rateo is: 9 dB log2 (50) = 5.644 9 dB = 50.8 dB Output SNR = 6 dB + 50.8 dB = 56.8 dB (equivalent to a 9-bit conversion) (c) Improvement in SNR for two-zero sigma delta modulator is 15-dB per doubling of sample rate: therefore improvement is 15 dB log2(20) = 4.329 15 dB = 64.8 dB Output SNR = 6 dB + 64.8 dB = 70.8 dB (equivalent to a 12-bit conversion 13-14
13.16 Time and spectral description of even and periodically extended data sets E ven E x tension
P eriodic E x tension
25
25
20
20
15
15
10
10
5
5
0
0 0
5
10
15
0
5
|DCT|
15
|FFT|
300
300
250
250
200
200
150
150
100
100
50
50
0 -0.5
10
0
0.5
0 -0.5
0
0.5
Time and error sequences from quantized even and periodically extended data sets. y
(n)(Line) and y
DCT
hat
(n) (S am ples)
y
25
25
20
20
15
15
10
10
5
5
0
FFT
(n)(Line) and y
hat
(n) (S am ples )
0 0
5
10
15
0
E rror S eries: DCT
5
10
15
E rror S eries: FFT
1
3 s dev=1.888
s dev=0.5146 2 0.5 1 0
0 -1
-0.5 -2 -1
-3 0
5
10
15
0
13-18
5
10
15
13.17 S(0,0) = 11001100 , S(1,0) =010101, S(0,1) = 110001, and S(2,1) = 00110. The raster scan would deliver the binary sequence: 11001100 010101 00000 0000 000 00 00 00 110001 00000 0000 000 00 00 0 0 00110 0000 000 00 00 0 0 0 0000 000 00 00 0 0 0 0 000 00 00 0 0 0 0 0 00 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 The raster scan with run length of zeros identified by Huffman terminating codewords delivers 72 bits as: 11001100 010101 0100111 (18-zeros) 110001 0100111 (18-zeros) 00110 110100 (14-zeros) 110101 (15-zeros) 001000 (12-zeros) 00111 (10-zeros) 10100 (9-zeros) 10100 (9-zeros) The zig-zag scan would deliver the following binary sequence: 13-19
13.17 (cont’d.) 11001100 010101 110001 00110 00000 00000 0000 0000 0000 0000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00 00 0 0 0 0 0 0
00 00 0 0 0 0 0 0 0
00 0 0 0 0 0 0 0 0
00 0 0 0 0 0 0 0 0
The zigzag scan with run length of zeros identified by Huffman terminating code words delivers 37 bits as follows: 11001100 010101 110001 00110 11011 (64-zeros) 0100101 (54-zeros)
13.18 The 8x8 block of 8-bit input samples requires 512 bits. The fully populated DCT required 133 bits for a compression ratio of 512/136 or 3.8 or approximately 2.1 bits per pixel. The lightly populated DCT requires 35 populated bits plus 12 bits for run length code, 1101 (64-zeros) and 00010110 (37-zeros), for a total of 37 bits. The compression ratio is 512/37 or 13.8 or approximately 0.6 bits per pixel. 13-20
Chapter 14 Answers to Problems
The pages in Chapter 14 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
14.1 (a) The distribution function is found by integrating the pdf over the desired region. Thus we can write r0
FR ( r0 ) P( R r0 ) p(u ) d (u) 0
u2 exp 2 du 0 2 2 r0 u
We use the properties of integrals associated with the exponential function to give us: r
0 r2 u2 FR ( r0 ) exp 2 1 exp 0 2 2 2 0
(b) The rms value is given by 2 . Now for the case where the signal level is 15 dB below the rms value: r0 15 dB 2
10log
r0 2 3.16 10 2
Now from part a): FR ( r0 ) 1 exp
2
r0 2 1 exp (0.0316227) 2
The percent of time that the signal level is 15 dB below the rms value is equal to 0.09995% (c) The rms value is given by 2 . Now for the case where the signal level is 5 dB below the rms value: r0 5 dB 2
10log
r0 1 3.16 10 2
Now from part (a): FR ( r0 ) 1 exp
2
r0 2 1 exp (0.316227) 2
The percent of time that the signal level is 5 dB below the rms value is equal to 9.52%
14-1
14.2 (a) First, we need to calculate the rms delay spread which is given by: 2 ( )2 1.8 1010 1010 = 8.94 s
Coherence bandwidth for a correlation of at least 0.9 is given by:
(b)
f0
1 1 2.24 kHz 50 50 8.94 106
f0
1 1 22.37 kHz 5 5 8.94 106
(c) Assume the bandwidth is equal to the symbol rate = 20kHz. Using the results of b) for the dense scatterer model (50% correlation) yields that f0 W. However, the values of f0 and W are so close, that we best call this case marginally frequency selective.
14.3 (a) The mean excess delay can be calculated as follows
k P(k )k k ak2k (1)(2) (0.1)(3) 2.3 2.072 s k P(k ) k ak2 (1 0.1 0.01) 1.11 (b) The second moment is given by: P(k )2k ak22k (1)(2)2 (0.1)(3)2 4.9 2 k k 2 4.14 s2 (1 0.1 0.01) 1.11 k P(k ) k ak
(c) The rms delay spread is given by the following:
2 ( )2 4.14 (2.072)2 0.35 s
14-2
(d) The 90% coherence bandwidth is given by the following: f0
1 1 57.14 kHz 50 50 0.35 106
(e) The time required to traverse a half wavelength is given as 100 s, which approximately defines the coherence time. The velocity of the receiver is given as 800 km/hr which corresponds to 222.22 m/s. Therefore, the transmission frequency is obtained from /
T0 / 2 V
or
VT0
8
3 10 m/s 6.75 GHz f c 2 222.2 m/s 104 s
14.4 (a) Shown below is a continuous plot of the Doppler power spectral density as plotted in MATLAB ®. The function is evensymmetric about the carrier frequency fc and is equal to zero outside the range fc fd .
14-3
(b) S(ν) has the response that it does at the boundaries due to the sharp upper limit on the Doppler shift produced by a vehicular antenna traveling among the stationary scatterers of the dense scatterer model. The largest magnitude occurs when the scatterer is directly ahead of the moving antenna platform or directly behind it. (c) For the case where the channel’s response to a sinusoid has a correlation greater than 0.5, the relationship between the coherence time and the given Doppler spread of 50 Hz is approximately T0
9 9 3.6 ms 16 f d 16 50
14.5 (a) Frequency-selective and fast-fading are characterized by channels having a signal bandwidth that exceeds the channel coherence bandwidth, and a fading rapidity that exceeds the symbol rate. Historically, this was first seen in low-data rate telegraphy channels sent over high-frequency (HF) channels having a narrow coherence bandwidth. Since, we are interested in the fading rapidity as related to the symbol rate, it should be clear that too-slow a signaling rate can be the root cause of fast fading degradation. (b) Frequency-selective and slow-fading are characterized by channels having a signal bandwidth that exceeds the channel coherence bandwidth, and a symbol rate that exceeds the fading rapidity. An application that generally fits this category is a cellular telephone channel. For example, in the GSM system, signaling is at the rate of 271 ksymbols/s, and a typical value for the channel coherence bandwidth is under 100 kHz. The symbol duration is 3.69 s, and for a carrier frequency of 900 MHz and a velocity of about 100 km/hr, the coherence time is in the order of about 5-6 ms. Thus there are over a thousand symbols transmitted during the coherence-time interval.
14-4
(c) Flat-fading and fast-fading are characterized by channels having a channel coherence bandwidth that exceeds the signal bandwidth, and a fading rapidity that exceeds the symbol rate. An application that can fit this category is a low-data rate system operating in an environment having small multipath delay spread (large channel coherence bandwidth), where the speed of movement results in fast fading. This might be represented by a low-data rate system operating in a fast moving vehicle in a desert environment, or a low-data rate radio on a rapidly moving indoor conveyor belt. (d) Flat-fading and slow-fading are characterized by channels having a coherence bandwidth that exceeds the signal bandwidth, and a symbol rate that exceeds the fading rapidity. An application that fits this category is an indoor (low-multipath delay spread) high-data rate system. Here, the data rate need not be very large, if we presume that the fastest speed of movement is represented by a person walking. 14.6 (a) The delay spread and the Doppler spread represent functions that are dual to each other. Two processes (functions, elements, or systems) are dual to each other if their mathematical relationships are the same even though they are described in terms of different parameters. Here, the Doppler power spectral density, S , can be regarded as the dual of the multipath intensity profile, S , since the former yields knowledge about the frequency spreading of a signal, and the latter yields knowledge about the time spreading of a signal. (b) Here, we can characterize the duality between the signal timespreading mechanism as viewed in the frequency domain via the spaced-frequency correlation function, R f , and the time-variant mechanism viewed in the time domain via the spaced-time correlation
14-5
function, R t . R f yields knowledge about the range of frequencies over which two spectral components of a received signal have a strong potential for amplitude and phase correlation. R t yields knowledge about the span of time over which two received signals have a strong potential for amplitude and phase correlation. However, take note that the dual functions in part (a) are independent of one another, as are those in part (b). See Section 14.4.1.1. 14.7
k P(k ) k 0 1/ 2 100 1/ 2 200 1/ 4 300 100 ns 1 1/ 2 1/ 2 1/ 4 P ( ) k k k P(k ) k 0 1/ 2 1002 1/ 2 2002 1/ 4 3002 21,111 ns2 1 1/ 2 1/ 2 1/ 4 k P(k )
2
2 21,100 1002 11,111 105 ns
f0
1 1 1.9 MHz 5 5 105 ns
Therefore, to avoid using an equalizer, the symbol rate should be less than (considerably less than) 1.9 Msymbols/s.
14.8 V Doppler spread f d
c 3 108 0.1579 m f 1.9 109
f d Hz 360 Rs symbols/s V /0.1579 m 5 360 24.3 103 symbols/s
/ symbol
14-6
V 192 km/hr
14.9 (a) Pedestrian: V = 1 m/s, f0 = 300 MHz, = 1 m. Thus, T0 0.5 0.5 0.5 s fd
V /1 m
TIL 5 s
Pedestrian: V = 1 m/s, f0 = 3 GHz, = 0.1 m. Thus, T0 0.5 fd
0.5 0.05 s V / 0.1 m
TIL 0.5 s
Pedestrian: V = 1 m/s, f0 = 3 GHz, = 0.1 m. Thus, T0 0.5 fd
0.5 0.05 s V / 0.1 m
TIL 0.5 s
Pedestrian: V = 1 m/s, f0 = 30 GHz, = 0.01 m. Thus, T0 0.5 fd
0.5 0.005 s V / 0.01 m
TIL 0.05 s
Meaningful diversity for pedestrian application: TIL versus f
TIL (seconds)
5.0 0.5 0.05 300 MHz
3 GHz 30 GHz Frequency 14-7
(b)
High-speed train: V = 50 m/s, f0 = 300 MHz, = 1 m. Thus, T0 0.5 0.5 0.5 s 0.01 fd
V /1 m
50/1
TIL 0.1s
High-speed train: V = 50 m/s, f0 = 3 GHz, = 0.1 m. Thus, T0 0.5 fd
0.5 0.05 s 0.001 V / 0.1 m 50
TIL 0.01s
High-speed train: V = 50 m/s, f0 = 30 GHz, = 0.01 m. Thus, T0 0.5 fd
0.5 0.005 s 0.0001 V / 0.01 m 50
TIL 0.001s
Meaningful diversity for high-speed train application: TIL versus f
TIL (seconds)
0.1 0.01 0.001 300 MHz
3 GHz 30 GHz Frequency
Conclusions: The faster the speed, and the higher the frequency, the less is the interleaver delay. For a speech application, where we might choose a maximum delay time of 100 ms, the interleaver delay at the transmitter (and the deinterleaver delay at the receiver) may not exceed 50ms. For this example, the pedestrian would only be able to have acceptable diversity for systems whose carrier frequency is 30 GHz or higher. 14-8
14.10 For the flat-fading case, where f 0 W (or Tm Ts ), Figure 14.9b shows the usual flat-fading pictorial representation. However, as a mobile radio changes its position, there will be times when the received signal experiences frequency-selective distortion even though f 0 W . This is seen in Figure 14.9c, where the null of the channel's frequency transfer function occurs near the band center of the transmitted signal’s spectral density. Thus, even though a channel is categorized as flat fading (based on rms relationships), it can still manifest frequency-selective fading on occasions. It is fair to say that a mobile radio channel, classified as exhibiting flat-fading degradation, cannot exhibit flat fading all of the time. As f 0 becomes much larger than W (or Tm becomes much smaller than Ts ), less time will be spent exhibiting the type of condition shown in Figure 14.9c. By comparison, it should be clear that in Figure 14.9a the fading is independent of the position of the signal band, and frequency-selective fading occurs all the time, not just occasionally. 14.11 0.5 0.5 T0 fd V /
T0
3 108 0.1579 m 1.9 106
0.5 1.579 103 s (50 m/s)/ m
T0 3.9475 104 s 4
Thus, the training sequence must be received every 3.9475 10-4 s. Since the training sequence consists of 20 bits and should not occupy more than 20% of the total bits, then the slowest data rate corresponds to delivering 100 bits in T0/4 s, or R
100 bits 253.3 kbits/s . 3.9474 104 s
If the bit rate were any slower, it would require more time than T0/4 s to receive the 20 bit training sequence.
14-9
14.12 (a) The condition for frequency selective fading is that f0 < W, i.e., the coherence bandwidth of the channel is less than the signal bandwidth. The channel spacing can be taken to be the maximum signal bandwidth W = 300 kHz. The coherence bandwidth is calculated using the following:
1 f0 1 667 kHz. 5 5300 109 Since f0 > W, the channel is not frequency selective. (b) We need to check whether the channel coherence bandwidth is less than the signal bandwidth. The signal bandwidth W can be taken to equal the channel spacing which is 1.728 MHz. The coherence bandwidth is equal to:
1 f0 1 1.33 MHz 5 5150 109 Since f0 < W we need to include some form of equalization to combat the effects of frequency-selective fading.
14.13
T0 0.5 0.5 fd V / V
0.50.3 0.3s 0.5 m/s
8
310 0.3m 6 10
TIL 3s
Such a 3-second interleaver span would not be feasible for speech.
14-10
14.14 (a) Using Equation (14.29), T0 0.5 0.5 0.005 s . Since we desire to fd
100 Hz
keep the interleaver delay down to 100 ms (50 ms at each end), then the desired, then the largest ratio of TIL to T0 is 0.05 s/0.005 s = 10. (b) For fd = 1000 Hz, then T0 = 0.005 s, and the largest ratio of TIL to T0 is 0.05/0.005 = 100.
14.15 (a) 8
c 3 10 6 0.1579 m f
fd
1.9 10
V
26.67 m/s 168.9 Hz 0.1579 m
The signaling is QPSK. Therefore, the data rate of 200 kbits/s corresponds to a signaling rate of 100 ksymbols/s. / symbol
f d Hz 168.9 360 0.61 Rs symbols/s 105
(b) For a data rate of 100 kbits/s, the QPSK symbol rate is 50 ksymbols/s. Therefore: / symbol
(c)
fd
V
13.33 m/s 84.4 Hz 0.1579 m
168.9 1.22 5 104
/ symbol
84.4 0.61 5 104
/ symbol is directly proportional to velocity and inversely
proportional to symbol rate.
14-11
1 f0 1 20 kHz 5 510 106
14.16 (a)
(b)
T0
0.5 0.5 0.5 s f d 1 Hz
(c) Pulse duration = 1 s. Thus, W = R = 106 pulses/s. W
1 Therefore, the channel is slow fading T0
f 0 106 Therefore, the channel is frequency selective. (d) To mitigate the frequency-selective effects of fading, one could reduce the pulse rate to be less than 20 kpulses/s. 14.17 8
c 3 10 6 0.1579 m f
1.9 10 T0
fd
0.5 0.5 2.96 ms f d 168.9 Hz
V
26.67 m/s 168.9 Hz 0.1579 m 1 337.8 T0
Therefore, the slowest signaling rate should be about 100 337.8 33.8 ksymbols/s.
14.18 (a) There is a total of 2(4) + 10 + 2(40) = 98 bits per slot. Since we are told that the information is transmitted using QPSK, the number of symbols per slot is equal to 98/2 = 49. The slot duration is equal to: TSLOT
49 1.459 ms 33.6 103
14-12
The receiver speed can be as fast as 100 km/hr, or 27.8 m/s. Given a carrier frequency of 700 MHz, the signal wavelength is:
c 3 108 0.428 m f 7 108
Next, calculate the time required in order to traverse half a wavelength which is approximately equal to the coherence time: T0
2 7.7 ms V
We have that the coherence time is approximately equal to 5 times the slot duration and so the time required for a substantial change in the fading behavior is relatively long compared to the time duration of a single slot. Thus the midamble should be able to provide accurate information to the receiver regarding the status of the channel, and the system should not suffer the effects of fast fading. (b) The signal bandwidth is given as 47 kHz, and the rms delay spread is 4 s. The coherence bandwidth is: f0
1 1 50 kHz 5 5 4.0 106
Since f0 > W, there should be no frequency-selective fading. However, whenever such marginal cases are encountered (f0 is not much larger than W), an equalizer is always specified.
14-13
14.19 We can write the following: TTOT = TENC + TMOD + TCHAN + TDEMOD + 2TINT + TDEC where the interleaver delay is included twice, to account for interleaving and de-interleaving. Substituting the values given in Table P14.1, results in the following: 2TINT + TDEC = 340 ms 37.3 ms = 302.7 ms. (a) For an interleaver size of 100 bits, the total interleaving and deinterleaving delay is equal to: (2100)/(19.2103) = 10.4 ms. Therefore the allowable time to perform decoding is equal to TDEC = 302.7 – 10.4 ms = 292.3 ms. We are given that TDEC = (2108)/fclk ms. Thus, the minimum decoder clock speed is approximately equal to 684 kHz. (b) For an interleaver size of 1000, the interleaving and deinterleaving delay is equal to (21000)/(19.2103) = 104 msecs. Therefore the allowable time to perform decoding is equal to TDEC = 302.7 – 104 ms = 198.7 ms. The mimimum decoder clock speed is approximately equal to 1 MHz. (c) For an interleaver size of 2850, the interleaving and deinterleaving delay is equal to (22850)/(19.2103) = 297 ms. Therefore the allowable time to perform decoding is equal to TDEC = 302.7 – 297 ms = 5.7 ms, and the mimimum decoder clock speed is approximately equal to 35 MHz. (d) As the interleaver size increases, the decoder clock speed increases. However we note that increasing the interleaver size by a factor of 10 from 100 to 1000 causes the decoder clock speed to increase by a factor of 1/0.684 1.5. However increasing the interleaver size by a further factor of 2.85 causes the decoder clock speed to jump up by a factor of 35. Therefore there is a trade-off which needs to be accounted for between a larger interleaver size which typically results in better BER performance and increasing decoder speed which results in the use of more advanced and expensive hardware technologies. 14-14
14.20 We start with our desire that f 0 W f d , and we assume that the signal bandwidth, W, is approximately equal to the signaling rate, 1/Ts. As a first estimate of this signaling rate, we use the geometric mean between f0 and fd. 8 3 10 0.1m 3109
T0 0.5 0.5 fd V /
0.5 2.25103 s (22.22 m/s)/0.1m fd
1 1 444 Hz T0 2.25 103
The geometric mean between the given f0 of 100 kHz and fd of 444 Hz is 6663 symbols/s. For each subcarrier, let us choose a symbol rate of 8000 symbols/s. Then an OFDM plan would contain Number of subcarriers =
1024 103 symbols/s 128 subcarriers 8000 symbols/s/subcarrier
A subcarrier plan might look like this:
...
Frequency (MHz) 14.21 The multipath delay is: d 1208 m c
3 10 m/s
0.4 106 s
Hence, the required chip rate is: Rch 1 2.5 Mchips/s
14-15
3000.512
3000.024
3000.016
3000.008
3000.000
2999.992
2999.984
2999.976
2999.488
...
14.22 DS/SS systems can typically mitigate channel-induced ISI at the symbol level not at the chip level. However, with a reasonable amount of processing gain, the DS/SS system is robust enough to withstand the interchip interference. A DDS/SS system with a processing gain of 1000 transmits 1000 chips per bit. To get an intuitive feeling about the robustness of such a system, make believe that detection at the receiver is performed on each chip (it doesn’t actually work that way the correlator with its PN reference performs product-integration of the received sequence of chips with the sequence of PN code reference chips, and during a symbol interval accumulates a signal which is then compared to a threshold). But for a moment, imagine a binary scheme, where an individual decision is made on each chip, and then some voting logic was used. In that case, do you see, that 499 of those decisions can be wrong and the detector’s response for that bit would still be correct? The spread-spectrum processing gain allows the system to endure such interference at the chip level. No other equalization is deemed necessary. 14.23 CDMA, either direct sequence (DS) or frequency hopping (FH) can provide mitigation against the effects of frequency-selective fading. In the case of DS, the spread spectrum system, effectively eliminates the multipath interference by virtue of its code-correlation receiver. (See Section 14.5.1.). FH can also be used as a technique to mitigate the distortion caused by frequency-selective fading, provided the hopping rate is at least equal to the symbol rate. Compared to DS/SS, mitigation takes place through a different mechanism. FH receivers avoid the degradation effects due to multipath by rapidly changing in the transmitter carrier-frequency band, thus avoiding the interference by changing the receiver band position before the arrival of the multipath signal.
14-16
14.23 (cont’d.) TDMA can most naturally provide mitigation against fast fading. This comes about because TDMA systems are burst systems. Users transmit in bursts when their assigned slot appears. Thus, the transmission rate in a TDMA system is much higher than would ordinarily be needed for sending the same information on a dedicated channel. For example, in GSM the signaling rate for voice signals is 271 ksymbols/s. Since fast-fading occurs whenever the symbol rate is less than the fading rate, there is a natural protection against this type of degradation when using faster signaling. 14.24 We first calculate the total signal envelope in terms of the voltage gains, Gi, which is given by: M
rM Gi ri where M = 4 i 1
= (0.5) (0.87) + (0.8) (1.21) + (1.0) (0.66) + (0.8) (1.90) = 3.583 volts Since each signal is received with its own demodulator, then we next can calculate the total noise power given by: M
NT N Gi2 i1
= 0.25 (0.52 + 0.82 + 1.02 + 0.82) = 2.53 For the signal-to-noise ration, , we can now write, M
1 rM2 3.5832 2.537 2 NT 2(2.53)
where the factor of ½ stems from the fact that the total average normalized power of a bandpass waveform can be shown to equal ½ of the average of the envelope magnitude-square [1, 10].
14-17
(b) For the case where Gi ri2 / N and the SNR out of the diversity combiner is the sum of the SNRs in each branch, the sum of the individual SNRs is 0.872 1.212 0.662 1.902 ri2 = 12.53 2 (0.25) 2 N i 1 M
14.25 (a) To solve for M, we need to rearrange the following expression: P M 1 exp
M
We have that = 15 dB and the threshold = 5 dB. Thus, / = 0.1, and we have the following: 104 1 exp 0.1
M
On re-arranging M
ln104 = 3.91 ln 1 exp 0.1
Thus we require at least 4 branches in order to meet the above specification. (b) We use the following: P i 1 1 exp
M
which we calculate, using M = 4 4
P i 1 1 exp 0.1 = 0.9999179
14-18
14.26 (a) With selection diversity we determine the instantaneous value of SNR for each branch which we assume is used in order to make the selection process. The SNR for branch i is given by: SNRi
ri2 2N
and since the average noise power is given to be the same for both branches, we can make our selection based on the branch whose signal has the maximum amplitude value squared. In this case the following would be selected: [B1, B1, B2, B1, B2, B1, B2, B2, B2, B1] We assume that the selection operates on an instantaneous basis from one time interval to the next. (b) With feedback diversity the signals are scanned in a fixed sequence until one is found which is above a predetermined threshold. This signal is received until it falls below the threshold value upon which the scanning process is re-initiated. We can firstly calculate the voltage level for which the threshold corresponds to. We know that: r2 5 10log i 2N
which upon rearranging and introducing the value N = 0.25 gives ri 1.257 . Since both branches have the same average noise power, we just need to ensure that we scan until a branch which has ri 1.257 is found. Assume that we begin scanning from Branch 1. In this case, the following would be selected: [B1, B1, B1, B1, B2, B2, B2, B2, B2, B1]
14-19
It is worth noting that with selection diversity, an improvement in the SNR can be achieved without great complexity in the receiver. To achieve this kind of diversity, it is only necessary to implement an antenna switch and a monitoring algorithm (to determine if and when switching is required). Feedback diversity has the advantage that it is also very easy to implement, although it does not provide the diversity advantages achievable through the use of more complex techniques, which follow. (c) With maximum ratio combining, we need to take into account the respective gains of each branch that has been supplied. The following needs to be calculated for each time interval k: M
The signal envelope given by: rM Gi ri i 1
M
The total noise power given by: NT N Gi2 i 1
And finally the SNR is: M
rM2 2 NT
where the summations given above are over two elements. If we assume we begin at time k = 1 and finish at time k = 10, the following is obtained: 2
2
2
2
(1.67) 10.39 6.11 k = 1: M (1.2) (1.85) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(1.69) 10.85 6.38 k = 2: M (1.2) (1.91) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(2.13) 11.36 6.68 k = 3: M (1.2) ( 1.31) (1.4) = 2 2 2(0.25) (1.2) (1.4)
14-20
1.7
2
2
2
2
( 1.26) 6.71 3.95 k = 4: M (1.2) (1.58) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(1.74) k = 5: M (1.2) (1.21) (1.4) = 8.04 4.73 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(1.76) 11.44 6.73 k = 6: M (1.2) (1.93) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(1.29) 5.04 2.96 k = 7: M (1.2) (1.11) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
( 1.93) 11.32 6.66 k = 8: M (1.2) (1.67) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(2.31) 16.99 9.99 k = 9: M (1.2) (2.13) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4) 2
2
2
2
(1.08) 9.58 5.63 k = 10: M (1.2) (2.25) (1.4) = 2 2 1.7
2(0.25) (1.2) (1.4)
(d) For equal gain combining we have the same as above, except that now the gain in all branches is set to unity. We obtain the following: k = 1: M
(1.85)2 (1.67)2 6.21 3.65 = 2 2 1.7 2(0.25) (1.2) (1.4)
k = 2: M
(1.91)2 (1.69)2 6.50 3.83 = 1.7 2(0.25) (1.2)2 (1.4)2
2 2 k = 3: M (1.31) (22.13) 2 = 6.25 3.68
2(0.25) (1.2) (1.4)
14-21
1.7
2 2 k = 4: M ( 1.58) (21.26) 2 = 4.08 2.40
2(0.25) (1.2) (1.4)
k = 5: M
1.7
(1.21)2 (1.74)2 4.49 2.64 = 1.7 2(0.25) (1.2)2 (1.4)2
(1.93)2 (1.76)2 k = 6: M = 6.82 4.01 2 2 1.7 2(0.25) (1.2) (1.4)
k = 7: M
(1.11)2 (1.29)2 2.90 1.70 = 2 2 1.7 2(0.25) (1.2) (1.4)
2 2 k = 8: M ( 1.67) (21.93) 2 = 3.83 2.25
2(0.25) (1.2) (1.4)
k = 9: M
1.7
(2.13)2 (2.31)2 9.87 5.81 = 1.7 2(0.25) (1.2)2 (1.4)2
2 2 k = 10: M ( 2.25) (21.08) 2 = 6.23 3.66
2(0.25) (1.2) (1.4)
1.7
Both maximal-ratio and equal-gain combining typically provide better performance than selection and feedback diversity since at any one time, when a diversity calculation is made, all the information available in ALL the branches is utilized. Equal-gain combining has slightly worse performance than that which is available with maximalratio combining, since maximal-ratio combining utilizes variable weights which optimize the maximum available SNR. This can be seen from the solutions to parts (c) and (d), since the SNR at each time instant obtained with maximal-ratio combining is superior to that obtained with equal-gain combining. It is worth noting however that equal gain combining still manifests better SNR performance than selection and feedback diversity since, it still makes use of information available in all branches.
14-22
14.27
14-23 14-23
14.27
14-24
14.28 14.27
14-25
14.28 (cont’d.) Problems 14.27 and 14.28 illustrate a technique for mitigating the “smearing” effects of ISI. Because the Viterbi decoding algorithm is used, the technique is often referred to as Viterbi equalization. In Problem 14.27, the ISI corresponds to a channel having memory, in that each signaling interval represents the superposition of several symbol components. Whenever a signal is constrained by a memory of the past, the signaling scheme can be referred to as a “finite-state machine,” and a trellis diagram is a simple way to describe it. Problem 14.27 lays out the nature of the ISI caused either by circuitry or by a multipath channel (or both), and asks for a description of the resulting smeared waveform and its trellis-diagram characterization (encoding trellis). The only difference between this trellis and the ones described in Chapter 7, is that here we show channelwaveform voltage values rather than channel-bit values on the trellis transitions. In Problem 14.28, after noise has been added to the distorted sequence, we can estimate the original message sequence with the use of a decoding trellis. This follows the same Viterbi algorithm described in Chapter 7. The only difference is that here the metric placed on each trellis transition is the voltage difference between the signal that was received and the noiseless signal that would have been received had the encoder made the transition in question. The rest of the signal processing is exactly the same as in the decoding of convolutionally encoded bits. Once the trellis is pruned, so that a “common stem” appears, a bit-decoding can take place, where dashed lines and solid lines represent 1 and 0 respectively. 14-26
14.29 (a) The bit rate is equal to the symbol rate because the modulation is binary (BPSK). The bit period is equal to 1/(160×103) = 6.25 μs. The amount of dispersion in the signal is equal to 25 μs, and therefore the Viterbi equalizer requires a memory corresponding to approximately (25/6.25) 4 bit intervals.
(b) For a doubling of the bit rate and assuming BPSK modulation is still used, the bit period is now equal to 1/(2×160×103) = 3.125 μs. The Viterbi equalizer now requires a memory span of (25/3.125) = 8 bit intervals.
14-27
Chapter 15 Answers to Problems
The pages in Chapter 15 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
PROBLEMS 15.1 We want to know if two tones 1000 Hz and 2000 Hz, are orthogonal to one another. It is not possible to answer this question without more information? What additional information is needed? Show examples. Answer Tone orthogonality dictates that the separation between tones (their spacing) must be at least equal to the signaling speed 1/T. Thus, in this example the spacing f = f1 - f2 = 1000 Hz, and these tones will be orthogonal for a signaling speed of 1000 Hz. They will also be orthogonal for slower speeds according to the relationship
f signaling speed = 1000, 500, 333.3, 250, 200, 166.7, k 15.2 Find the generated samples out of an IDFT (neglecting any cyclic prefix samples) when the input symbols are: X(0) = 1, X(1) = 0, X(2) = j, X(3) = 1. Answer j nk 1 3 x k X n e 2 N n 0
1 1 1 1 1 e0 0 e0 j e0 1 e0 0.25 0 0.25 j 0.25 0.25 j 4 4 4 4 3 j j 1 1 1 1 0 j 2 x 1 1 e 0 e j e 1 e 2 0.25 0 0.25 j 0.25 j 0.25 4 4 4 4 1 1 1 1 x 2 1 e0 0 e j j e j 2 1 e j 3 0.25 0 0.25 j 0.25 0.5 0.25 j 4 4 4 4 3 9 j j 1 1 1 1 0 j 3 2 x 3 1 e 0 e j e 1 e 2 0.25 0 0.25 j 0.25 j 0.25 0.5 j 4 4 4 4 x 0
15.3 Consider an 802.11 OFDM system, having the following parameter values: 64-point transform with 48 message-occupied bins, OFDM symbol time = 4 sec, CP time = 0.8 sec, data modulation = 16-QAM, error-correction code rate = 3/4. Find the following (a) sample rate (b) sample time (c) code-bits per subcarrier (d) code-bits per OFDM symbol (e) databits per OFDM symbol (f) data rate (g) If the channel maximum delay spread = 20 samples, determine if the specified CP time is adequate for mitigating the channel ISI.
15-1
15.4 An OFDM system with 600 occupied subcarriers is used for transmission. The frequency f between subcarriers is 200 Hz. The modulation 1s 16-QAM, and the time occupied by the cyclic prefix is 1 ms. (a) Determine the OFDM bandwidth and the transmission bit rate. (b) If the N-point IDFT transform is N = 1028, what is the sampling rate of the output signal? Answer (a) BW Nc x f = 600 x 200 kHz = 120 kHz
R
Ts = 1/f = 1/200 Hz = 5 ms
log 2 M Nc 4 600 400 kbit/s Ts Tcp
(b) N point = 1028
6 ms
fs = N x f = 1028 x 200 Hz = 205.6 ksamp/s
15.5 Consider using an 802.11 OFDM 20 MHz channel to support a data stream. Let the modulation be M-QAM, and the error-correcting code rate be 3/4. (a) How many subcarriers are needed? (b) What is the needed modulation order M in order to deliver 48 Mbit/s? 15-2
Answer (a) BW = Nc x f
Nc = BW/f = 20 MHz/312.5 kHz
Nc = 64
(b) R = Code rate x bits/M-QAM x Nc x ROFDM
bits/M - QAM =
R 48 Mbit/s 4 bits/M - QAM Code rate N c ROFDM 3/4 64 250 kHz
Therefore the M-QAM is 16-QAM 15.6 Consider an OFDM system with a channel bandwidth of 20 MHz and the number of subcarriers Nc = 1200. Let the length of the cyclic prefix be 25% of the symbol time Ts. What is the overall OFDM symbol time TOFDM = Ts + TCP in seconds? Answer Ts = 1/f Ts
f = WOFDM/Nc
Nc 1200 60 s WOFDM 20 MHz
TCP = 0.25 x Ts = 15 s
TOFDM = Ts + TCP = 75 s
15.7 Using Table 15.2 LTE Channel Bandwidth Configurations, show that for the case of uncoded 64-QAM modulation, and a 7-symbol LTE slot, the maximum data rate that can be supported (neglecting overhead) is about 100 Mbits/s. (a) Perform computations by examining occupied subcarriers, and (b) repeat this by examining resource blocks. Answer (a) Max transmission BW =20 MHz, Occupied subcarriers =1200, 64-QAM dictates 6 bits/symbol or 6 bits/subcarrier, Bits/OFDM symbol = 6x 1200 = 7200 bits, Slot time = 0.5 ms, Symbol time = 0.5 ms/7 symbols = 71.429 usec Data rate = 7200 bits/71.429 us 100 Mbps. (b) There are 100 Resource Blocks (RBs) associated with the largest bandwidth of 20 MHz. Each RB has 12 subcarriers x 7 slots =84 resource elements (REs). Each RE contains 6 bits. Bits/RB 6 x 84 = 504 bits/RB. Bits/100 RBs = 50,400 bits/100 RBs. Data rate = 50,400 bits/0.5 ms = 100.8 Mbit/s. 15.8 While keeping the sample rate fixed, does doubling the N-point IDFT transform size provide a doubled data rate? Explain.
15-3
Answer fs = N x f Doubling the transform size N while holding the sample rate fs fixed means that f will be halved, or Ts will be doubled. Data rate R = Code rate x bits/M-QAM x Nc x ROFDM Note that a doubling of Ts reduces the BW, and will nearly halve the OFDM symbol rate ROFDM. Therefore the overall effect will nearly halve the data rate, but a longer OFDM symbol will make it less vulnerable to channel ISI. 15.9 While keeping the N-point IDFT transform size fixed, does doubling the sample rate provide a doubled data rate? Explain. Answer fs = N x f Doubling the sample rate while keeping N fixed means that f will be doubled, or Ts will be halved. A shorter OFDM symbol will increase the BW, and nearly double the OFDM symbol rate, which will nearly double the data rate. But a shortened symbol length will increase its vulnerability to channel ISI. 15.10 A service provider typically responds to a wireless user's request for service (say a 50 Mbps channel) based upon the user's SNR. If the user's SNR is large, the provider will respond with a small BW channel (say 10 MHz). If the SNR is small, the provider will offer a larger BW (say 15 MHz) to support the requested bit rate. Compute a power-versus-bandwidth OFDM trade-off for a 50 Mbps downlink LTE channel (neglecting overhead), which shows that either the 10 MHz channel with 64-QAM modulation or the 15 MHz channel with 16-QAM modulation can support the user's 50 Mbps request. Answer
15-4
15.11 We want to verify orthogonality between two tones having constant envelopes and an integer number of cycles per interval. Use MATLAB to plot the following: (a) 400 samples of a constant-amplitude cosine wave having 3 cycles per interval, (b) 400 samples of a constant-amplitude cosine wave having 4 cycles per interval, (c) 400 samples of a constant-amplitude sine wave having 4 cycles per interval, (d) Perform correlation (product integration) between plots in (a) and (b), (e) Perform correlation between plots (a) and (c). Product integration entails point-by-point products, followed by summation (averaging). (f) Explain why plots (d) and (e) verify orthogonality for sinusoids having constant-envelopes, and an integer number of cycles per interval. 15.12 Repeat problem 15, except in part (a) make the cosine amplitude non-constant, and in part (f), explain why plots (d) and (e) verify non-orthogonality. Answers to 15.11 and 15.12
15-5
15.13 Consider an 802.11 OFDM channel with 48 data subcarriers, where TOFDM = 4 sec, and the data portion (symbol time Ts ) = 3.2 sec. Modulation is 64-QAM, and Coding is rate ½. (a) What is the tone spacing? (b) What is the total bandwidth? (c) What is the OFDM symbol rate? (d) What is the data rate? Answer (a) f = (1/Ts) = (1/3.2 s) = 312.5 kHz (b) BW = Nc x f 48 x 312.5 kHz = 15 MHz (c) ROFDM = (1/TOFDM) = (1/4 s) = 250 kHz (d) R = Code rate x bits/64-QAM x Nc x ROFDM = ½ x 6 bits/64-QAM x 48 x 250 kHz = 36 Mbit/s
15-6
15.14 A simple OFDM modulator with 4 active tones in an 8-point IDFT is presented in Section 15.9 The tone frequencies 0, 1, 2, 3 are BPSK modulated with amplitudes 1, 1, +1 , +1 respectively. The 8 output time amplitudes are computed by the expression 3
2 x k d n exp j nk where the transform size N = 8, the frequency index N n 0 n = 0, 1`, 2, , 3, and the time index k = 0, 1, 2, ..., 7. (a) Compute the real part of this baseband OFDM modulator, and verify that it matches the 8 terms presented Section 15.9. (b) Compute the output time amplitudes of the imaginary part of this baseband OF modulator. Solving Part (a) in terms of complex values provides the answer to part (b). What is the data rate? (c) Repeat Part (a) except replace the frequencies with their negative indices, 0, -1, -2, -3. What effect does this have on the real part of x(k)? What effect does it have on the imaginary part of x(k)? Answer X1= -1*exp(j*2*pi*(0:7)*0/8)+ ... -1*exp(j*2*pi*(0:7)*1/8)+ ... +1*exp(j*2*pi*(0:7)*2/8)+ ... +1*exp(j*2*pi*(0:7)*3/8); real(x1) % part a % [0 -2.4142 -2.0000
0.4142
0
0.4142
-2.0000
-2.4142]
imag(x1) % part b % [0 1.0000 -2.0000
-1.0000
0
1.0000
2.0000
-1.0000]
real(x2) % part c: No Change in real part % [0 -2.4142 -2.0000 0.4142 0 0.4142
-2.0000
-2.4142]
% part c X2= -1*exp(j*2*pi*(0:7)*0/8)+ ... -1*exp(-j*2*pi*(0:7)*1/8)+ ... +1*exp(-j*2*pi*(0:7)*2/8)+ ... +1*exp(-j*2*pi*(0:7)*3/8);
imag(x2) % part c: Sign Reversals in imag part (Conjugation) % [0 -1.0000 2.0000 1.0000 0 -1.0000 -2.0000 1.0000] 15-7
QUESTIONS 15.1 Describe the three simple rules which will assure that the properties of orthogonality prevails amongst a set of sinusoidal signals. Answer In order to maintain orthogonality amongst a set of signals, we need to : 1. preserve the signal's length. 2. preserve a constant envelope. 3. preserve an integer number of cycles per gated sinusoid.
15.2 Is improved bandwidth-efficiency the main benefit of OFDM? If your answer is yes, how much? If your answer is no or not-much, explain what exactly is the main benefit provided by OFDM. Answer The answer is "not much BW-efficiency improvement," typically a factor of 2 due to the 50% spectral overlap. OFDM's main benefit is its ability to withstand degradations due to the fading effects of multipath.
15.3 OFDM transforms frequency- and time-variable fading channels into parallel correlated flat-fading channels. What is the main benefit that results from this transformation. Answer By transforming a frequency-variable channel into many narrow-band OFDM subcarriers, the frequency of each subcarrier will be approximately constant (flat fading). This eliminates the need for complex equalization (such as inverting a wide-band channel). Narrow-band flat fading channels can be equalized by simple scaling of each subcarrier.
15.4 What is the desired relationship between each of the following. (a) channel coherence bandwidth f0 and OFDM signal bandwidth W, (b) channel coherence time T0 and the OFDM signal length TOFDM, (c) channel delay spread and the length of the cyclic prefix TCP? (d) number of OFDM subcarriers Nc per OFDM symbol and the order of the M-ary modulation. Answer (a) f0 > W
(b) T0 > TOFDM
(c) < TCP
(d) no relationship
15-8
15.5 Describe the effects of increasing the number N of the N-point IDFT transform. Will it increase the sample rate? Will it increase the OFDM BW? Answer Since fs = N x f , an increase of N alone will give rise to an increase in sample rate, but not in bandwidth. A faster sample rate will result in greater time-domain resolution and will spread the spectral copies further apart, making analog filtering easier and less costly.
15.6 Describe the effects of decreasing f the frequency spacing between tones. And show the ways in which it can happen? Answer Since Ts = 1/ f , a decrease in f alone will increase the length of Ts making it less vulnerable (more robust) in withstanding a given channel ISI. It can happen (1) by decreasing f directly, (2) by increasing N (for fixed fs), or (3) by increasing Nc (for fixed Wsignal). 15.7 The OFDM standard IEEE-802.11 chose to append a cyclic prefix (CP) to the transmitted waveform, formed by copying a segment from the end of the time signal to the beginning of the signal. Explain how the CP makes the linear convolution of the waveform with the channel impulse response appear to be circular convolution. Answer Because the CP consists of the OFDM message's back-end that has been duplicated at the message's front-end, then the back-end of the appended CP will be continuous with the front end of the OFDM signal because the original signal's length is a multiple of its sinusoidal basis function (integer number of cycles per gated sinusoid). During the linear-convolution process of transmission, as the channel impulse response slides from the CP into the signal interval, it has the appearance of leaving the signal's back end, while entering the front end without any discontinuities. After the OFDM symbol is received, and the CP is discarded, the symbol's start and finish look like the same sample point. The overall effect is that linear convolution (which must always take place in a physical system) appears to be circular.
15-9
Chapter 16 Answers to Problems
The pages in Chapter 16 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
PROBLEMS
j - j
the channel H matrix is
1 -
j j + 1 - -
16.1 Consider an (M x N) = (2 x 2) MIMO example, where the received messages are: r1 =1 2 j and r2 = 2 j. Neglecting noise, find an estimate of the transmitted vector s = [s1 s2] that had been sent by the transmitter. Assume Rayleigh fading, and that the receiver has channel state information (CSI), namely
.
Answer The easiest solution is provided by using MATLAB, where after entering the values of matrix H and vector r, we then type the command s = (inv(H))*r, and the
0.3 1.3 j screen response will be the vector s = 0.7 1.0 j .
16.2 Verify the plotted characteristics of Rayleigh fading for L independent diverse propagation paths. Start with the PB versus Eb/N0 for the L=1 multipath case, and from there, develop the general bit-error probability versus SNR and factor-L relationship for the curves shown in Figure 16.5.
Answer
PB
k k' Eb / N0 SNR
where k and k ' are modulation-dependent constants.
If p is the probability that any one signal will fade below some critical value, then pL is the probability that all L independently fading replicas will do likewise. Hence in Rayleigh fading, bit-error probability can be improved from PB to (PB)L. Assuming the L diverse propagation paths are truly independent, and that the SNR is not unduly small, we can write L
PB
L
k L L Eb / N 0 SNR Eb / N 0
For simplicity, the proportionality is often replaced by an equal sign. 16-1
(16.13)
16.3 Consider an (M x N) = (2 x 1) MISO example with 2 transmit antennas, 1 receive antenna, and 2 time intervals for each symbol transmission (see Figure 16.7). (a) How large is the diversity gain, and (b) what is the downside of such a system? Answer (a) With two time intervals used in the transmission of each symbol, the diverse copies of each symbol are truly orthogonal. Therefore one is getting a completely independent "look" at each copy, and the diversity factor L = 2. (b) The downside here is that the data rate is reduced, since two time intervals are needed in order to achieve this diversity. The scheme is nothing more than a repetition code which is very wasteful of the communications resources. This MISO configuration would not generally be used.
16.4 The difficulty in achieving a large bandwidth efficiency with a SISO system is the need for unrealistically large signal-constellation and SNR sizes. Find the needed constellation size and the amount of SNR in dB when the desired BWefficiency is (a) 10 bits/s/Hz, (b) 20 bits/s/Hz, and (c) 40 bits/s/Hz. Answer k We use the classical relationship M = 2 where is M is the symbol set size and k is the number of bits per symbol. We can write: 10 (a) Required 10 bits/s/Hz = 10 bits/symbol. Constellation size M = 2 = 1024, and C log 2 SNR . Thus 10 log 2 SNR , and SNR 210 = we find SNR from W 1024 30 dB. 20
6
40
12
(b) Required 20 bits/s/Hz = 20 bits/symbol. Constellation size M = 2 10 = C log 2 SNR . Thus 20 log 2 SNR , 1 million points, and we find SNR from W 20 6 and SNR = 2 10 = 60 dB. (c) Required 40 bits/s/Hz = 40 bits/symbol. Constellation size M = 2 10 = C log 2 SNR . Thus 40 log 2 SNR , 1 trillion points, and we find SNR from W 40 12 and SNR = 2 10 = 120 dB.
16-2
16.5 (a) Consider using a MIMO system to send video data at 6 Mbit/s over a BW = 100 kHz, and a received SNR = 20 dB. Find the smallest (N x M) MIMO system (where N = M) that will support the needed data rate given such BW and SNR values. (b) Let's double the BW only, so that it becomes BW = 200 kHz (leaving SNR unchanged). Repeat part (a). (c) Now let's return to the original BW = 100 kHz, but let's double the received SNR so that it becomes SNR = 23 dB. Repeat part (a). (d) Compare the results of part (b) with (a), then part (c) with (a). What do these comparisons suggest about which resource is more valuable, BW or power? Hint: Look at Equation (16.33) for insight into the relative effects of BW and SNR upon capacity. Answer (a) Using a variation of the Shannon Hartley Capacity theorem in Equation (16.43)
C m W log 2 1+ SNR bits/s where m is min N , M 6 106 bits/s m 1105 log 2 100 60 bits/s/Hz m log 2 100 ; m
60 9 6.645
Thus, the smallest (N x M) MIMO that will work is (9 x 9).
(b) When the BW = 200 kHz
C m W log 2 1+ SNR bits/s where m is min N , M 6 106 bits/s m 2 105 log 2 100 30 30 bits/s/Hz m log 2 100 ; m 4.5 6.645
Thus, the smallest (N x M) MIMO that will work is (5 x 5).
(c) When the SNR = 23 dB
C m W log 2 1+ SNR bits/s where m is min N , M 6 106 bits/s m 1105 log 2 200 60 bits/s/Hz m log 2 200 ; m
60 7.8 7.644
Thus, the smallest (N x M) MIMO that will work is (8 x 8).
(d) Comparing part (b) (5 x 5) MIMO with part (a) (9 x 9) MIMO: For the same video performance, doubling only the BW allows us to simplify (reduce) the antenna configuration by 4 antenna pairs. 16-3
Comparing part (c) (8 x 8) MIMO with part (a) (9 x 9) MIMO: For the same video performance, doubling only the SNR allows us to simplify (reduce) the antenna configuration by only 1 antenna pair. Therefore it should be clear in this example, that doubling the BW resource gets us much more simplicity benefits than doubling the SNR. Given equal availability of resources, we conclude that BW is more valuable than power. We should have arrived at the same conclusion by just observing in Equation (16.33), that BW directly affects capacity as an unconstrained multiplier, while SNR is constrained (diminished by the logarithm).
16.6 Perform a multiplexing-diversity tradeoff for a new 6x6 MIMO wireless radio system. Before the tradeoff the data rate is 16 Mbits/s, the bandwidth is 500 kHz, and the modulation is 256-QAM. Use the Tse-Viswanath (r, d) plane to perform a (near-optimum) tradeoff that will enable the data rate to be increased to 25 Mbits/s. What is the (r, d) operating point before the tradeoff? Perform the tradeoff by using higher-order signaling so as to sacrifice diversity gain and increase multiplexing gain. What is the (r, d) operating point after the tradeoff? Answer Using Equation (16.65), for a (6 x 6) MIMO system, the piecewise choices for an optimum (r, d) are: (0, 36), (1, 25), (2, 16), (3, 9), (4, 4), (5, 1), and (6, 0).
where CSISO log 2 SNR
data rate 16 Mbit/s R 32 bits/s/Hz W Hz 500 Hz R 32 bits/symbol r= 4 log 2 SNR 8 bits/symbol
For 256 QAM log 2 SNR = 8 bits/symbol SNR = 256 24 dB
When r =4, the optimum d =4 from the above (r, d) choices, and thus 4
PE SNR d 256 2.3 1010 We are going to sacrifice some of this plentiful diversity to obtain a higher datarate capability. Let the new (r, d) choice be (5, 1). This will allow the new multiplexing gain to be 5 times the Shannon capacity, which will reduce the robustness. We will be trading off robustness for increased capacity by using higher order modulation, namely 1024-QAM.
16-4
r =5=
R R R log 2 SNR log 2 1024 10 bits/symbol
R 5 10 bits/symbol 50 bits/s/Hz Data rate = 50 bits/s/Hz 500 kHz = 25 Mbits/s The new d = 1 reduces robustness as follows : 1
PE SNR d 1024 103 16.7 Consider the DPC encoder equations and block diagram in Figures 16.46 and 16.49 for the four-user MIMO case, and Equations (16.82) through(16.89). Using these relationships gleaned from the LQ decomposition of the channel gain matrix H, develop similar equations and a DPC encoder block for a five-user case.
Answer
16-5
QUESTIONS 16.1 What information can a channel's eigenvalues tell us? How can the transmitter exploit this information in order to maximize the channel capacity? Answer The number of significant eigenvalues tells us the degree of diversity. The principal eigenvalue metric tells us the maximum possible beamforming gain. Such information allows the transmitter the ability to perform "water filling," a technique which finds an optimum-power allocation among the eigenvectors. Such techniques offer improvements over equal-power allocation. 16.2 OFDM technology has paved the way for MIMO and its multiplicative channels. Explain why dealing with fixed-frequency, steady-state sinusoids (no transients) allows us to change a convolutional channel into a multiplicative one (employing gain matrices). Answer DFT signal processing makes a sampled signal's spectrum appear periodic. Steady-state signals have had all transients removed. Once we've eliminated those transients, and made the signal appear periodic, we can benefit from the uniqueness of our basis functions (complex exponentials or sinusoids). The unique property of a sinusoidal waveform in a linear time invariant (LTI) system is that it can traverse a multipath channel without any changes in shape, only in magnitude and phase (gain changes). Thus narrow-band signals (sinusoids) can be easily equalized at the receiver with a simple scaling (handled multiplicatively). Thereby, the channel can be characterized with a Channel gain matrix H and can be described as a multiplicative channel rather than a convolutional one. 16.3 Describe the difference between diversity gain and coding gain. They each fight a different problem. Which is most useful for multipath? Which is useful for both AWGN channels and multipath channels? Answer In the context of received Eb/N0, diversity gain fights the battle of maximizing the numerator, capturing as much energy as possible by potentially using multiple domains such as time, frequency, space. Its effect provides a twist in the Pb versus Eb/N0 plot, the larger the diversity factor, the greater the twist and the steeper the plot. It is most useful when used to improve multipath performance.
16-6
Coding gain fights the battle of the noise (minimizing the effect of the Eb/N0 denominator) by using various well-known error-correction code types. Its effect provides a leftward shift in the Pb versus Eb/N0 plot, the larger the coding gain, the greater the shift. Coding gain is useful for both AWGN and multipath channels.
16.4 (a) Explain why MIMO exploits multipath instead of mitigating it. (b) It is well known and logical that line-of-sight (LOS) is the best arrangement for an AWGN channel using a SISO configuration. Explain (mathematically) why such a LOS arrangement would not operate at all for MIMO. Answer (a) MIMO's main beneficial attribute is its capability to produce extremely bandwidth-efficient systems, through its re-use of the same bandwidth. Just like spread-spectrum techniques use PN codes to separate different users, MIMO uses propagation signatures to do the same. A starting point for a good MIMO design is the presence of a rich multipath environment. (b) If a transmitted vector b is received over a channel as the vector x, that is if: x = H b, then the receiver can usually invert (equalize) the channel as follows: -1 b = H x But, if the various MIMO paths are highly correlated, so that the channel-gain matrix H would has a rank 1 with an appearance like:
1 1 1 H 1 1 1 then the solution is not possible because the matrix not invertible. 1 1 1 16.5 In the development of any new MIMO system or standard, what is the most fundamental tradeoff (about the service to users) that needs to be addressed? Answer Is it better to be quick, or is it better to be robust? There needs to be service provided to users who primarily want to maximize capacity. Similarly there needs to be service provided to users who primarily want to maximize robustness. And, there should be service for those wanting a healthy mix of the two.
16-7
16.6 What is the main feature about MIMO, so unique among wireless technology types, that gives rise to the name "game changer" in describing it? Hint: Think of those huge capacity values (40-50 bits/s/Hz) that MIMO can create. Answer Usually, we are dealing with fixed resources as measured by C = W log2 (1 + SNR) the Shannon capacity. With MIMO we are "in effect" creating new resources through our use of the added spatial dimension. The MIMO techniques have introduced a resourceful way to re-use spectrum multiple times. It deserves the name "game changer." 16.7 What major benefit can a constellation-extension field provide for a multiuser MIMO system? Answer Constellation extension fields allow for the transmitter to perform its decoding, such as successive interference cancelation (SIC) while keeping the transmit power as low as possible. This is accomplished by allowing the candidate message symbols to be methodically replicated to extension fields at increasingly longer distances in all directions from the original constellation. Thus the interference plays a part in choosing which extension field will represent the message. The choice brings the message symbol closer to the interferer and thereby guarantees a minimum power for the difference signal (message minus interferer). 16.8 Any receiver's major task to detect incoming messages correctly. Explain why the receiver's task is virtually the same (no more difficult) when a received symbol has values from an extension field instead of its original field. Answer With an extension field, the receiver initially detects a message symbol that is located either in the original field or in one of the extension fields. Since the message symbol's field location has a modulo relationship with its same-typesymbol in each of the other fields, it doesn't matter which copy is received. Modulo-arithmetic brings it back to its original constellation. For example consider a QPSK constellation where the original candidate-symbols in 2-space (starting upper right and moving clockwise) are: (+1, +1) (+1, -1) (-1, -1) (-1, +1). An example of these symbols replicated in one possible extension field could have values like: (5, 5) (5, 3) (3, 3) (3,5). Note that each symbol in this extended set example is modulo-4 related to each of its counterparts in the original constellation. If the symbol (+1, +1) had been sent, and the symbol (5, 5) had been 16-8
received, the receiver immediately knows with trivial modulo-4 circuitry that the received symbol is equal to (+1, +1) in the original constellation. 16.9 Convolutional channel: Given that a channel's impulse response hc(t) is equal to anything other than a weighted impulse A(t), explain why convolution is the required operation in order to compute the channel's output response for an input analog waveform. Answer: Any impulse response other than an ideal-impulse has memory, so its interaction with signal components will yield an output that can best be represented as the superposition of multiple sequences, seen in Equations (A.43) through (A.45). These equations and Figures A.10 and A.11 describe convolution. 16.10 Multiplicative channel: OFDM modulation techniques such as channel-gain matrices H paved the way for MIMO. (a) How can we change (trick) the channel into becoming a multiplicative channel, allowing us to perform analysis by simply multiplying (not convolving) a transmitted phasor by a channel-gain factor hij to obtain the equalized output. (b) How does the a transmitted symbol's bandwidth enter into the computation? Answer (a) We trick the channel by: 1. Using signals from the sampled-data domain yielding a periodic sampled data spectrum and a periodic sampled data sinusoid. 2. We employ a cyclic prefix which we learned from OFDM so that linear convolution becomes circular. 3. After the CP is discarded at the receiver, we are left with a steady-state sinusoidal response (no transients). (b) The signal BW is not an issue because the spectrum is periodic. Thus the sinusoidal symbol looks like it is infinite in time, and its BW = 0. 16.11 What are the benefits of a multiplicative channel compared to a convolutional channel? Answer The first benefit is that it is easier to implement the channel equalizer. In a multiplicative channel, equalizing (or inverting) the channel becomes a simple scaling compared to a more complex equalization in a convolutional channel. The second benefit is that we can apply linear algebra rules and solve simultaneous 16-9
equations to separate multiple signals using the same spectrum and time slots through different channels.
16.12 In a typical broadcast MU-MIMO system, where does the known interference stem from? Answer It comes from the downlink messages of the other users. These messages are of course known to the transmitter, since it was the transmitter that created them.
16-10
17 17.1
17-1
Chapter 17 Answers to Problems
The pages in Chapter 17 contain a mix of typeset and handwritten text. The handwritten text is comprised of updates and solutions new to this edition.
17.2
17.3
(17.5)
17-2
17.4
17.5
17-3
17.6
17.7
17.8
17-4
17.4
17-5
17.9
17-6
17.10
17-7
17.11
17
17-8
17.12
17.13
17-9
17.14
17-10
17-11
17.15 The public key of the recipient is y = ga mod n = 34 mod 17 = 13, and the message is encrypted as follows: y1 = gk mod n = 32 mod 17 = 9 y2 = M (yk mod n) = 7 (132 mod 17) = 7 16 = 112. The ciphertext pair is (9, 112). Decryption of this ciphertext yields the message, as follows: M = y2/(y1a mod n) = 112/(94 mod 17) = 112/16 = 7. 17.16 Subkeys: Z11 = 0003, Z21 = 0002, Z31 = 0003, Z41 = 0002, Z51 = 0003, Z61 = 0002, Z12 = 0003, and Z22 = 0002. M1 = 6E6F. M2 = M3 = M4 = 0000 1. M1 Z1 = 6E6F 0003 = 4B4C (modulo 216 + 1 multiplication). 2. M2 + Z2 = 0000 + 0002 = 0002. 3. M3 + Z3 = 0000 + 0003 = 0003. 4. M4 Z4 = 0000 0002 = 0000. 5. Result from steps (1) and (3) are XOR'ed: 4B4C XOR 0003 = 4B4F. 6. Result from steps (2) and (4) are XOR'ed: 0002 XOR 0000 = 0002. 7. Result from step (5) Z5: 4B4F 0x0003 = E1ED. 8. Results from steps (6) and (7) are added: 0002 + E1ED = E1EF. 9. Result from step (8) and Z6 are multiplied: E1EF 0002 = C3DD. 10. Results from steps (7) and (9) are added: E1ED + C3DD = A5CA (modulo 216). 17-12
11. Results from steps (1) and (9) are XOR'ed: 4B4C XOR C3DD = 8891. 12. Results from steps (3) and (9) are XOR'ed: 0003 XOR C3DD = C3DE. 13. Results from steps (2) and (10) are XOR'ed: 0002 XOR A5CA = A5C8. 14. Results from steps (4) and (10) are XOR'ed: 0000 XOR A5CA= A5CA. Thus, the output of the first round is: 8891 C3DE A5C8 A5CA.
17.17 From Section 17.5.3.1, d = 157, whose binary representation is: 10011101. We use the Square-and-Multiply technique for C11 = 2227, shown in the table below. We thus decrypt as in Section 17.5.3.1, which yields the plaintext M11 = (2227)157 modulo-2773 = 32 Row Number
0 1 2 3 4 5 6 7 8
Binary of d (MSB first)
1 0 0 1 1 1 0 1
17-13
Modulo multiplication (modulo 2773) 1 12 2227= 2227 22272 = 1405 14052 = 2422 24222 2227 = 2461 24612 2227 = 267 2672 2227 = 807 8072 = 2367 23672 2227 = 32