SAMPLING AND RECONSTRUCTION IN THE z-DOMAIN
5.2 SAMPLING AND RECONSTRUCTION IN THE z-DOMAIN
Let x(n) be an arbitrary absolutely summable sequence, which may be of infinite duration. Its z-transform is given by
X(z) =
x(m)z −m
m=−∞
and we assume that the ROC of X (z) includes the unit circle. We sample X(z) on the unit circle at equispaced points separated in angle by ω 1 =
2π/N and call it a DFS sequence,
X(k) ˜ △ = X(z)| z=e j 2π N k ,
k = 0, ±1, ±2, . . .
x(m)e −j N km =
x(m)W km N (5.15)
m=−∞
m=−∞
which is periodic with period N . Finally, we compute the IDFS of ˜ X(k),
x(n) = IDFS 5 ˜ 4˜ X(k)
which is also periodic with period N . Clearly, there must be a relationship between the arbitrary x(n) and the periodic ˜ x(n). This is an important issue. In order to compute the inverse DTFT or the inverse z-transform numerically, we must deal with a finite number of samples of X(z) around the unit circle. Therefore we must know the effect of such sampling on the time-domain sequence. This relationship is easy to obtain.
1 N −1 !
˜ x(n) =
X(k)W ˜ −kn N
x(m)W km
−kn
[from (5.15)]
N k=0 m=−∞
or
x(n) = ! ˜ x(m) W
1 N −1 !
−k(n−m)
x(m)
δ (n−m−rN )
N 0 m=−∞
x(m)δ(n − m − rN )
r=−∞ m=−∞
Chapter 5
THE DISCRETE FOURIER TRANSFORM
or ! ∞
x(n) = ˜
x(n − rN ) = · · · + x(n + N ) + x(n) + x(n − N ) + · · · (5.16)
r=−∞
which means that when we sample X(z) on the unit circle, we obtain a periodic sequence in the time domain. This sequence is a linear combina- tion of the original x(n) and its infinite replicas, each shifted by multiples of ±N . This is illustrated in Example 5.5. From (5.16), we observe that if x(n) = 0 for n < 0 and n ≥ N , then there will be no overlap or aliasing in the time domain. Hence we should be able to recognize and recover x(n) from ˜ x(n), that is,
x(n) = ˜ x(n) for 0 ≤ n ≤ (N − 1)
or
3 x(n), 0 ≤ n ≤ N − 1 ˜
x(n) = ˜ x(n)R N (n) =
else
where R N (n) is called a rectangular window of length N . Therefore we have the following theorem.
THEOREM 1
Frequency Sampling
If x(n) is time-limited (i.e., of finite duration) to [0, N − 1], then N samples of X(z) on the unit circle determine X(z) for all z.
EXAMPLE 5.4
Let x 1 (n) = {6 , 5, 4, 3, 2, 1}. Its DTFT X 1 (e jω ) is sampled at
2πk
, k = 0, ±1, ±2, ±3, . . .
to obtain a DFS sequence ˜ X 2 (k). Determine the sequence ˜ x 2 (n), which is the
inverse DFS of ˜ X 2 (k).
Solution Without computing the DTFT, the DFS, or the inverse DFS, we can evaluate
x ˜ 2 (n) by using the aliasing formula (5.16). ! ∞
Thus x(4) is aliased into x(0), and x(5) is aliased into x(1). Hence
˜ x 2 (n) = {. . . , 8, 6, 4, 3, 8 , 6, 4, 3, 8, 6, 4, 3, . . .}
Sampling and Reconstruction in the z -Domain 151
EXAMPLE 5.5 Let x(n) = (0.7) n u(n). Sample its z-transform on the unit circle with N = 5,
10, 20, 50 and study its effect in the time domain.
Solution
From Table 4.1 the z-transform of x(n) is
X(z) =
We can now use MATLAB to implement the sampling operation
X(k) = X(z)| ˜ z=e j2πk/N , k = 0, ±1, ±2, . . .
and the inverse DFS computation to determine the corresponding time-domain sequence. The MATLAB script for N = 5 is as follows.
>> N = 5; k = 0:1:N-1; % sample index >> wk = 2*pi*k/N; zk = exp(j*wk);
% samples of z >> Xk = (zk)./(zk-0.7);
% DFS as samples of X(z) >> xn = real(idfs(Xk,N));
% IDFS
>> xtilde = xn’* ones(1,8); xtilde = (xtilde(:))’; % Periodic sequence >> subplot(2,2,1); stem(0:39,xtilde);axis([0,40,-0.1,1.5]) >> xlabel(’n’); ylabel(’xtilde(n)’); title(’N=5’)
The plots in Figure 5.3 clearly demonstrate the aliasing in the time domain, especially for N = 5 and N = 10. For large values of N the tail end of x(n)
xtilde(n) 0.5 xtilde(n) 0.5
xtilde(n) 0.5 xtilde(n) 0.5
FIGURE 5.3 Plots in Example 5.5
Chapter 5
THE DISCRETE FOURIER TRANSFORM
is sufficiently small to result in any appreciable amount of aliasing in practice. Such information is useful in effectively truncating an infinite-duration sequence prior to taking its transform.
5.2.1 THE z-TRANSFORM RECONSTRUCTION FORMULA Let x(n) be time-limited to [0, N − 1]. Then from Theorem 1 we should
be able to recover the z-transform X(z) using its samples ˜ X(k). This is given by
X(z) = Z [x(n)] = Z [˜ x(n)R N (n)]
= Z[ IDFS{
X(k) ˜
}R N (n)]
Samples of X(z)
This approach results in the z-domain reconstruction formula.
N −1 !
X(z) =
x(n)z −n
= ! x(n)z ˜ −n
N −1
N −1 3 ! 6 N −1
X(k)W ˜ −kn z −n N
0 N 0 N −1
3 N −1
X(k) ˜
! X(k) ; W −k
X(k) ˜
1−W k=0 −k N z −1
Since W −kN N = 1, we have
1−z N −1 −N !
X(k) ˜
X(z) =
k=0 1−W −k N z −1
5.2.2 THE DTFT INTERPOLATION FORMULA The reconstruction formula (5.17) can be specialized for the discrete-time Fourier transform by evaluating it on the unit circle z = e jω . Then
1−e −jωN N −1 !
X(k) ˜
j2πk/N −jω
N −1 !
1−e −jωN
X(k) ˜ =
N 1−e j2πk/N e −jω >
k=0
Sampling and Reconstruction in the z -Domain
Consider 1−e 2π −jωN k 1−e −j(ω− N )N
1−e @
N ? j2πk/N e −jω >=
N 1−e −j(ω− 2π N k )
4 e 5 −j N 2 (ω− 2π N k ) 3 6 sin (ω − 2πk ) N
e − 2 1 j(ω− 2π N k )
4 2πk 1 N sin 5 (ω − N ) 2
Let
△ ω sin( N ) = N −1 2 ω e −jω( 2 Φ(ω) ) : an interpolating function
N sin( 2 ) Then
N −1 !
X(e jω )=
X(k)Φ ˜ ω
This is the DTFT interpolation formula to reconstruct X(e jω ) from its samples ˜
X (k). Since Φ(0) = 1, we have that X(e j2πk/N )=˜ X(k), which means that the interpolation is exact at sampling points. Recall the
time-domain interpolation formula (3.33) for analog signals:
x a (t) =
x(n) sinc [F s (t − nT s )]
n=−∞
The DTFT interpolating formula (5.19) looks similar.
However, there are some differences. First, the time-domain formula (5.20) reconstructs an arbitrary nonperiodic analog signal, while the frequency-domain formula (5.19) gives us a periodic waveform. Second, in (5.19) we use a sin(N x) N sin x interpolation function instead of our more familiar
(sinc) function. The Φ(ω) function is a periodic function and hence is known as a periodic-sinc function. It is also known as the Dirichlet function. This is the function we observed in Example 5.2.
sin x
5.2.3 MATLAB IMPLEMENTATION The interpolation formula (5.19) suffers the same fate as that of (5.20)
while trying to implement it in practice. One has to generate several inter- polating functions (5.18) and perform their linear combinations to obtain the discrete-time Fourier transform X(e jω ) from its computed samples X(k). Furthermore, in MATLAB we have to evaluate (5.19) on a finer grid ˜ over 0 ≤ ω ≤ 2π. This is clearly an inefficient approach. Another approach is to use the cubic spline interpolation function as an efficient approxi- mation to (5.19). This is what we did to implement (5.20) in Chapter 3. However, there is an alternate and efficient approach based on the DFT, which we will study in the next section.
Chapter 5
THE DISCRETE FOURIER TRANSFORM