MATLAB Discrete Trigonometric Transform Library
This repository provides a MATLAB interface to the FFTW implementations of the discrete cosine transforms (DCT) and discrete sine transforms (DST). The functions are implemented in C++ as MATLAB mex functions.
MATLAB natively includes an interface to the complex-to-complex transforms in FFTW via the inbuilt functions fft, fft2, and fftn. However, MATLAB does not include an interface to the real-to-real transforms which correspond to discrete trigonometric transforms (DTTs). This library is intended to fill the gap.
Three functions are included: dtt1D, dtt2D, and dtt3D. These compute DTTs in 1D, 2D, and 3D. The function dtt1D can also perform 1D transformations over 2D arrays.
The type of DTT is specified by the input dtt_type, where 1 to 4 corresponds to DCTs, and 5 to 8 to DSTs. Currently, only double precisions transforms are supported, thus the input array must be in double precision.
The DTT functions in this library create the FFTW plan using FFTW_ESTIMATE, and then destroy the plan after execution. Consequently, the performance will not match that of the MATLAB inbuilt FFT functions which can re-use wisdom (see help fftw).
Cite As
Bradley Treeby (2024). MATLAB Discrete Trigonometric Transform Library (https://github.com/ucl-bug/matlab-dtts/releases/tag/v1.1), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
examples
Version | Published | Release Notes | |
---|---|---|---|
1.1 | See release notes for this release on GitHub: https://github.com/ucl-bug/matlab-dtts/releases/tag/v1.1 |
||
1.0 |