1
$\begingroup$

I am reading about audio processing for my university project and I found out that DCT basicly filters out some frequencies. I wanted to use for example high-pass filter and then DCT for compression, but isn't dct a filter?

What's the difference?

$\endgroup$
2
  • $\begingroup$ DCT stands for Discrete Cosine Transform: It is a transform not a filter. It has nothing to do with a filter. It shows you the amount of sinusoidals inside a given signal. DCT is not a filter, it does not have an impulse response neither an LCCDE description. The fact that filtering in time domain equals multiplication in DFT/DCT domains will not make a DCT a filtering operation. Also implementing a DFT/DCT via bandpass filters has nothing to do with DCT itself being a filter. $\endgroup$ – Fat32 Jan 25 '15 at 18:56
  • $\begingroup$ A filter takes a signal from a given domain and produces another signal again in the same domain. On the other hand transforms such as DCT/DFT/Z/Laplace take a signal from one domain (say time) and produce another signal in another domain (frequency). $\endgroup$ – Fat32 Jan 25 '15 at 19:03
1
$\begingroup$

DCT and DFT can be thought of as a bank of bandpass filters. So it's sort of a filter, but it doesn't remove any part of the signal. The whole signal is still there, just in a different format.

Yes, you could do the DCT on the signal and then high-pass filter by multiplying by the DCT of a high-pass filter's impulse response. I'd suggest using DFT/FFT first though; it's a little more intuitive, though for a final application DCT has better energy-compaction, and so can compress signals better.

$\endgroup$
0
1
$\begingroup$

The DFT and DCT are banks of filters that each do circular filter convolution rather than linear filter convolution. For long enough DFT/DCT windows where you don't care about the data near either end, you might be able to use a single DFT/DCT for filtering by ignoring the wrap-around noise. But if you want linear convolution filtering using more than one DFT (e.g. the end data of each block is important), then you need to use the DFTs in conjunction with an overlap add/save method/modification.

Since sequences of DCT are usually not done using the overlap add/save method, separate filtering is usually done ahead of it.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.