Skip to main content
Log in

Sparse fast DCT for vectors with one-block support

  • Original Paper
  • Published:
Numerical Algorithms Aims and scope Submit manuscript

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 mN. 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Akavia, A.: Deterministic sparse Fourier approximation via approximating arithmetic progressions. IEEE Trans. Inform. Theory 60(3), 1733–1741 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  2. Bittens, S.: Sparse FFT for functions with short frequency support. Dolomites Res. Notes Approx. 10, 43–55 (2017)

    MathSciNet  MATH  Google Scholar 

  3. 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)

  4. 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)

  5. 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

  6. 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)

    Article  MathSciNet  MATH  Google Scholar 

  7. Frigo, M., Johnson, S.G.: FFTW 3.3.6. http://www.fftw.org/ (2017)

  8. 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)

    Article  Google Scholar 

  9. 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)

  10. Hu, X., Iwen, M., Kim, H.: Rapidly computing sparse Legendre expansions via sparse Fourier transforms. Numer. Algor. 74(4), 1029–1059 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  11. Iwen, M.A.: Combinatorial sublinear-time Fourier algorithms. Found. Comput. Math. 10(3), 303–338 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  12. Iwen, M.A.: Improved approximation guarantees for sublinear-time Fourier algorithms. Appl. Comput. Harmon. Anal. 34(1), 57–82 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  13. 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)

  14. Plonka, G., Potts, D., Steidl, G., Tasche, M.: Numerical Fourier Analysis. Birkhäuser Basel. https://www.springer.com/us/book/9783030043056 (2018)

  15. Plonka, G., Tasche, M.: Fast and numerically stable algorithms for discrete cosine transforms. Linear Algebra Appl. 394, 309–345 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  16. Plonka, G., Wannenwetsch, K.: A deterministic sparse FFT algorithm for vectors with small support. Numer. Algorithms 71(4), 889–905 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  17. Plonka, G., Wannenwetsch, K.: A sparse fast Fourier algorithm for real non-negative vectors. J. Comput. Appl. Math. 321, 532–539 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  18. Plonka, G., Wannenwetsch, K.: Deterministic sparse FFT. http://na.math.uni-goettingen.de/index.php?section=gruppe&subsection=software (2017)

  19. Plonka, G., Wannenwetsch, K., Cuyt, A., Lee, W.-S.: Deterministic sparse FFT for M-sparse vectors. Numer. Algorithms 78(1), 133–159 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  20. Potts, D., Tasche, M.: Reconstruction of sparse Legendre and Gegenbauer expansions. BIT Numer. Math. 56(3), 1019–1043 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  21. Rao, K., Yip, P.: Discrete Cosine Transform: Algorithms, Advantages, Applications. Academic Press (1990)

  22. Segal, B., Iwen, M.: Improved sparse Fourier approximation results: faster implementations and stronger guarantees. Numer. Algorithms 63(2), 239–263 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  23. The MathWorks: Matlab’s documentation of fft. https://www.mathworks.com/help/matlab/ref/fft.html (2017)

  24. The MathWorks: Matlab’s documentation of idct. https://www.mathworks.com/help/signal/ref/idct.html (2017)

  25. The MathWorks: Matlab’s documentation of ifft. https://www.mathworks.com/help/matlab/ref/ifft.html (2017)

Download references

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

Authors

Corresponding author

Correspondence to Sina Bittens.

Appendix: Proof of Lemma 1

Appendix: Proof of Lemma 1

  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. 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. 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 2Nk ∈{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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11075-018-0620-1

Keywords

Mathematics Subject Classification (2010)

Navigation