Description
1. The waveforms h (t), x (t) are shown in Figure 1. Use the áip and slide method to
compute and sketch y = h x. Draw several sketches indicating the ìáip and slideî
action, where x (t) is the one being áipped and slid. Note: You can just Önd the values
at “boundary points” and connect them with piecewise linear segments, as discussed
in class.
2. The discrete-time signals h; x are given as follows:
h = f2; 3; 4; 2; 5g x = f3; 4; 5; 1; 2g
where the underscore denotes n = 0. Let y = h x. DO NOT COMPUTE ALL y
EXCEPT AS NOTED BELOW.
(a) Specify the length and support of h; x and y.
(b) In MATLAB represent a Önite duration discrete time vector with a pair of variables: the data values in a row vector, and a separate variable that indicates the
start time (i.e., the time index n for the Örst entry in the vector). Then write code
to use a stem plot to graph such a function (with the time axis labeled properly).
Use the MATLAB conv function to convolve these objects, but also to compute
the start time of the result.
(c) Use your code to sketch h; x; and y as three subplots, with time axes labeled
properly.
(d) BY HAND compute y [1] as a sum of h [?]x [?] terms (clearly indicate the indices),
and then evaluate. Also, (by hand) draw a sketch illustrating how you would use
“áip and slide” to compute y [1].
3. Noble Identities for Multirate Processing
The two basic operations in multirate digital signal processing are decimation (downsampling) and upsampling. For an integer M 2, deÖne decimation by M, denoted
y = (# M) x, as y [n] = x [Mn]. That is, we keep one out of every M samples of x, and
discard the rest. Upsampling by M, denoted y = (” M) x, means y [Mn] = x [n] and
y [n] = 0 if n is not an integer multiple of M. That is, the samples x are spread apart
by a factor of M, with 0 insertion. For example, (” 2) x is nonzero only at even times.
Note that M is called the ìdecimation factorî for both (” M) and (# M).
The notation y = Hx is used to denote an LTI operation, i.e., y = h x. In general,
decimation and upsampling are time-varying, so they cannot be interchanged with each
other, or LTI operations. However, there is an important result related to the idea of
interchanging such operations. They are called the Noble identities.
The notation AB means apply B Örst then A, for example: y = ABx = A(Bx).
1
Assume h = (” M) g. SpeciÖcally, this means h [n] = 0 if n is not an integer multiple
of M. Then the Noble identities are:
(# M) H = G (# M)
H (” M) = (” M) G
For simplicity in this problem, all signals are assumed to start at n = 0, and you can
assume in your MATLAB code a signal is represented as a row vector with Örst entry
corresponding to n = 0. (In particular, if say x [0] = 0, then the MATLAB vector
x = [0 ).
(a) Write MATLAB functions called dec and ups (note: DO NOT USE THE MATLAB FUNCTION decimate or others, write your own) that will decimate and
upsample signals; each function should not require more than a line or two of
code.
(b) Take g = f2; 1; 3; 4g with support f0 n 3g, and h = (” 4) g. Generate x as a
vector of length 10, comprised of random integers in the range 2 to 2, assuming
support f0 n 9g. On three subplots, obtain stem plots of g; h; x.
(c) Compute (# 4) (” 4) x, and (” 4) (# 4) x, and plot each (separate plots, via subplot).
(d) Let d1 = (# 4) Hx, d2 = G (# 4) x. Check that they match. Plot the result.
(e) Let u1 = H (” 4) x, u2 = (” 4) Gx. Check that they match. Plot the result.
(f) Here I will ask you to prove one of the Noble identities. Assume h = (” M) g. Let
v = Hx, and y = (# M) v. First, write the convolution sum v = h x, discard the
indices where h is 0, substitute in the g values, and then go to y = (# M) v. Now
start again, letting Örst u = (# M) x and write y
0 = Gu; write out the convolution
formula y
0 = g u and check that y = y
0
.