


















































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Material Type: Assignment; Class: 332 - DIG SIG AND FILTERS; Subject: ELECTRICAL AND COMPU.; University: Rutgers University; Term: Unknown 1989;
Typology: Assignments
1 / 90
This page cannot be seen from the preview
Don't miss anything!
Using the trig identity 2 sin α sin β = cos(α − β)− cos(α + β), we find:
x(t) = cos( 5 πt)+4 sin( 2 πt)sin( 3 πt)= cos( 5 πt)+ 2 [cos(πt)− cos( 5 πt)]
= 2 cos(πt)− cos( 5 πt)
The frequencies in the signal are f 1 = 0 .5 and f 2 = 2 .5 kHz. The Nyquist interval is
[− 1. 5 , 1. 5 ] kHz, and f 2 lies outside it. Thus, it will be aliased with f 2 a = 2. 5 − 3 = − 0. 5
giving rise to the signal:
xa (t)= 2 cos( 2 πf 1 t)− cos( 2 πf 2 a t)= 2 cos(πt)− cos(−πt)= cos(πt)
A class of signals aliased with x(t) and xa (t) is obtained by replacing f 1 and f 2 by their
shifted versions: f 1 + mfs, f 2 + nfs resulting in:
xmn (t)= 2 cos(πt + 6 πmt)− cos(πt − 6 πnt)
We use the same technique as in the square-wave Example 1.4.6. At a sampling rate of 8 Hz,
the signal frequencies of
will be aliased with:
Therefore only sin( 2 πt) and sin( 6 πt) terms will appear in the aliased signal. Thus, we
write it in the form:
xa (t)= B sin( 2 πt)+C sin( 6 πt)
To determine B and C, we demand that xa (t) and x(t) agree at the sampling instants t =
nT = n/8, because T = 1 /fs = 1 /8 sec. Therefore, we demand
B sin( 2 πn/ 8 )+C sin( 6 πn/ 8 )= x(n/ 8 )
Setting n = 1 , 2, we get two equations
B sin( 2 π/ 8 )+C sin( 6 π/ 8 )= x( 1 / 8 )= 0. 5
B sin( 4 π/ 8 )+C sin( 12 π/ 8 )= x( 2 / 8 )= 1
1 √ 2
1 √ 2
The values for x( 1 / 8 ) and x( 2 / 8 ) were obtained by inspecting the triangular waveform.
Solving for B and C, we find:
4
4
For fs = 5 kHz, we have:
xa (t)= sin( 2 πf 1 t)
For fs = 10 kHz, we have:
xa (t)= 2 sin( 2 πf 1 t)+ sin( 2 πf 2 t)
Fig. 1.1 Parts (a,b) of Problem 1.8.
The audible and inaudible parts are:
x(t)= sin( 10 πt)+ sin( 20 πt) ︸ ︷︷ ︸ audible
The frequencies of the four terms and their aliased versions are:
fA = 5
fB = 10
fC = 30
fD = 45
fAa = 5
fBa = 10
fCa = 30 − 40 = − 10
fDa = 45 − 40 = 5
a. When there is no prefilter the aliased signal at the output of the reconstructor will be:
ya (t)= sin( 10 πt)+ sin( 20 πt)+ sin(− 20 πt)+ sin( 10 πt)= 2 sin( 10 πt)
Using the delta function integral representation:
∫ (^) ∞
−∞
e
− 2 πjf t dt = δ(f )
we find:
S(f ) =
−∞
s(t)e
− 2 πjf t dt =
1
T
m=−∞
−∞
s(t)e
− 2 πj(f −mf (^) s )t dt
1
T
m=−∞
δ(f − mfs )
We have for the complex sinusoid, the Laplace, Fourier, and magnitude spectra:
x(t)= e
−at e
2 πjf 0 t = e
−(a− 2 πjf 0 )t , t ≥ 0
X(s)=
1
s + a − 2 πjf 0
X(f )=
1
a + 2 πj(f − f 0 )
⇒ |X(f )|^2 =
1
a^2 + 4 π^2 (f − f 0 )^2
The length-L sampled signal x(nT)= e
−(a− 2 πjf 0 )nT , n = 0 , 1 ,... , L − 1 has spectrum:
X̂L (f ) =
n= 0
x(nT)e
n= 0
e
−(a+ 2 πj(f −f 0 ))nT
1 − e−(a+^2 πj(f^ −f^0 ))LT
1 − e−(a+^2 πj(f^ −f^0 ))T
with magnitude spectrum:
|X̂L (f )|
1 − 2 e
−aLT cos
2 π(f − f 0 )LT
− 2 aLT
1 − 2 e−aT^ cos
2 π(f − f 0 )T
In the limit L → ∞, we have e−aLT^ → 0 and obtain the sampled spectrum of the infinitely
long signal:
X(f )̂ =
n= 0
x(nT)e
1
1 − e−(a+^2 πj(f^ −f^0 ))T
with magnitude spectrum:
|X(f )̂ |^2 =
1
1 − 2 e−aT^ cos
2 π(f − f 0 )T
The continuous time limit T → 0 of X(f )̂ gives rise to the analog spectrum:
lim T→ 0
T X(f )̂ = lim T→ 0
1 − e−(a+^2 πj(f^ −f^0 ))T^
1
a + 2 πj(f − f 0 )
= X(f )
Fig. 1.3 shows the required spectra. From the left graph, we see that as fs increases, the
sampled spectrum agrees more closely with the analog spectrum within the Nyquist inter-
val. From the right graph, we see that the spectrum of the truncated sampled signal has
ripples that follow the general shape of X(f )̂. As L → ∞, the sampled spectrum X̂L (f ) will
tend to X(f )̂ , which is only an approximation of the true spectrum even within the Nyquist
interval.
Fig. 1.3 Spectra of analog, sampled, and windowed signals of Problem 1.13.
In the case of real-valued signals, we will also get the spectral peaks at the negative frequency
−f 0. If f 0 is small, the peaks at ±f 0 will influence each other somewhat, but apart from that
the same conclusions can be drawn about the sampled signals.
The first replica of Xin(f ), shifted to fs, will have spectrum:
|Xin(f − fs )| =
1 √ 1 +
Its value at the passband frequency fpass = fmax = 20 kHz will be:
|Xin(fmax − fs )| =
1 √
1 +
This must be suppressed by A = 60 dB relative to |Xin(fmax)|, thus, we require:
−10 log (^10)
Xin(fmax − fs )
Xin(fmax)
2
= A ⇒ 10 log (^10)
1 + ( 0. 1 fmax)^8
which can be solved for fs to give fs = 132 .52 kHz. Using the prefilter, we require that its
passband attenuation be Apass = 1 dB at fpass = fmax = 20 kHz, that is,
−10 log 10 |H(fmax)|
2 = 10 log (^10)
1 + (fmax/f 0 )
= Apass
which can be solved for f 0 to give f 0 = 25 .05 kHz. The prefiltered signal that gets sampled
is now
The passband condition at f = fmax = 20 kHz is:
10 log (^10)
1 + (fmax/f 0 )^2 N^
= Apass (1.3)
which can be solved for f 0 in terms of N as follows:
f
2 N 0 =^
f (^) max^2 N
r − 1
, where r = 10
Apass/ 10
The antialiasing condition, replacing Eq. (1.1), is now
10 log (^10)
(fmax − fs )/f 0
1 + (fmax/f 0 )^2 N^
1 + ( 0. 1 fmax)^8
or,
(fmax − fs )/f 0
1 + (fmax/f 0 )^2 N^
1 + ( 0. 1 fmax)^8
A/ 10
Replacing f 02 Nby its expression above, we obtain
(fmax − fs )/fmax
(r − 1 )
r
1 + ( 0. 1 fmax)^8
A/ 10
and solving for N, we have
ln
10 A/^10 rR(fs )− 1
r − 1
2 ln
f (^) s − fmax
fmax
where R(fs ) is defined by
R(fs )=
1 + ( 0. 1 fmax)^8
1 +
Eq. (1.4) gives the minimum prefilter order for a desired suppression level A and rate fs.
With fs = 70 kHz, A = 60 dB, Apass = 1 dB, we find
r = 10
Apass/ 10 = 10
A/ 10 R(fs )= 657. 918
and
ln( 3194. 281 )
2 ln( 50 / 20 )
We calculate also f 0 = fmax/(r − 1 )^1 /^2 N^ = 22 .9 kHz.
Figure 1.4 shows a plot of N given by Eq. (1.4) as a function of fs for different choices of A.
Notice the two data points on the A = 60 curve at fs = 70 and fs = 80 kHz that were
computed in this and the last example. It is evident from this graph that the complexity of
the prefilter increases with A, at any fixed fs; and that it decreases with fs, for fixed A.
Fig. 1.4 Butterworth order versus sampling rate.
The impulse response sequence is explicitly:
h = [ 4 , 3 , 3 ( 0. 5 ), 3 ( 0. 5 )
2 , 3 ( 0. 5 )
3 ,... ]
Replacing these values into the convolutional equation, we get:
yn = h 0 xn + h 1 xn− 1 + h 2 xn− 2 + h 3 xn− 3 + h 4 xn− 4 + · · ·
= 4 xn + 3
xn− 1 + 0. 5 xn− 2 + 0. 5
2 xn− 3 + 0. 5
3 xn− 4 + · · ·
It follows that:
Subtracting, we have:
yn − 0. 5 yn− 1 = 4 xn + 3 xn− 1 − 2 xn− 1 or,
yn = 0. 5 yn− 1 = 4 xn + xn− 1
We may write the given impulse response in the form:
h(n)= 5 δ(n)+ 6 ( 0. 8 )
n− 1 u(n − 1 )= [ 5 , 6 , 6 ( 0. 8 ), 6 ( 0. 8 )
2 ,... ]
Proceeding as in the previous problem we have:
yn = 5 xn + 6
xn− 1 + 0. 8 xn− 2 + 0. 8
2 xn− 3 + · · ·
2 xn− 3 + · · ·
which gives
yn − 0. 8 yn− 1 = 5 xn + 2 xn− 1
Moreover, with a change of variables of summation from m to k = m − 1 or m = k + 1, the
a-term is recognized to be ay(n − 1 ); indeed,
a
m
h(m − 1 )x(n − m)= a
k
h(k)x(n − k − 1 )= ay(n − 1 )
the last equation following from the convolution equation by replacing n by n − 1:
y(n)=
k
h(k)x(n − k) ⇒ y(n − 1 )=
k
h(k)x(n − 1 − k)
We finally find the I/O difference equation for y(n):
y(n)= ay(n − 1 )+b 0 x(n)+b 1 x(n − 1 )
which is exactly the same as that satisfied by h(n).
From the convolutional I/O equation we get:
|y(n)| = |
m
h(m)x(n − m)| ≤
m
|h(m)||x(n − m)| ≤
m
|h(m)|B = AB
Starting with
y(n)=
m
h(m)x(n − m)
we obtain at n = 0:
y( 0 )=
m
h(m)x(−m)
But, x(m)= sign
h(−m)
. Therefore, x(−m)= sign
h(m)
. It follows:
y( 0 )=
m
h(m)x(−m)=
m
h(m)sign
h(m)
Recognizing that in general xsign(x)= |x|, we find
y( 0 )=
m
|h(m)|
Because x(n) was bounded, y(n) and, hence y( 0 ), must be bounded. If at some m, h(m)=
0, then this term would not contribute to the convolutional sum.
Working with the convolutional I/O equation, we have:
yD (n) =
m
hD (m)x(n − m)=
m
h(m − D)x(n − m)
k
h(k)x(n − D − k)= y(n − D)
where we changed summation variables from m to k = m − D, and evaluated y(n) at n − D,
that is,
y(n)=
k
h(k)x(n − k) ⇒ y(n − D)=
k
h(k)x(n − D − k)
We have:
∑
m
hD (m)xA (n − m)=
m
h(m − D)x(n − m + D)=
k
h(k)x(n − k)
where we changed variables of summation from m to k = m − D.
Because ˜h(n) agrees with h(n) for n ≥ −D, we have:
y(n) =
m=−∞
h(m)x(n − m)
y(n) ˜ =
m=−D
h(m)x(n^ ˜ − m)=
m=−D
h(m)x(n − m)
Subtracting, the terms m ≥ −D cancel and we get:
y(n)−y(n)˜ =
m=−∞
h(m)x(n − m)
Assuming x(n) is bounded by A, we have:
|y(n)−y(n)˜ | = |
m=−∞
h(m)x(n − m)| ≤
m=−∞
|h(m)||x(n − m)| ≤
m=−∞
|h(m)|A
This summation is finite because it is a subsum of the stability condition:
m=−∞
|h(m)| ≤
m=−∞
|h(m)| < ∞
In the limit of large D, the number of terms shrinks to zero giving:
lim D→∞
m=−∞
|h(m)| → 0
The three subblocks begin at the absolute times n = 0 , 3 , 6, respectively. It follows from
time-invariance that the corresponding output blocks will also begin at the same absolute
times. Thus, aligning the output blocks according to their absolute timings and adding them
up gives the final result:
n 0 1 2 3 4 5 6 7 8 9 10
y 0 1 3 5 6 4 1
y 1 1 3 5 6 4 1
y 2 1 2 3 3 1
y 1 3 5 7 7 6 7 6 4 3 1
In practice this method is implemented efficiently by computing the individual block con-
volutions using the FFT instead of time-domain convolution. For an FIR filter of order M
and an FFT of length N (which is a power of two), the length of each x-block is chosen
to be N 1 = N − M. The computational gain of this “fast” convolution method versus the
conventional time-domain “slow” method is approximately
fast
slow
log 2 N
M
If the input is divided into length-5 subblocks, the last subblock will have length 3:
x = [ 1 , 2 , 1 , 1 , 2 ︸ ︷︷ ︸ x 0
x 1
The convolutions of the subblocks with the filter are:
y 0 = h ∗ x 0 = [ 1 , 3 , 5 , 7 , 7 , 5 , 5 , 2 ]
y 1 = h ∗ x 1 = [ 1 , 2 , 4 , 4 , 3 , 1 ]
Aligning them at multiples of n = 5, we have:
n 0 1 2 3 4 5 6 7 8 9 10
y 0 1 3 5 7 7 5 5 2
y 1 1 2 4 4 3 1
y 1 3 5 7 7 6 7 6 4 3 1
Figure 4.1 shows the filter, input, and computed output signals.
For the direct form, the indices of hm and xn−m are restricted to lie within their respective
ranges:
3 ≤ m ≤ 6
10 ≤ n − m ≤ 20
(4.1)
Solving the second with respect to n, we have:
10 + m ≤ n ≤ 20 + m
Using the first of Eq. (4.1), we extend the range to:
10 + 3 ≤ 10 + m ≤ n ≤ 20 + m ≤ 20 + 6 ⇒ 13 ≤ n ≤ 26
on steady off
Fig. 4.1 h(n), x(n), and y(n) signals of Problem 4.3.
This is the range of index n of the output yn. To find the limits of summation over m, we
change the sign of the second of Eq. (4.1) and solve for m:
− 20 ≤ m − n ≤ − 10 ⇒ n − 20 ≤ m ≤ n − 10
Thus, the inequalities in Eq. (4.1) are equivalent to
3 ≤ m ≤ 6
n − 20 ≤ m ≤ n − 10
⇒ max( 3 , n − 20 )≤ m ≤ min( 6 , n − 10 )
The final expression for the direct form will be:
yn =
min( (^6) ∑,n− 10 )
m=max( 3 ,n− 20 )
hm xn−m , for 13 ≤ n ≤ 26
The transition from the input-on transients to the steady state takes place at time 6 = n− 10
or n = 16 at which the upper limit switches from n − 10 to 6. Similarly, the transition from
steady state to the input-off transients occurs at 3 = n − 20 or n = 23 when the lower limit
switches from 3 to n − 10. In summary, the three ranges are:
input-on: 13 ≤ n ≤ 15 yn =
n∑− 10
m= 3
hm xn−m
steady-state: 16 ≤ n ≤ 23 yn =
m= 3
hm xn−m
input-off: 24 ≤ n ≤ 26 yn =
m=n− 20
hm xn−m
In particular, if the filter and input signals are unity over the ranges (4.1), the output can be
expressed compactly as:
y(n)=
∑^ n
m=max( 0 ,n−L+ 1 )
a
m · 1
Using the geometric series identity
m=M 1
a
aM^1 − aM^2 +^1
1 − a
we find:
y(n)=
amax(^0 ,n−L+^1 )^ − an+^1
1 − a
In particular, for 0 ≤ n ≤ L − 1, we have max( 0 , n − L + 1 )= 0, and
y(n)=
1 − an+^1
1 − a
(input-on transients and steady state)
whereas for n ≥ L, we have max( 0 , n − L + 1 )= n − L + 1, and
y(n)=
a
n−L+ 1 − a
n+ 1
1 − a
= a
n−L+ 1 1 −^ a
L
1 − a
= a
n−L+ 1 y(L − 1 ), (input-off)
Thus, after the input is turned off, the output decays exponentially to zero.
From the previous problem, we have at n = 0,
y( 0 )−ay(− 1 )=
1 − a
0 + 1
1 − a
− a · 0 = 1 = x( 0 )
Then, for 1 ≤ n ≤ L − 1, we have x(n)= 1 and
y(n)−ay(n − 1 )=
1 − an+^1
1 − a
− a
1 − an
1 − a
1 − an+^1 − a + an+^1
1 − a
= 1 = x(n)
Finally, for n ≥ L, we have x(n)= 0 and
y(n)−ay(n − 1 )= an−L+^1 yL− 1 − aan−^1 −L+^1 yL− 1 = 0 = x(n)
Figure 4.2 shows the contents of the registers w = [w 0 , w 1 , w 1 ] at successive time instants.
Each time the circular pointer p = pin points to the w-register that receives the current
input, whereas the pointer pout points to the w-register containing the current output, that
is, y(n)= x(n − 2 ). Therefore, pout is shifted clockwise by 2 with respect to pin :
pout = pin + 2 (modulo 3)
As pin gets decremented circularly, so does pout. If pin points to w[qin] and pout to w[qout],
then
pin = w + qin
pout = w + qout
where
qout = (qin + 2 )% 3
Thus, the input and output circular indices take on the sequence of values:
qin = 0 , 2 , 1 , 0 , 2 , 1 , 0 , 2 , 1 , 0 , 2
qout = 2 , 1 , 0 , 2 , 1 , 0 , 2 , 1 , 0 , 2 , 1
Fig. 4.2 Circular delay-line buffer contents.
The following table lists the contents of w for both the linear and circular buffer implemen-
tations. In the linear case, w 0 , w 1 and w 2 are simply the input signal delayed by i = 0 , 1 , 2
units.
In the circular case, the down-arrow indicates the w-register receiving the current input,
that is, w[qin], whereas the up-arrow indicates the corresponding output sample, that is,
w[qout]. In the circular case, only one w-register changes value at each time instant.
6 − 3 z−^1 − 2 z−^2
1 − 0. 25 z−^2
z= 0
6 z^2 − 3 z − 2
z^2 − 0. 25
z= 0
6 − 3 z−^1 − 2 z−^2
1 + 0. 5 z−^1
z= 0. 5
6 − 3 z−^1 − 2 z−^2
1 − 0. 5 z−^1
z=− 0. 5
For the first ROC, |z| > 0 .5, the last two terms will be inverted causally:
x(n)= Aδ(n)+B( 0. 5 )
n u(n)+C(− 0. 5 )
n u(n)
For the second ROC, |z| < 0 .5, the two terms will be inverted anticausally:
x(n)= Aδ(n)−B( 0. 5 )
n u(−n − 1 )−C(− 0. 5 )
n u(−n − 1 )
As expected, only the first inverse is stable because its ROC contains the unit circle.
c. The degree of the numerator is strictly greater than the degree of the denominator.
The simplest approach in such cases is to use the “remove/restore” method, that is,
ignore the numerator completely, do a partial fraction on the denominator, get its
inverse z-transform, and finally restore the effect of the numerator. To show these
steps, write
X(z) =
6 + z−^5
1 − 0. 64 z−^2
= ( 6 + z
− 5 )·
1
1 − 0. 64 z−^2
≡ ( 6 + z
− 5 )W(z)= 6 W(z)+z
− 5 W(z)
In the time-domain, we have then
x(n)= 6 w(n)+w(n − 5 )
Thus, the problem is reduced to the problem of finding w(n). Doing a partial fraction expansion on W(z), we find
W(z)=
1
1 − 0. 64 z−^2
1
( 1 − 0. 8 z−^1 )( 1 + 0. 8 z−^1 )
1 − 0. 8 z−^1
1 + 0. 8 z−^1
where A = B = 0 .5. For the ROC |z| > 0 .8, the two terms are inverted causally:
w(n)= A( 0. 8 )n^ u(n)+B(− 0. 8 )n^ u(n)
Inserting in x(n)= 6 w(n)+w(n − 5 ), we find
x(n) = 6 A( 0. 8 )
n u(n)+ 6 B(− 0. 8 )
n u(n)+A( 0. 8 )
n− 5 u(n − 5 )
Note that the last two terms are active only for n ≥ 5. For the ROC |z| < 0 .8, we have
the anticausal/unstable answer:
w(n)= −A( 0. 8 )
n u(−n − 1 )−B(− 0. 8 )
n u(−n − 1 )
which gives for x(n):
x(n) = − 6 A( 0. 8 )
n u(−n − 1 )− 6 B(− 0. 8 )
n u(−n − 1 )
− A( 0. 8 )n−^5 u(−n + 4 )−B(− 0. 8 )n−^5 u(−n + 4 )
The u(−n + 4 ) was obtained as u(−(n − 5 )− 1 ). Note also that the last two terms are
now active for −n + 4 ≥ 0 or n ≤ 4, that is, x(n) has a slightly causal part extending
to the right up to n = 4. This happened because the strictly anticausal signal w(n)
was delayed (shifted to the right) by 5 time units by the term w(n − 5 ).
d. The minor new feature of this problem is that the poles are complex-valued. When
the poles are complex, they come in conjugate pairs. In this case, the correspond-
ing residues are complex conjugates, too. Thus, only half of the residues need be
computed:
X(z) =
10 + z
− 2
1 + 0. 25 z−^2
10 + z
− 2
( 1 − 0. 5 jz−^1 )( 1 + 0. 5 jz−^1 )
1 − 0. 5 jz−^1
∗
1 + 0. 5 jz−^1
Again, the A-term is needed because the degrees of numerator and denominator poly-
nomials are equal. We find
10 + z−^2
z= 0
10 z^2 + 1
z^2 + 0. 25
z= 0
1
10 + z−^2
1 + 0. 5 jz−^1
z= 0. 5 j
We only needed to calculate B, and use B∗^ for the conjugate pole. For the causal case,
we have
x(n)= Aδ(n)+B( 0. 5 j)n^ u(n)+B∗(− 0. 5 j)n^ u(n)
Now, because the last two terms are complex conjugates of each other, we may use
the general identity 2Re(z)= z + z∗^ to write
B( 0. 5 j)
n u(n)+B
∗ (− 0. 5 j)
n u(n)= 2Re[B( 0. 5 j)
n u(n)]= 6 ( 0. 5 )
n Re[j
n ]u(n)
But, Re[j n^ ]= Re[ejπn/^2 ]= cos(πn/ 2 ) Thus,
B( 0. 5 j)n^ u(n)+B∗(− 0. 5 j)n^ u(n)= 6 ( 0. 5 )ncos(πn/ 2 )u(n)
and the final result is
x(n)= 4 δ(n)+ 6 ( 0. 5 )ncos(πn/ 2 )u(n)
For the anticausal case, we obtain the anticausal version of the second term, namely,
x(n)= 4 δ(n)− 6 ( 0. 5 )
n cos(πn/ 2 )u(−n − 1 )