This code does the same as matlab's idct with a few improvements:
1) on the first call, it's a bit faster than the builtin idct
2) on subsequent calls, due to persistent variables, it's about 2x or more faster than the builtin idct, and only about 1.5x slower than a fft call
3) you can specify which version of the type II IDCT you want: either matlab's orthogonal version, or the standard version (cf. fftw website, or wikipedia). With the "fftw" version, there are two further choices: 1) compute the true inverse (up to scaling) to the forward "fftw" type II DCT, or 2) compute the adjoint (i.e. transpose) to the forward "fftw" type II DCT.
4) If the forward transform sampled the "rows" of the (implicit) DCT matrix, then giving the dimension and the index of sampled rows will allow idctt to return the appropriate inverse or adjoint.
This complements the code "dctt".
The extra "t" at the end of the filename has no meaning other than to distinguish it from the builtin dct.
Type "help idctt" for usage instructions.
Ex. test if dctt and idctt (w/o fftw arguments) are really adjoints:
n = 10;
F = dctt(eye(n));
Ft = idctt(eye(n));
F.' - Ft % this should be a zero matrix
引用格式
Stephen Becker (2024). idctt (https://www.mathworks.com/matlabcentral/fileexchange/18974-idctt), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
致谢
参考作品: dctt
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0.0 |