Description
Problem 1: Problem 6.4 in R1 (i.e., Proakis 4th Edition)
(Note: To obtain the Fourier Transform of x(n)=x0(nT) in this problem, recall the “differentiation in the frequency domain” property of FT, i.e., nx(n)↔jdX(f)2πdf)
Problem 2:
Consider the two CW tones given by:
a(t)=cos(4000πt)b(t)=cos(200πt)
These two tones are mixed (i.e., multiplied) and then sampled as shown in the following figure. What would be the minimum sampling rate, Fs, measured in Hz, that would result in a sequence x(n) without any aliasing errors (i.e., no spectral replication overlap)?
Problem 3:
Consider an information-bearing signal, r(t), with the following frequency spectrum:
R(F)↓2−100100F(KHz)
The signal r(t) is then modulated onto a carrier with frequency 1.0 MHz:
xa(t)=r(t)cos(2π⋅106t)
(a) Sketch the frequency spectrum of xa(t) (i.e., Xa(F)). Please show the values for all the important points on both axes.
(b) Now, assume xa(t) is sampled as shown below. What would be the minimum bandpass sampling rate, Fs, in KHz, in order to avoid any aliasing error?
xa(t)→ideal A/Dx(n),Fs
(c) Now, assume Fs=800 KHz. Sketch the frequency spectrum, X(ω), for −2π≤ω≤2π. Please show the values for all the important points on both axes. Also please show values on the frequency axis in both KHz and rad/sample scales.
Problem 4:
(a) Consider a band-pass signal with the following frequency spectrum. What would be the minimum center frequency Fc, in terms of the signal bandwidth B, that would enable us to do bandpass sampling while avoiding any aliasing?
∣X(F)∣
(b) If a person wants to be classified as a soprano in classical opera, she must be able to sing notes in the frequency range of 247 Hz to 1175 Hz. Is bandpass sampling of full audio spectrum of a singing soprano possible? If yes, what would be the minimum Fs sampling rate allowable for bandpass sampling? If no, why not?
Problem 5: Problem 11.1 in R1
Problem 6:
Given the input sequence xi(n), as shown in (a) in the following figure, whose magnitude spectrum is shown in (b) below, draw a rough sketch of the magnitude spectrum ∣Xc(F)∣ of the system’s complex output sequence: xc(m)=xi(m)+jxo(m). The frequency magnitude responses of the complex bandpass filter hBP(k), and the real-valued highpass filter hHP(k) are shown in (c) and (d) below.
MATLAB Exercises:
Part 1
Using the matrix-vector multiplication approach discussed in this chapter, write a MATLAB function to compute the DTFT of a finite-duration sequence. The format of the function should be:
function [X] = dtft(x, n, w) % Computes Discrete-time Fourier Transform % [X] = dtft(x, n, w) % X = DTFT values computed at w frequencies % x = finite duration sequence over n % n = sample position vector % w = frequency location vector
Note: Your function will be a single line performing a matrix-vector multiplication. It is fairly straightforward, and described in the following excerpt:
X(ejω)≜F[x(n)]=∑n=−∞∞x(n)e−jωn
If x(n) is of finite duration, then MATLAB can be used to compute X(ejω) numerically at any frequency ω. The approach is to implement the sum directly. If, in addition, we evaluate X(ejω) at equispaced frequencies between [0,π], then it can be implemented as a matrix-vector multiplication operation.
Let the sequence x(n) have N samples between n1≤n≤nN, and evaluate X(ejω) at
ωk≜πMk,k=0,1,…,M
Then:
X(ejωk)=∑ℓ=1Ne−j(π/M)knℓx(nℓ),k=0,1,…,M
In matrix form:
X=Wx
where
W≜{e−j(π/M)knℓ}
In MATLAB, using row vectors for sequences and indices:
XT=xT[exp(−jπMnTk)]
Implementation example:
k = [0:M]; n = [n1:n2]; X = x * (exp(-j*pi/M) .^ (n' * k));
Part 2
The following finite-duration sequences are called windows and are very useful in DSP:
-
Rectangular:
RM(n)={1,0≤n<M0,otherwise
-
Triangular:
TM(n)=[1−∣M−1−2n∣M−1]RM(n)
-
Hanning:
CM(n)=0.5[1−cos(2πnM−1)]RM(n)
-
Hamming:
HM(n)=[0.54−0.46cos(2πnM−1)]RM(n)
For each of these windows, determine their DTFTs for M=10,25,50,101. Scale transform values so that the maximum value is equal to 1. Plot the magnitude of the normalized DTFT over −π≤ω≤π. Study these plots and comment on their behavior as a function of M.
Note: Use the dtft function you wrote for Part 1. For the frequency vector input, you can use:
w = linspace(-pi, pi, 501);

