Data Detection for Controlled ISI *Symbol by symbol suboptimum detection For the duobinary signal pulse h(nt) = 1 for n=0,1 and zero otherwise. The samples at the output of the receiving filter(demodulator) have the form y m = B m + v m = a m + a m-1 +v m where { a m } is the transmitted sequence of amplitudes and { v m } is a sequence of additive gaussian noise samples. If the noise contribution is ignored if a m = 1 with equal probability then B m = { -2,0,2} with probab. 1/4,1/2,1/4. If a m-1 is the detected symbol from the (m-1) th signaling interval, its effect on B m (received signal in the m th signaling interval) can be eliminated by subtraction, thus allowing am to be detected. * The major problem with this procedure is that errors arising from the additive noise tend to propagate. For example if a m-1 is in error its effect on B m is not eliminated but, in fact it is reinforced by the incorrect subtraction. Consequently the detection of Bm is also liely to be in error. *Error propagation can be avoided by precoding the data at the transmitter instead of eliminating the controlled ISI by subtraction at the receiver. The precoding is performed on the binary data sequence prior to modulation. From the data sequence {D n } of 1 s and 0 s that is to be transmitted, a new sequence {P n } called the precoded sequence is generated. *For the duobinary signal, the precoded sequence is defined as P m = D m P m-1 m=1,2,... where denotes modulo 2 addition. Then we set a m = -1 if P m = 0 and a m =1 if P m =1. i.e. a m = 2P m - 1 Noise free samples at the output of the receiving filter are given by 90
B m = a m + a m-1 = (2P m -1) + (2P m-1-1) = 2(P m + P m-1-1) P m + P m-1 = 1/2 B m + 1 since D m = P m P m-1 it follows that D m = 1/2 B m + 1 (mod 2) Thus if B m = 2 then D m = 0 and if B m = 0 then D m = 1. In the presence of additive noise the sampled outputs from the receiver are given by y m = B m + v m This can be compared with two threshold set at +1 and -1. The data sequence {D n } is obtained according to the detection rule D m = 1 ( ym 1) 0 ( ym 1) E.g. Binary signaling with duobinary pulses ( no noise) Sequences Data D m 1 0 1 1 0 1 0 0 1 0 1 1 1 0 Precoded P m 0 1 1 0 1 1 0 0 0 1 1 0 1 0 0 = (D m -P m-1 )mod 2 Transmitted a m -1 1 1-1 1 1-1 -1-1 1 1-1 1-1 -1=2P m -1 Received B m 0 2 0 0 2 0-2 -2 0 2 0 0 0-2=a m +a m-1 Decoded D m 1 0 1 1 0 1 0 0 1 0 1 1 1 0 =(1/2* B m +1) mod 2 *The extension from binary PAM to multilevel PAM signaling using the duobinary pulses is straightforward. In this case the M-level amplitude sequence {a m } results in a noise free sequence B m = a m + a m-1, m=1,2,... 91
which has 2M-1 possible equally spaced levels. The amplitude levels are determined from the relation a m = 2P m - (M-1) where P m = D m (M-1)P m-1 (mod M) the possible values of {D m } are 0,1,2,...M-1. In the absence of noise, the samples at the receiving filter may be expressed as B m = a m + a m-1 = 2[P m + P m-1 - (M-1)] Hence P m + P m-1 = 1/2 B m + (M-1) Since D m = P m + P m-1 (mod M) it follows that D m = 1/2 B m + (M-1) (mod M) In the presence of noise, the received signal plus noise is quantized to the nearest of the possible signal levels and the rule given above is used on the quantized values to recover the data sequence. E.g. Four level signaling with duobinary pulses ( no noise) Sequences Data D m 1 0 2 3 0 2 1 0 3 1 1 2 1 0 Precoded P m 0 1 3 3 0 0 2 3 1 2 3 2 0 1 3 =D m -P m-1 mod 4 Transmitted a m -3-1 3 3-3 -3 1 3-1 1 3 1-3 -1 3 =2P m -3 Received B m -4 2 6 0-6 -2 4 2 0 4 4-2 -4 2 =a m -a m-1 Decoded D m 1 0 2 3 0 2 1 0 3 1 1 2 1 0 =1/2*B m +3 mod 4 In the case of modified duobinary pulse, the controlled ISI is specified by the values h(n/2w) = -1 for n=1, h(n/2w) = 1 for n=-1 and zero otherwise. Thus noise free sampled output can be given as B m = a m - a m-2 P m = D m + P m-2 (mod M) 92
It can be shown that D m = 1/2 B m (mod M) Therefore as shown above, the precoding of the data at the transmitter maes it possible to detect the received data on a symbol by symbol basis without having to loo at previously detected symbols. Hence error propagation is avoided. The symbol by symbol detection rule described above is not the optimum detection scheme for PR signals due to the memory inherent in the received signal. Nevertheless, symbol by symbol detection is easy to implement and is used in many practical applications involving duobinary and modified duobinary pulse signals. Signal Design for Channels with Distortion * In the earlier analysis we assumed that the channel is ideal,i.e., C(f) = 1 for f W Here it is not ideal and the response C(f) is nown. The criterion is the maximization of the SNR at the output of the demodulation filter or equivalently at the input to the detector. For the signal component at the o/p of the demodulator we must satisfy G T (f)c(f)g R (f) = H d (f) e -j2fto, f W where H d (f) is the desired frequency response of the cascade and t o is the necessary time delay required to ensure the physical realizability of the modulation and demodulation filters. For combined frequency response of a raised cosine H rc (f) with zero ISI it can be shown that when the additive noise at the input to the demodulator is WGN, G R (f) = K H rc( f ) 1 C( f ) 1/2 1/2 G T (f) = K H rc( f ) 2 C( f ) 1/2 1/2, f W, f W K 1,K 2 are arbitrary scale factors. _and the phase characteristics satisfy T ( f ) c( f ) R( f ) 2 ft0 93
Optimum Receiver for Channels with ISI and AWGN * Objective is to derive the optimum demodulator and detector for digital transmission through a non ideal bandlimited channel with additive Gaussian noise. Maximum-Lielihood Sequence Estimation of Digital Sequences in the Presence of Intersymbol Interference Paper by G. David Forney, IEEE Trans. on Information Theory, pp. 363-378 Vol IT-18, No.3, 1972 The simplest model if a digital communication system subject to ISI occurs in PAM illustrated in Fig.1. Noise n(t) i/p x0, x1,x2.. Channel Filter h(t) Signal s(t) + r(t)=s(t)+n(t) A sequence of real numbers x drawn from a discrete alphabet passes through a linear channel whose impulse response h(t) is longer than the symbol separation T, and the filtered signal s(t) = x h( t T) is corrupted by white Gaussian noise n(t) to give a received signal r(t) = s(t) + n(t) Note: h(t) of finite duration (FIR) is considered. Definitions: We use the PAM model of Fig.1 The inputs x are assumed to be equally spaced and scaled and biased to be integers in the range 0 x m-1; they are assumed to start at time =0 and to continue until =K, where K may be infinite. 94
With the input sequence we associate the formal power series in the delay operator D ( D-transform D Z -1 ) x(d) x 0 + x 1 D + x 2 D 2 +... (1) which will be referred to as the input sequence. The channel is characterized by a finite impulse response h(t) of L symbol intervals;i.e., L is the smallest integer such that h(t) = 0 for t > LT. The response h(t) is assumed to be square-integrable, We define h 2 2 h ( t ) dt (2) h () (t) h(t - T) (3) and use the inner-product notation in which [a(t),b(t)] a( t) b( t) dt (4) Then the pulse autocorrelation coefficients of h(t) are R - [h () (t), h ( ) (t) ] = h( t T) h( t ' T) dt ' L 1 0 ' L (5) We define the pulse autocorrelation function of h(t) as R(D) R D (6) where L - 1 is called the span of h(t). The response h(t) may be regarded as a sequence of L chips h i (t), 0 i where h i (t) is a function that is nonzero only over the interval [0,T); i.e., h(t) = h 0 (t) + h 1 (t - T) +...+ h (t - T) (7) 95
Then it is natural to associate with h(t) the chip D-transform i h(d,t) h ( t) D (8) i0 i which is a polynomial in D of degree with coefficients in the set of functions over [0,T). It is can be verified that (show this!!) the chip D-transform has the following properties. 1) The pulse autocorrelation function is given by R(D) = [h(d,t),h(d -1,t)] = h( D, t) h( D, t) dt T 0 1 (9) 2) A transversal filter is a filter with a response g(t) = gi( t it) (10) i foe some set of coefficients g i. This response is not square integrable, but we assume that 2 the coefficients g i are square summable,. We say a transversal filter g(t) is characterized by g(d) if i g i g(d) = i g i D (11) i The chip D-transform g(d,t) of a transversal filter is g(d,t) = g(d)(t) (12) 3) The cascade of a square-integrable filter with response g(t) and a transversal filter characterized by a square summable f(d) is a filter with square integrable response h(t), chip D-transform and pulse autocorrelation function The signal s(t) is defined as h(d,t) = f(d)g(d,t) (13) R hh (D) = f(d)f(d -1 )R gg (D) (14) 96
K K ( ) s(t) xh( t T) xh ( t) 0 0 (15) The received signal r(t) is s(t) plus white Gaussian noise n(t). * It is well nown that in the detection of signals that are linear combinations of some finite set of square-integrable basis functions h () (t), the output of a ban of matched filters, one matched to each basis function, form a set of sufficient statistics for estimating the coefficients. Thus the K+1 quantities a = [ r(t), h () (t) ] = r( t) h( t T) dt 0 K (16) form a set of sufficient statistics for estimation of the x, 0 K, when K is finite. But these are simply the sampled outputs of a filter h(-t) matched to h(t). Thus the following proposition can be stated. Proposition1: When x(d) is finite, the sampled outputs a [defined by (16)] of a filter matched to h(t) form a set of sufficient statistics for estimation of the input sequence x(d). Note: This property does not depend on x(d) being finite. Since the matched filter is linear and its sampled outputs can be used without loss of optimality, any optimal linear receiver must be expressible as a linear combination of the sampled matched filter outputs a. Corollary: For any criterion of optimality, the optimum linear receiver is expressible as the cascade of a matched filter and a (possibly time-varying) transversal filter. The whitened Matched Filter (WMF) Define the matched-filter output sequence as 97
Since a(d) = K 0 a D (17) a = [ r(t), h () (t) ] = x [ h ( t), h ( t)] [ n( t), h ( t)] ' ' ( ') ( ) ( ) we have = x R n (18) ' ' ' ' a(d) = x(d)r(d) + n (D) (19) Here n (D) is zero-mean colored Gaussian noise with autocorrelation function 2 R(D), since ' ' nn' dtd n( t) n( ) h( t T) h( ' T) = 2 R - (20) where 2 is the spectral density of noise n(t), so that E[n(t)n()] = 2 t-). Since R(D) is finite with 2 + 1 nonzero terms, it has 2 complex roots; further since R(D) = R(D -1 ), the inverse -1 of any root is also a root of R(D), so the roots brea up into pairs. Then if f (D) is any polynomial of degree whose roots consist of one root from each pair of roots of R(D), R(D) has the spectral factorization R(D) = f (D)f (D -1 ) (21) We can generalize (21) slightly by letting f(d) = D n f (D) for any integer delay n; then R(D) = f(d)f(d -1 ) (22) Now let n (D) be zero mean white Gaussian noise with autocorrelation function 2 ; we can represent the colored noise n (D) by n (D) = n(d)f(d -1 ) (23) since n (D) then has the autocorrelation function 2 f(d -1 )f(d) = 2 R(D) and zero mean Gaussian noise is entirely specified by its autocorrelation function. Consequently we may write (19) as 98
a(d) = x(d)f(d)f(d -1 ) + n(d)f(d -1 ) (24) This suggests that we simply divide out the factor f(d -1 ) formally to obtain a sequence in which the noise is white. z(d) = a(d)/f(d -1 ) = x(d)f(d) + n(d) (25) When f(d -1 ) has no roots on or inside the unit circle, the transversal filter characterized by 1/f(D -1 ) is actually realizable in the sense that its coefficients are square summable. Then the sequence z(d) of (25) can actually be obtained by sampling the outputs of the cascade of a matched filter h(-t) with a transversal filter characterized by 1/(f(D -1 ) (with whatever delay is required to assure causality). * We call such a cascade a whitened matched filter. Thus if the a filter w(t) represented by the chip D-transform w(d,t) 1 f D h ( ( ) D, t ) (26) its time reversal w(-t) can be used as a WMF in the sense that its sampled outputs z = r( t) w( t T) dt (27) satisfy (25) with n(d) a white Gaussian noise sequence. It can be shown that the set of functions w(t - T) is orthonormal. [ R ww (D) = 1] Finally the set of functions is a basis for the signal space since the signals s(t) have chip D-transforms s(d,t) = x(d)h(d,t) = x(d)f(d)w(d,t) (28) so that s(t) = y w( t T) (29) where the signal sequence y(d) is defined as y(d) x(d)f(d) (30) 99
We note that only K + + 1 of the y are nonzero. Theorem: Let h(t) be finite with span and let f(d)f(d -1 ) be any spectral factorization of R hh (D). Then the filter whose chip D transform is w(d,t) = h(d,t)/f(d) has square integrable impulse response w(t)and the sampled outputs z of its time reverse form a sequence z = r( t) w( t T) dt (31) z(d) = x(d)f(d) + n(d) (32) in which n(d) is a white Gaussian noise sequence with variance 2 and which is a set of sufficient statistics for estimation of the input sequence x(d). Discrete-Time Model x(d) D D D f0 f1 f2 fv y(d) The signal sequence y(d) = x(d)f(d) (33) 100
is the convolution of the input sequence x(d) with the finite impulse response f(d), whose autocorrelation function is R(D) = f(d)f(d -1 ). Without loss of generality we assume that f(d) is a polynomial of degree with f 0 0. The received sequence z(d) is the sum of the signal sequence y(d) and a white Gaussian noise sequence n(d) with autocorrelation function 2. The output signal to noise ratio is defined to be SNR y 2 / 2 = x 2 f 2 / 2 (34) where x 2 is the input variance [(m 2-1) /12] and f 2 2 f i i0 = R 0 (35) is the energy in the impulse response f(d). (If f(d) is derived from a continuous time response h(t), then f 2 = h 2 = R 0.) * It is crucial to observe that the signal sequence y(d) may be taen to be generated by a finite state machine driven by an input sequence x(d). We may imagine a shift register of m-state memory elements containing the most recent inputs, with y formed as a weighted sum of the shift register contents and the current input x as shown in the Figure. Clearly the machine has m states, the state at any time being given by the most recent inputs: where by convention x =0 for < 0. We define the state sequence s(d) as s (x -1,x -2,...,x - ) (36) s(d) s 0 + s 1 D + s 2 D 2 +... (37) where each state s taes on values from an alphabet of m states S j, 1 j m The maps from input sequences x(d) to state sequences s(d) and thence to signal sequences y(d) are obviously one to one and hence invertible. In fact two successive states uniquely determine an output y = y(s, s +1 ) (38) 101
i.e., given a transition from s to s +1, the corresponding output y is determined. An allowable state sequence s(d) or signal sequence y(d) is defined as one that could result from an allowable input sequence. Maximum-Lielihood Sequence Estimation (MLSE) Maximum-lielihood sequence estimation is defined as the choice of that x(d) for which the probability density p[z(d) x(d)] is maximum. Since we have permitted sequences to be semi-infinite, so that p[z(d) x(d)] may be zero for all x(d), some sort of limiting operation is implied. As the maps from x(d) to s(d) and to y(d) are one to one, MLSE can equivalently be defined as choosing from the allowable s(d) that which maximizes p[z(d) s(d)] or from the allowable y(d) that which maximizes p[z(d) y(d)]. Here we consider the problem of estimating the state sequence of a finite state machine from noisy observations. To construct the recursive estimation algorithm nown as the Viterbi Algorithm, we first use the fact that the noise terms n are independent. Then the log lielihood ratio ln p[z(d) s(d)] breas up into a sum of independent increments: ln p[z(d) s(d)] = ln p [ z y( s, s 1 )] (39) n where p n (.) is the probability density function (pdf) of each noise term n. For notational convenience we define the partial sums 2 1 [s(d)] 2 1 ln pn[ z y( s, s 1 )], 0 1 < 2 (40) 1 Suppose for the moment that we new that the state s at time was S j. Then for any allowable state sequence s(d) that starts with the nown initial state s 0 = 0 and passes through the state S j at time, the log lielihood would brea up into two independent parts: [s(d)] 0 K = [s(d)] 0 + [s(d)] K (41) 102
Let s j^(d) be the allowable state sequence from time 0 to that has maximum log lielihood [s(d)] 0 among all allowable state sequences starting with s 0 = 0 and ending with s = S j. We call s j^(d) the survivor at time corresponding to state S j. Then we assert that s j^(d) must be the initial segment of the ML state sequence s(d); for we can replace the initial segment s (D) of any allowable state sequence with greater log lielihood [s(d)] 0 K unless [s (D)] 0 = [s(d)] 0. In fact we do not now the state s at time ; but we do now that it must be one of the finite number of states S j, 1 j m of the shift register of the Figure. Consequently while we cannot mae a final decision as to the identity of the initial segment of the ML state sequence at time, we now that the initial segment must be among the m survivors s j^(d),1 j m one for each states j. Thus we need only store m sequences s j^(d) and their log lielihoods [s(d)] 0, regardless of how large becomes. * To update the memory at time +1 recursion proceeds as follows. 1) For each of the m allowable continuations s j (D) to time +1 of each of the m survivors s j^(d) at time compute [s j (D)] 0 +1 = [s j^(d)] 0 + ln p n [z - y (S j,s j )] (42) This involves m +1 = m L additions. 2) For each of the states S j, 1 j m compare the log lielihoods [s j (D)] 0 +1 of the m continuations terminating in that state and select the largest as the corresponding survivor. This involves m m-ary comparisons, or (m-1) m binary comparisons. The search can be easily understood by the trellis diagram of the finite state machine. In principle the Viterbi algorithm can mae a final decision on the initial state segment up to time - when and only when all survivors at time have the same initial state sequence segment upto time -. The decoding delay is unbounded but is generally finite with probability 1. In implementation one actually maes a final decision after some fixed delay, with chosen large enough that the degradation due to premature decisions is negligible (approx. 5). 103