Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Assignment #3
Due February 2nd, 2007
2) MDCT:
In this exercise you will implement a time-to-frequency mapping using the MDCT. You
will verify that the mapping leads to perfect reconstruction and that the fast
implementation is significantly faster than straightforward implementation. Your fast
MDCT/IMDCT implementation will be useful for later exercises.
a) Implement a 50% window/overlap-add system (see for example Chapter 5, Figure 6, page
115 of the textbook, where M= N/2 and steps 2), 3), and 4) are omitted). Make sure that
this system allows for perfect reconstruction of the input signal. (Recall that the window
used needs to satisfy the conditions at page 128, where you may set the analysis window
identical to the synthesis window. You may choose to use a sine or KBD window to
satisfy these conditions).
b) Program functions to carry out the MDCT and IMDCT using the transform definitions.
c) Use your MDCT/IMDCT functions to implement a 50% overlap analysis/synthesis system.
Allow for arbitrary block sizes N and do your windowing using the sine or KBD window.
d) Verify that your system leads to perfect reconstruction by testing it using N = 2048
window length transforms and the following test signals:
x[n] = cos(2πn/44.1) [1 kHz tone sampled at 44.1 kHz]
x[n] = θ(n) [step function]
e) Program new functions to carry out the MDCT and IMDCT using the FFT-based fast
implementation. To do so, you will need a routine for implementing the FFT/IFFT.
Source code for such routines is readily available (e.g., see the Numerical Recipes book),
but you will need to check that the conventions for sign (-j in the forward transform) and
normalization factor (1/N for inverse transform) are consistent with our usage. Verify that
your new routines are correct by using them in your analysis/synthesis system with the
above test signals.
f) Compare the execution time of your analysis/synthesis system when using the fast
implementation versus using the straightforward implementation.
g) Compare the output of the MDCT with the output of the DTF for the test files in 2 d). (For
this comparison please use the sine window for the MDCT and sine and Hanning window
for the DTF).
4) Reading Assignment:
Chapters 6 and 7 from the textbook, M. Bosi and R. E. Goldberg, “Introduction to Digital
Audio Coding and Standards”, KAP 2003.