MATLAB Discrete Trigonometric Transform Library

MATLAB interface to the FFTW implementations of the discrete cosine transform and discrete sine transforms
117 Downloads
Updated 21 Apr 2020

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
Created with R2019b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
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

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.