Help - Search - Members - Calendar
Full Version: DCT with sliding window
Hydrogenaudio Forums > Hydrogenaudio Forum > Scientific Discussion
pest
Hello,
perhaps someone can help me on this subject.
I convert an input-stream sample by sample but need to transform for every sample
the last-N samples with a DCT (N is power of 2).
I don't want to calculate the complete DCT for every new sample, because this is
a huge speed penalty.
Is there a possibility to calculate the DCT for example recursive and modify the
actual coefficients in present of the new data?

regards and thanks for any help

SebastianG
QUOTE(pest @ Sep 21 2006, 11:58) *

Hello,
perhaps someone can help me on this subject.
I convert an input-stream sample by sample but need to transform for every sample
the last-N samples with a DCT (N is power of 2).

Why would you want to do that?
There might be other ways to achieve what you want.

QUOTE(pest @ Sep 21 2006, 11:58) *

I don't want to calculate the complete DCT for every new sample, because this is
a huge speed penalty.
Is there a possibility to calculate the DCT for example recursive and modify the
actual coefficients in present of the new data?

You need a 2n sample ringbuffer for that where you only store the last n samples and zero the remaining buffer. You gotta compute the DFT on the whole 2n ring buffer (can be done incrementally). From the DFT coefficients you can compute the DCT coeffs. Time complexity: O(n) per sample.
pest
QUOTE

Why would you want to do that?


i am trying to orthogonalize a simple adaptive filter.
i thought it could be faster than a complete recursive-least-squares-filter.

QUOTE

You need a 2n sample ringbuffer for that where you only store the last n samples and zero the remaining buffer. You gotta compute the FFT on the whole 2n ring buffer (can be done incrementally). From the FFT coefficients you can compute the DCT coeffs. Time complexity: O(n) per sample.


that was fast! going to implement smile.gif

real thanks
SebastianG
QUOTE(pest @ Sep 21 2006, 20:17) *

i am trying to orthogonalize a simple adaptive filter.
i thought it could be faster than a complete recursive-least-squares-filter.

I don't see why this would be of any help. Then again, adaptive filters are not my specialty.
pest
QUOTE

i am trying to orthogonalize a simple adaptive filter.


that was bs then
the dct is only a step to preprocess and decorrelate the data in the actual history of the filter.

edit: the improved orthogonalization relates to the autocorrelation matrix of the input
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.