your dft code
3 mins read ·
Discrete Fourier Transform: Create your onw code
outline
- intro 3
- Discrete Fourier Transform 8
- Implementation 12
- Closing 22
equations
X(ω)=∫−∞+∞x(t)e−jωt dt(1)
X(ω)≈n=0∑∞x(tn)e−jωtn Δt(2)
ejωt=cosωt+jsinωt(0)
x(t)=3sin20πt+4cos5πt+1(4)
matrix
Is it possible to formulate all in matrix form?
ykRe=n=0∑N−1xncos(N2πkn)(5)
ykIm=−n=0∑N−1xnsin(N2πkn)(6)
111⋮111cos(N2π⋅1)cos(N2πk⋅1)⋮cos(N2π(N−2)⋅1)cos(N2π(N−1)⋅1)1cos(N2π⋅2)cos(N2πk⋅2)⋮cos(N2π(N−2)⋅2)cos(N2π(N−1)⋅2)………⋱……1cos(N2π⋅(N−2))cos(N2πk⋅(N−2))⋮cos(N2π(N−2)⋅(N−2))cos(N2π(N−1)⋅(N−2))1cos(N2π⋅(N−1))cos(N2πk⋅(N−1))⋮cos(N2π(N−2)⋅(N−1))cos(N2π(N−1)⋅(N−1))x0x1x2⋮xN−2xN−1=y0Rey1Rey2Re⋮yN−2ReyN−1Re
000⋮000sin(N2π⋅1)sin(N2πk⋅1)⋮sin(N2π(N−2)⋅1)sin(N2π(N−1)⋅1)0sin(N2π⋅2)sin(N2πk⋅2)⋮sin(N2π(N−2)⋅2)sin(N2π(N−1)⋅2)………⋱……0sin(N2π⋅(N−2))sin(N2πk⋅(N−2))⋮sin(N2π(N−2)⋅(N−2))sin(N2π(N−1)⋅(N−2))0sin(N2π⋅(N−1))sin(N2πk⋅(N−1))⋮sin(N2π(N−2)⋅(N−1))sin(N2π(N−1)⋅(N−1))x0x1x2⋮xN−2xN−1=y0Rey1Rey2Re⋮yN−2ReyN−1Re
refs