[mus422] TDAC examples

Craig Sapp craigsapp at gmail.com
Mon Jan 25 20:26:28 PST 2010


Hello Music 422 Class,

For tomorrow night's review session (Tuesday 6-7pm at CCRMA),
I'll go over the steps in the time-domain aliasing cancellation
process which you need to implement for HW 3.

Attached are some summary plots if you don't plan to attend.
I would highly suggest that you check each stage of your
TDAC process with one of the example signals in the attached PDF.

Top plot: The original signal; 1024 samples of a sine wave,
a ramp (on page 2, which is also very useful for double-checking
the behavior of your quantizers in the time domain) and a step
(on page 3).

Second row:  You have to chop the signal into 50% overlap-add
segements.   The first frame should start with 50% zeros, and the
last frame should end with 50% zeros.  Thus frame 0 in the examples
contains 512 zeros, and the first 512 samples of the original signal.
The second frame contains all 1024 samples of the original signal,
and the last frame contains samples 513 to 1024 of the original signal,
followed by 512 zeros.

Third row: Each frame is then multiplied by a window.  In this case
a sine window is being applied.

Fourth row: Each windows frame is passed through the MDCT.  Only
the positive spectrum needs to be stored, since negative frequencies
are symmetrical and can be reintroduced later for the IMDCT.  At this
point you would apply quantization to the frequency bins.  The example
plots are probably off by a factor of two on the vertical axis because you
are normalizing the MDCT differently this year.  Only one plot is shown
on this row, but each frame from the previous plot will have its own spectrum
calculated from the MDCT.  The spectrum being displayed is for the
middle frame.

Fifth row: This row takes the spectrum, then applies the IMDCT which
you are implementing.  Notice that the plots on the fifth row do not
look like the input to the MDCT (third row), due to nasty aliasing.

Sixth row: Apply the same window that was applied in row three to the
results from the IMDCT (row 5).  The aliasing is still there, but doesn't
look as bad.

Bottom row: Now overlap-add the individual frames, dropping the first
and last 512 samples which are due to the extra zeros added in row 2.
In other words, the last half of frame 0 adds to the first half of frame 1,
the last half of frame 1 adds with the first half of frame 2.

The bottom row plot should be identical to the top row plot (unless you
apply quantization; then the plot will be slightly different.

-=+Craig
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tdacexamples.pdf
Type: application/pdf
Size: 97193 bytes
Desc: not available
Url : http://cm-mail.stanford.edu/pipermail/422/attachments/20100125/06cdf061/attachment-0001.pdf 


More information about the 422 mailing list