# Is there a package for Sliding Discrete Fourier Transforms?

**URL:** <https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320>\
**Category:** Signal and Image Processing\
**Tags:** fourier\
**Created:** [November 6, 2024, 8:27am UTC](https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320 "2024-11-06T08:27:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![heliosdrm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/heliosdrm/32/3851_2.png) [@heliosdrm](https://discourse.julialang.org/u/heliosdrm)\
**Post date:** [November 6, 2024, 8:27am UTC](https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320/1 "2024-11-06T08:27:45Z")

</div>

I haven’t found any specific package for Sliding Discrete Fourier Transforms. If there is no one yet, I would be inclined to try draft one (with the simplest methods to start with), but in that case I would appreciate some advice or guidelines about what interfaces it should follow.

---

<div class="post-metadata">

**Author:** ![roflmaostc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/roflmaostc/32/30123_2.png) [@roflmaostc](https://discourse.julialang.org/u/roflmaostc)\
**Post date:** [November 6, 2024, 10:37am UTC](https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320/2 "2024-11-06T10:37:25Z")

</div>

If you think that’s something we should include in FourierTools.jl we can help reviewing your code and add it there 🙂

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [November 6, 2024, 11:02am UTC](https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320/3 "2024-11-06T11:02:36Z")

</div>

You not by any chance looking for a spectrogram?

---

<div class="post-metadata">

**Author:** ![heliosdrm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/heliosdrm/32/3851_2.png) [@heliosdrm](https://discourse.julialang.org/u/heliosdrm)\
**Post date:** [November 6, 2024, 11:24am UTC](https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320/4 "2024-11-06T11:24:19Z")

</div>

Spectrograms are more general than what I was looking for. I was rather thinking on optimized algorithms for one-strided sliding DFT, possibly implemented as recursive iterators, using one or more of the methods defined here:

[https://doi.org/10.1016/j.dsp.2022.103560](https://doi.org/10.1016/j.dsp.2022.103560)

(Sorry for not citing an open access paper, I hope that the public summary is enough to give an idea of what I mean.)

---

<div class="post-metadata">

**Author:** ![roflmaostc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/roflmaostc/32/30123_2.png) [@roflmaostc](https://discourse.julialang.org/u/roflmaostc)\
**Post date:** [January 16, 2025, 2:13pm UTC](https://discourse.julialang.org/t/is-there-a-package-for-sliding-discrete-fourier-transforms/122320/5 "2025-01-16T14:13:53Z")

</div>

Thanks to @heliosdrm, the Sliding DFT is now included in [FourierTools.jl](https://nanoimaging.de/FourierTools.jl/dev/slidingdft/)!
