Abstract
In this paper, we present a new fast and deterministic algorithm for the inverse discrete cosine transform of type II that reconstructs the vector \(\mathbf {x}\in \mathbb {R}^{N}\), N = 2J− 1, with short support of length m from its discrete cosine transform \(\mathbf {x}^{\widehat {\text {II}}}=\mathbf {C}_N^{\text {II}}\mathbf {x}\), while no a priori knowledge of m is required. The resulting algorithm has a runtime of \(\mathcal {O}\left (m\log m\log \frac {2N}{m}\right )\) and uses \(\mathcal {O}\left (m\log \frac {2N}{m}\right )\) samples of \(\mathbf {x}^{\widehat {\text {II}}}\). When applied to an arbitrary \(\mathbf {x}^{\widehat {\text {II}}}\in \mathbb {R}^{N}\), the algorithm automatically recognizes and exploits a possible short support. Hence, its runtime and sampling complexity approach those of a regular IDCT-II for m → N. In order to derive this algorithm, we also develop a new fast and deterministic inverse FFT algorithm that reconstructs the vector \(\mathbf {y}\in \mathbb {R}^{2N}\) with reflected block support of block length m from \(\widehat {\mathbf {y}}\) with the same runtime and sampling complexities as our IDCT-II algorithm, while also computing m on the fly. The runtime and the numerical stability of both algorithms are also illustrated by numerical experiments.
Similar content being viewed by others
References
Akavia, A.: Deterministic sparse Fourier approximation via approximating arithmetic progressions. IEEE Trans. Inform. Theory 60(3), 1733–1741 (2014)
Bittens, S.: Sparse FFT for functions with short frequency support. Dolomites Res. Notes Approx. 10, 43–55 (2017)
Bittens, S., Plonka, G.: Sparse fast DCT for vectors with one-block support. http://na.math.uni-goettingen.de/index.php?section=gruppe&subsection=software (2018)
Bittens, S., Plonka, G.: Sparse FFT for vectors with reflected block support. http://na.math.uni-goettingen.de/index.php?section=gruppe&subsection=software (2018)
Bittens, S., Zhang, R., Iwen, M.A.: A deterministic sparse FFT for functions with structured Fourier sparsity. Adv. Comput. Math. (2018). https://doi.org/10.1007/s10444-018-9626-4
Christlieb, A., Lawlor, D., Wang, Y.: A multiscale sub-linear time Fourier algorithm for noisy data. Appl. Comput. Harmon. Anal. 40(3), 553–574 (2016)
Frigo, M., Johnson, S.G.: FFTW 3.3.6. http://www.fftw.org/ (2017)
Gilbert, A., Indyk, P., Iwen, M., Schmidt, L.: Recent developments in the sparse fourier transform: a compressed fourier transform for big data. IEEE Signal Process. Mag. 31(5), 91–100 (2014)
Hassanieh, H., Indyk, P., Katabi, D., Price, E.: Simple and practical algorithm for sparse Fourier transform. In: Proceedings of the Twenty-third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’12, pp. 1183–1194 (2012)
Hu, X., Iwen, M., Kim, H.: Rapidly computing sparse Legendre expansions via sparse Fourier transforms. Numer. Algor. 74(4), 1029–1059 (2017)
Iwen, M.A.: Combinatorial sublinear-time Fourier algorithms. Found. Comput. Math. 10(3), 303–338 (2010)
Iwen, M.A.: Improved approximation guarantees for sublinear-time Fourier algorithms. Appl. Comput. Harmon. Anal. 34(1), 57–82 (2013)
Pawar, S., Ramchandran, K.: Computing a k-sparse n-length discrete Fourier transform using at most 4k samples and \(\mathcal {O}(k \log k)\) complexity. In: IEEE International Symposium on Information Theory, pp. 464–468 (2013)
Plonka, G., Potts, D., Steidl, G., Tasche, M.: Numerical Fourier Analysis. Birkhäuser Basel. https://www.springer.com/us/book/9783030043056 (2018)
Plonka, G., Tasche, M.: Fast and numerically stable algorithms for discrete cosine transforms. Linear Algebra Appl. 394, 309–345 (2005)
Plonka, G., Wannenwetsch, K.: A deterministic sparse FFT algorithm for vectors with small support. Numer. Algorithms 71(4), 889–905 (2016)
Plonka, G., Wannenwetsch, K.: A sparse fast Fourier algorithm for real non-negative vectors. J. Comput. Appl. Math. 321, 532–539 (2017)
Plonka, G., Wannenwetsch, K.: Deterministic sparse FFT. http://na.math.uni-goettingen.de/index.php?section=gruppe&subsection=software (2017)
Plonka, G., Wannenwetsch, K., Cuyt, A., Lee, W.-S.: Deterministic sparse FFT for M-sparse vectors. Numer. Algorithms 78(1), 133–159 (2018)
Potts, D., Tasche, M.: Reconstruction of sparse Legendre and Gegenbauer expansions. BIT Numer. Math. 56(3), 1019–1043 (2016)
Rao, K., Yip, P.: Discrete Cosine Transform: Algorithms, Advantages, Applications. Academic Press (1990)
Segal, B., Iwen, M.: Improved sparse Fourier approximation results: faster implementations and stronger guarantees. Numer. Algorithms 63(2), 239–263 (2013)
The MathWorks: Matlab’s documentation of fft. https://www.mathworks.com/help/matlab/ref/fft.html (2017)
The MathWorks: Matlab’s documentation of idct. https://www.mathworks.com/help/signal/ref/idct.html (2017)
The MathWorks: Matlab’s documentation of ifft. https://www.mathworks.com/help/matlab/ref/ifft.html (2017)
Funding
The authors gratefully acknowledge partial support for this work by the DFG in the framework of the GRK 2088.
Author information
Authors and Affiliations
Corresponding author
Appendix: Proof of Lemma 1
Appendix: Proof of Lemma 1
-
1.
Note that y is symmetric by construction,
$$\mathbf{J}_{2N}\mathbf{y}=\mathbf{J}_{2N}\left( \begin{array}{ccccccc} \mathbf{x} \\ \mathbf{J}_{N}\mathbf{x} \end{array}\right) =\left( \begin{array}{cccc} \mathbf{x} \\ \mathbf{J}_{N}\mathbf{x} \end{array}\right)=\mathbf{y}. $$ -
2.
Let k ∈{0,…,N − 1}. We find that
$$\begin{array}{@{}rcl@{}} {{x}}^{\widehat{\text{II}}}_{k}&=&\sqrt{\frac{2}{N}}\varepsilon_{N}(k)\sum\limits_{l = 0}^{N-1}\cos\left( \frac{2\cdot k(2l + 1)\pi}{2\cdot2N}\right)x_{l} \\ &=&\frac{\varepsilon_{N}(k)}{\sqrt{2N}}\sum\limits_{l = 0}^{N-1}\left( \omega_{4N}^{k(2l + 1)}+\omega_{4N}^{-k(2l + 2-1)}\right)x_{l} \\ &=&\frac{\varepsilon_{N}(k)}{\sqrt{2N}}\omega_{4N}^{k}\sum\limits_{l = 0}^{N-1}\left( \omega_{2N}^{kl}+\omega_{2N}^{k(2N-1-l)}\right)x_{l} \\ &=&\frac{\varepsilon_{N}(k)}{\sqrt{2N}}\omega_{4N}^{k}\left( \sum\limits_{l = 0}^{N-1}\omega_{2N}^{kl}x_{l}+\sum\limits_{l^{\prime}=N}^{2N-1}\omega_{2N}^{kl^{\prime}}x_{2N-1-l^{\prime}}\right) =\frac{\varepsilon_{N}(k)}{\sqrt{2N}}\omega_{4N}^{k}\cdot\widehat{y}_{k}. \end{array} $$ -
3.
For k ∈{0,…,N − 1}, the claim in (??) follows directly from (??). For k ∈{N,…, 2N − 1} the symmetry property, (??), implies that
$$ \widehat{y}_{k}=\left( \widehat{\mathbf{J}_{2N}\mathbf{y}}\right)_{k}=\sum\limits_{l^{\prime}= 0}^{2N-1}\omega_{2N}^{kl^{\prime}}y_{2N-1-l^{\prime}} =\sum\limits_{l = 0}^{2N-1}\omega_{2N}^{k(2N-1-l)}y_{l} =\omega_{2N}^{-k}\sum\limits_{l = 0}^{2N-1}\omega_{2N}^{-kl}y_{l}. $$(1)If k = N, we obtain from (1) that
$$\widehat{{y}}_{N}=\omega_{2N}^{-N}\sum\limits_{l = 0}^{2N-1}\omega_{2N}^{-Nl}y_{l} =-\sum\limits_{l = 0}^{2N-1}\omega_{2N}^{Nl}y_{l}=-\widehat{{y}}_{N}, $$so \(\widehat {{y}}_{N}= 0\). If k ∈{N + 1,…, 2N − 1}, then 2N − k ∈{1,…,N − 1}, and (1) yields
$$\begin{array}{@{}rcl@{}} \widehat{y}_{k}&=&\omega_{2N}^{-k}\sum\limits_{l = 0}^{2N-1}\omega_{2N}^{-kl} y_{l} =\omega_{2N}^{-k}\sum\limits_{l = 0}^{2N-1}\omega_{2N}^{(2N-k)l}y_{l} \\ &=&\omega_{2N}^{-k}\cdot\widehat{{y}}_{2N-k} =-\frac{\sqrt{2N}}{\varepsilon_{N}(2N-k)}\omega_{4N}^{-k}\cdot{{x}}^{\widehat{\text{II}}}_{2N-k}. \end{array} $$
Rights and permissions
About this article
Cite this article
Bittens, S., Plonka, G. Sparse fast DCT for vectors with one-block support. Numer Algor 82, 663–697 (2019). https://doi.org/10.1007/s11075-018-0620-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11075-018-0620-1
Keywords
- Discrete cosine transform
- Deterministic sparse fast DCT
- Sublinear sparse DCT
- Discrete Fourier transform
- Deterministic sparse FFT
- Sublinear sparse FFT