- Source: Sliding DFT
In applied mathematics, the sliding discrete Fourier transform is a recursive algorithm to compute successive STFTs of input data frames that are a single sample apart (hopsize − 1). The calculation for the sliding DFT is closely related to Goertzel algorithm.
Definition
Assuming that the hopsize between two consecutive DFTs is 1 sample, then
F
t
+
1
(
n
)
=
∑
k
=
0
N
−
1
f
k
+
t
+
1
e
−
j
2
π
k
n
/
N
=
∑
m
=
1
N
f
m
+
t
e
−
j
2
π
(
m
−
1
)
n
/
N
=
e
j
2
π
n
/
N
[
∑
m
=
0
N
−
1
f
m
+
t
e
−
j
2
π
m
n
/
N
−
f
t
+
f
t
+
N
]
=
e
j
2
π
n
/
N
[
F
t
(
n
)
−
f
t
+
f
t
+
N
]
.
{\displaystyle {\begin{aligned}F_{t+1}(n)&=\sum _{k=0}^{N-1}f_{k+t+1}e^{-j2\pi kn/N}\\&=\sum _{m=1}^{N}f_{m+t}e^{-j2\pi (m-1)n/N}\\&=e^{j2\pi n/N}\left[\sum _{m=0}^{N-1}f_{m+t}e^{-j2\pi mn/N}-f_{t}+f_{t+N}\right]\\&=e^{j2\pi n/N}\left[F_{t}(n)-f_{t}+f_{t+N}\right].\end{aligned}}}
From this definition above, the DFT can be computed recursively thereafter. However, implementing the window function on a sliding DFT is difficult due to its recursive nature, therefore it is done exclusively in a frequency domain.
= Sliding windowed infinite Fourier transform
=It is not possible to implement asymmetric window functions into sliding DFT. However, the IIR version called sliding windowed infinite Fourier transform (SWIFT) provides an exponential window and the αSWIFT calculates two sDFTs in parallel where slow-decaying one is subtracted by fast-decaying one, therefore a window function of
w
(
x
)
=
e
−
x
α
−
e
−
x
β
{\displaystyle w(x)=e^{-x\alpha }-e^{-x\beta }}
.
References
Kata Kunci Pencarian:
- Sliding DFT
- Short-time Fourier transform
- Goertzel algorithm
- Discrete cosine transform
- Analog-to-digital converter
- Precipitation hardening
- Phase retrieval
- Check valve
- Modified discrete cosine transform
- TCP offload engine