FunSP Ex31Jan2023
FunSP Ex31Jan2023
EEC
L.EEC025 - Fundamentals of Signal Processing
SECOND EXAM, JANUARY 31, 2023
Duration: 120 minutes, closed book
NOTE: each question (1, 2, 3, 4, 5) must be answered in a separate sheet; please write your name and Student
order number on all sheets, please provide complete answers while trying to minimize paper usage.
1. Three causal discrete-time systems have the illustrated zero-pole diagrams A, B, and C,
and the illustrated frequency response magnitudes 1, 2, and 3. Admit that the radius of all
poles and zeros is either 0.8 or 1/0.8, and that the angles of all poles and zeros are
multiples of π/4.
A B C
1 1 1
0.5 0.5 0.5
2 2
0 0 0
-0.5 -0.5 -0.5
-1 -1 -1
-1 0 1 -1 0 1 -1 0 1
Real Part Real Part Real Part
1 2 3
6 30 8
6
4 20
4
2 10
2
0 0 0
0 1 2 0 1 2 0 1 2
/ / /
a) [1,5 pts] Match each zero-pole diagram (A, B, C) to the corresponding frequency
response magnitude (1, 2, 3), and indicate the main supporting arguments.
b) [1 pt] Explain if a cascade of two of the above systems (AB, AC, or BC) leads to a
non-trivial all-pass system. If yes, what is the order of that all-pass system ?
Note: a trivial all-pass system has a transfer function of the form ( )= , where is a constant
gain and is a constant delay.
2. Consider that system C whose zero-pole diagram is represented in Prob. 1 is causal. The
radius of all poles and zeros is = 0.8, and their angles are multiples of π/4.
a) [1,5 pts] Show that except for a constant gain, the transfer function of the system is
given by ( ) = ( )
.
© AJF 2023
L.EEC/M.EEC
L.EEC025 - Fundamentals of Signal Processing
c) [1 pt] Consider the illustrated analog and causal discrete-time system whose transfer
function is as in b). The sampling frequency is 500 Hz. The analog input signal is
( ) = 1 + cos(875 ). Notice that an anti-aliasing filter does not exist.
Find the sinusoidal frequencies of the discrete-time signal [ ] in the Nyquist range,
i.e. in the range . Obtain a compact expression for xn .
d) [2 pts] Obtain yn and, presuming ideal reconstruction conditions, obtain ( ).
Important note: Notice that the impulse response of the discrete-time system is not real-
valued and, thus, the discrete-time system output must be separately evaluated for each
individual complex exponential at its input.
3. In one of the FPS Labs, the following code was used to service an interrupt-based routine
whose relevant C code is as follows (assume that h[] represents a vector of N
coefficients of the impulse response of a filter, where N is an odd integer, and x[]
represents a vector of Nm1=2N-1 input samples):
...
x[0] = (float32_t)(rx_sample_L);
...
switch (myfilter)
{
case Plain:
for (i=0 ; i<N ; i++) yn += h[i] * x[i];
break;
case Shifted:
for (i=0 ; i<(N-1) ; )
{
yn += h[i] * x[i]; i++;
yn -= h[i] * x[i]; i++;
}
yn += h[i] * x[i];
break;
case Upsampled:
for (i=0, j=0 ; i<N ; i++)
{
yn += h[i] * x[j];
j += 2;
}
break;
default:
for (i=0 ; i<N ; i++) yn += h[i] * x[i];
}
for (j=(Nm1-1) ; j>0 ; j--) x[j] = x[j-1];
tx_sample_L = (int16_t)(yn);
...
© AJF 2023
L.EEC/M.EEC
L.EEC025 - Fundamentals of Signal Processing
a) [1,5 pts] Explain with words and analytically (i.e. using equations) the operation of
this code according to the type of the filter (Plain, Shifted, Upsampled).
b) [1 pt] Let us admit that ( ) represents the transfer function of the filter whose N
impulse response coefficients are stored in vector h[]. Explain how would you
modify the code such as to implement a filter having ( ) as transfer function.
4. Consider that [ ] and [ ] are both N-periodic signals and that their DFT are [ ] and
[ ], respectively.
a) [2 pts] Considering that the ⊛ operator denotes circular convolution, demonstrate the
property [ ] ∙ [ ] ⎯⎯⎯ [ ] ⊛ [ ] = ∑ℓ [ℓ] [( − ℓ) ], where
, = 0,1, … , − 1.
1 −1 − ℓ
Hint: find the DFT of [ ] ∙ [ ], where [ ] = ∑ℓ=0 [ℓ] , and [ ]=
1 −1 −
∑ =0 [ ] , with = .
Now, consider the following Matlab code which takes advantage of the above DFT
property.
b) [1 pt] Without executing the code, find and explain the result of ifft(Y).
c) [1 pt] Without executing the code, find and explain the result of ifft(Z).
Note: the Matlab command cconv(a,b,N)computes the circular convolution of length N
between vectors a and b
5. The sampling frequency of a real-valued audio signal is 16000 Hz and its spectral
contents was analyzed using a sliding FFT with 50% overlap between adjacent FFTs.
Two alternative windows were used: Rectangular and Hanning. Just to facilitate
visualization, diagrams A and B represent the frequency response magnitude of the even-
indexed filters of the FFT filter bank (i.e. for k=0,2,4…). Diagrams C and D represent the
spectrograms obtained with all FFT sub-bands and using the two alternative windows.
© AJF 2023
L.EEC/M.EEC
L.EEC025 - Fundamentals of Signal Processing
A NORMALIZED GAIN
B
NORMALIZED GAIN
C D
a) [1,5 pts] The size the FFTs used is a power-of-two number. Using the information in
diagrams A and B find what that size is.
b) [1,5 pts] Explain the impact of a window in a spectrogram representation and match
each diagrams A, B to the corresponding spectrogram C, D. Justify.
Note: the blurred effects in the spectrograms reflect the impact of signal processing and not
possible printer problems
c) [1,5 pts] Based on the observation of the diagrams, describe the spectral contents of
the signal.
END
© AJF 2023