What are discrete and fast Fourier transform intuitively?
$begingroup$
I have done both of these in my math courses, but without understanding what they actually are intuitively. I would be very much grateful if you could give me an intuitive explanation of them.
fourier-analysis intuition
$endgroup$
add a comment |
$begingroup$
I have done both of these in my math courses, but without understanding what they actually are intuitively. I would be very much grateful if you could give me an intuitive explanation of them.
fourier-analysis intuition
$endgroup$
$begingroup$
Try looking here: en.m.wikibooks.org/wiki/Digital_Signal_Processing/… Under the section "visualizing the discrete fourier transform". That may help.
$endgroup$
– user111726
Nov 26 '13 at 23:42
$begingroup$
Comments are not for extended discussion; this conversation has been moved to chat.
$endgroup$
– quid♦
Jan 19 at 15:37
add a comment |
$begingroup$
I have done both of these in my math courses, but without understanding what they actually are intuitively. I would be very much grateful if you could give me an intuitive explanation of them.
fourier-analysis intuition
$endgroup$
I have done both of these in my math courses, but without understanding what they actually are intuitively. I would be very much grateful if you could give me an intuitive explanation of them.
fourier-analysis intuition
fourier-analysis intuition
edited Jan 19 at 12:55
nbro
2,41653173
2,41653173
asked Jun 26 '13 at 13:33
mathmath
3341928
3341928
$begingroup$
Try looking here: en.m.wikibooks.org/wiki/Digital_Signal_Processing/… Under the section "visualizing the discrete fourier transform". That may help.
$endgroup$
– user111726
Nov 26 '13 at 23:42
$begingroup$
Comments are not for extended discussion; this conversation has been moved to chat.
$endgroup$
– quid♦
Jan 19 at 15:37
add a comment |
$begingroup$
Try looking here: en.m.wikibooks.org/wiki/Digital_Signal_Processing/… Under the section "visualizing the discrete fourier transform". That may help.
$endgroup$
– user111726
Nov 26 '13 at 23:42
$begingroup$
Comments are not for extended discussion; this conversation has been moved to chat.
$endgroup$
– quid♦
Jan 19 at 15:37
$begingroup$
Try looking here: en.m.wikibooks.org/wiki/Digital_Signal_Processing/… Under the section "visualizing the discrete fourier transform". That may help.
$endgroup$
– user111726
Nov 26 '13 at 23:42
$begingroup$
Try looking here: en.m.wikibooks.org/wiki/Digital_Signal_Processing/… Under the section "visualizing the discrete fourier transform". That may help.
$endgroup$
– user111726
Nov 26 '13 at 23:42
$begingroup$
Comments are not for extended discussion; this conversation has been moved to chat.
$endgroup$
– quid♦
Jan 19 at 15:37
$begingroup$
Comments are not for extended discussion; this conversation has been moved to chat.
$endgroup$
– quid♦
Jan 19 at 15:37
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
So first things first: the FFT simply refers to the algorithm by which one may compute the DFT. So, if you understand the DFT, you understand the FFT as far as intuition goes (I think).
Now with the DFT, our goal is to write of $N$ points $x_0,x_1,...,x_{N-1}$ as the sum of complex exponentials. That is, we say that $X_n$ is the DFT of $x_n$ exactly when
$$
x_n = frac{1}{N} sum_{k=0}^{N-1} X_k cdot e^{(2 pi i, k, n) / N}
$$
You might recognize this as the inverse DFT of $X_n$. The key is that for each $k$, each $e^{(2 pi i, k, n) / N}$ can be though of as a complex vector with $N$ entries. We could write
$$
v_k=left(frac 1N,frac1N e^{(2 pi i, k) / N},frac1N e^{(4 pi i, k) / N},dots,frac1N e^{(2 pi i, k, (N-1)) / N}right)
$$
There are $N$ vectors of this form (taking $k$ from $0$ to $N-1$), and we use them because they form an orthonormal basis of $mathbb C ^N$. That is, $langle v_k,v_j rangle$ is $1$ if $k=j$ and $0$ if $k≠j$. Because these vectors are orthonormal, we can change basis (i.e. find the DFT) by using the dot product rather than by solving a system of $N$ equations.
That is, if $x=(x_0,x_1,dots,x_{N-1})$ is the vector of complex entries of our time domain sequence, then $k^{th}$ entry the DFT of $x_0,x_1,dots,x_{N-1}$ is simply given by
$$
X_k = langle x,v_k rangle
$$
and the IDFT is computed by finding
$$
x = sum_{k=0}^{N-1} X_k v_k
$$
That is certainly my intuition for the computational process, and I find that helps. What this doesn't really help with is why we'd want to deal with complex exponentials in the first place, but if you've seen DFTs already I suppose you have some idea.
$endgroup$
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
add a comment |
$begingroup$
The discrete Fourier transform is a linear operator on $mathbb C^n$. The DFT simply changes basis to a special basis, the discrete Fourier basis. Each $n$th root of unity $omega$ gives us a discrete Fourier basis vector $v = (1, omega, omega^2,ldots,omega^{n-1})$. It's immediate to check that $v$ is an eigenvector of the cyclic shift operator $S$, with eigenvalue $omega$. Because $S$ preserves norms, $S$ is unitary, hence normal, so eigenvectors corresponding to distinct eigenvalues are orthogonal. Thus, once we normalize, we have an orthonormal basis.
$endgroup$
add a comment |
$begingroup$
Here are two "intuitive" explanations of the Discrete Fourier Transform. They do not jump into equations directly, but walk you through in a wish-someone-told-me-this-before way
http://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
http://www.altdevblogaday.com/2011/05/17/understanding-the-fourier-transform/
and for Fast Fourier Transform
http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f429993%2fwhat-are-discrete-and-fast-fourier-transform-intuitively%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
So first things first: the FFT simply refers to the algorithm by which one may compute the DFT. So, if you understand the DFT, you understand the FFT as far as intuition goes (I think).
Now with the DFT, our goal is to write of $N$ points $x_0,x_1,...,x_{N-1}$ as the sum of complex exponentials. That is, we say that $X_n$ is the DFT of $x_n$ exactly when
$$
x_n = frac{1}{N} sum_{k=0}^{N-1} X_k cdot e^{(2 pi i, k, n) / N}
$$
You might recognize this as the inverse DFT of $X_n$. The key is that for each $k$, each $e^{(2 pi i, k, n) / N}$ can be though of as a complex vector with $N$ entries. We could write
$$
v_k=left(frac 1N,frac1N e^{(2 pi i, k) / N},frac1N e^{(4 pi i, k) / N},dots,frac1N e^{(2 pi i, k, (N-1)) / N}right)
$$
There are $N$ vectors of this form (taking $k$ from $0$ to $N-1$), and we use them because they form an orthonormal basis of $mathbb C ^N$. That is, $langle v_k,v_j rangle$ is $1$ if $k=j$ and $0$ if $k≠j$. Because these vectors are orthonormal, we can change basis (i.e. find the DFT) by using the dot product rather than by solving a system of $N$ equations.
That is, if $x=(x_0,x_1,dots,x_{N-1})$ is the vector of complex entries of our time domain sequence, then $k^{th}$ entry the DFT of $x_0,x_1,dots,x_{N-1}$ is simply given by
$$
X_k = langle x,v_k rangle
$$
and the IDFT is computed by finding
$$
x = sum_{k=0}^{N-1} X_k v_k
$$
That is certainly my intuition for the computational process, and I find that helps. What this doesn't really help with is why we'd want to deal with complex exponentials in the first place, but if you've seen DFTs already I suppose you have some idea.
$endgroup$
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
add a comment |
$begingroup$
So first things first: the FFT simply refers to the algorithm by which one may compute the DFT. So, if you understand the DFT, you understand the FFT as far as intuition goes (I think).
Now with the DFT, our goal is to write of $N$ points $x_0,x_1,...,x_{N-1}$ as the sum of complex exponentials. That is, we say that $X_n$ is the DFT of $x_n$ exactly when
$$
x_n = frac{1}{N} sum_{k=0}^{N-1} X_k cdot e^{(2 pi i, k, n) / N}
$$
You might recognize this as the inverse DFT of $X_n$. The key is that for each $k$, each $e^{(2 pi i, k, n) / N}$ can be though of as a complex vector with $N$ entries. We could write
$$
v_k=left(frac 1N,frac1N e^{(2 pi i, k) / N},frac1N e^{(4 pi i, k) / N},dots,frac1N e^{(2 pi i, k, (N-1)) / N}right)
$$
There are $N$ vectors of this form (taking $k$ from $0$ to $N-1$), and we use them because they form an orthonormal basis of $mathbb C ^N$. That is, $langle v_k,v_j rangle$ is $1$ if $k=j$ and $0$ if $k≠j$. Because these vectors are orthonormal, we can change basis (i.e. find the DFT) by using the dot product rather than by solving a system of $N$ equations.
That is, if $x=(x_0,x_1,dots,x_{N-1})$ is the vector of complex entries of our time domain sequence, then $k^{th}$ entry the DFT of $x_0,x_1,dots,x_{N-1}$ is simply given by
$$
X_k = langle x,v_k rangle
$$
and the IDFT is computed by finding
$$
x = sum_{k=0}^{N-1} X_k v_k
$$
That is certainly my intuition for the computational process, and I find that helps. What this doesn't really help with is why we'd want to deal with complex exponentials in the first place, but if you've seen DFTs already I suppose you have some idea.
$endgroup$
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
add a comment |
$begingroup$
So first things first: the FFT simply refers to the algorithm by which one may compute the DFT. So, if you understand the DFT, you understand the FFT as far as intuition goes (I think).
Now with the DFT, our goal is to write of $N$ points $x_0,x_1,...,x_{N-1}$ as the sum of complex exponentials. That is, we say that $X_n$ is the DFT of $x_n$ exactly when
$$
x_n = frac{1}{N} sum_{k=0}^{N-1} X_k cdot e^{(2 pi i, k, n) / N}
$$
You might recognize this as the inverse DFT of $X_n$. The key is that for each $k$, each $e^{(2 pi i, k, n) / N}$ can be though of as a complex vector with $N$ entries. We could write
$$
v_k=left(frac 1N,frac1N e^{(2 pi i, k) / N},frac1N e^{(4 pi i, k) / N},dots,frac1N e^{(2 pi i, k, (N-1)) / N}right)
$$
There are $N$ vectors of this form (taking $k$ from $0$ to $N-1$), and we use them because they form an orthonormal basis of $mathbb C ^N$. That is, $langle v_k,v_j rangle$ is $1$ if $k=j$ and $0$ if $k≠j$. Because these vectors are orthonormal, we can change basis (i.e. find the DFT) by using the dot product rather than by solving a system of $N$ equations.
That is, if $x=(x_0,x_1,dots,x_{N-1})$ is the vector of complex entries of our time domain sequence, then $k^{th}$ entry the DFT of $x_0,x_1,dots,x_{N-1}$ is simply given by
$$
X_k = langle x,v_k rangle
$$
and the IDFT is computed by finding
$$
x = sum_{k=0}^{N-1} X_k v_k
$$
That is certainly my intuition for the computational process, and I find that helps. What this doesn't really help with is why we'd want to deal with complex exponentials in the first place, but if you've seen DFTs already I suppose you have some idea.
$endgroup$
So first things first: the FFT simply refers to the algorithm by which one may compute the DFT. So, if you understand the DFT, you understand the FFT as far as intuition goes (I think).
Now with the DFT, our goal is to write of $N$ points $x_0,x_1,...,x_{N-1}$ as the sum of complex exponentials. That is, we say that $X_n$ is the DFT of $x_n$ exactly when
$$
x_n = frac{1}{N} sum_{k=0}^{N-1} X_k cdot e^{(2 pi i, k, n) / N}
$$
You might recognize this as the inverse DFT of $X_n$. The key is that for each $k$, each $e^{(2 pi i, k, n) / N}$ can be though of as a complex vector with $N$ entries. We could write
$$
v_k=left(frac 1N,frac1N e^{(2 pi i, k) / N},frac1N e^{(4 pi i, k) / N},dots,frac1N e^{(2 pi i, k, (N-1)) / N}right)
$$
There are $N$ vectors of this form (taking $k$ from $0$ to $N-1$), and we use them because they form an orthonormal basis of $mathbb C ^N$. That is, $langle v_k,v_j rangle$ is $1$ if $k=j$ and $0$ if $k≠j$. Because these vectors are orthonormal, we can change basis (i.e. find the DFT) by using the dot product rather than by solving a system of $N$ equations.
That is, if $x=(x_0,x_1,dots,x_{N-1})$ is the vector of complex entries of our time domain sequence, then $k^{th}$ entry the DFT of $x_0,x_1,dots,x_{N-1}$ is simply given by
$$
X_k = langle x,v_k rangle
$$
and the IDFT is computed by finding
$$
x = sum_{k=0}^{N-1} X_k v_k
$$
That is certainly my intuition for the computational process, and I find that helps. What this doesn't really help with is why we'd want to deal with complex exponentials in the first place, but if you've seen DFTs already I suppose you have some idea.
edited Apr 19 '14 at 2:56
answered Jun 26 '13 at 14:27
OmnomnomnomOmnomnomnom
128k791184
128k791184
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
add a comment |
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
$begingroup$
Is it possible to explain it intuitively too...?
$endgroup$
– nbro
Jan 19 at 13:14
add a comment |
$begingroup$
The discrete Fourier transform is a linear operator on $mathbb C^n$. The DFT simply changes basis to a special basis, the discrete Fourier basis. Each $n$th root of unity $omega$ gives us a discrete Fourier basis vector $v = (1, omega, omega^2,ldots,omega^{n-1})$. It's immediate to check that $v$ is an eigenvector of the cyclic shift operator $S$, with eigenvalue $omega$. Because $S$ preserves norms, $S$ is unitary, hence normal, so eigenvectors corresponding to distinct eigenvalues are orthogonal. Thus, once we normalize, we have an orthonormal basis.
$endgroup$
add a comment |
$begingroup$
The discrete Fourier transform is a linear operator on $mathbb C^n$. The DFT simply changes basis to a special basis, the discrete Fourier basis. Each $n$th root of unity $omega$ gives us a discrete Fourier basis vector $v = (1, omega, omega^2,ldots,omega^{n-1})$. It's immediate to check that $v$ is an eigenvector of the cyclic shift operator $S$, with eigenvalue $omega$. Because $S$ preserves norms, $S$ is unitary, hence normal, so eigenvectors corresponding to distinct eigenvalues are orthogonal. Thus, once we normalize, we have an orthonormal basis.
$endgroup$
add a comment |
$begingroup$
The discrete Fourier transform is a linear operator on $mathbb C^n$. The DFT simply changes basis to a special basis, the discrete Fourier basis. Each $n$th root of unity $omega$ gives us a discrete Fourier basis vector $v = (1, omega, omega^2,ldots,omega^{n-1})$. It's immediate to check that $v$ is an eigenvector of the cyclic shift operator $S$, with eigenvalue $omega$. Because $S$ preserves norms, $S$ is unitary, hence normal, so eigenvectors corresponding to distinct eigenvalues are orthogonal. Thus, once we normalize, we have an orthonormal basis.
$endgroup$
The discrete Fourier transform is a linear operator on $mathbb C^n$. The DFT simply changes basis to a special basis, the discrete Fourier basis. Each $n$th root of unity $omega$ gives us a discrete Fourier basis vector $v = (1, omega, omega^2,ldots,omega^{n-1})$. It's immediate to check that $v$ is an eigenvector of the cyclic shift operator $S$, with eigenvalue $omega$. Because $S$ preserves norms, $S$ is unitary, hence normal, so eigenvectors corresponding to distinct eigenvalues are orthogonal. Thus, once we normalize, we have an orthonormal basis.
edited Jun 6 '18 at 0:53
answered Nov 27 '13 at 0:21
littleOlittleO
29.8k646109
29.8k646109
add a comment |
add a comment |
$begingroup$
Here are two "intuitive" explanations of the Discrete Fourier Transform. They do not jump into equations directly, but walk you through in a wish-someone-told-me-this-before way
http://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
http://www.altdevblogaday.com/2011/05/17/understanding-the-fourier-transform/
and for Fast Fourier Transform
http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
$endgroup$
add a comment |
$begingroup$
Here are two "intuitive" explanations of the Discrete Fourier Transform. They do not jump into equations directly, but walk you through in a wish-someone-told-me-this-before way
http://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
http://www.altdevblogaday.com/2011/05/17/understanding-the-fourier-transform/
and for Fast Fourier Transform
http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
$endgroup$
add a comment |
$begingroup$
Here are two "intuitive" explanations of the Discrete Fourier Transform. They do not jump into equations directly, but walk you through in a wish-someone-told-me-this-before way
http://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
http://www.altdevblogaday.com/2011/05/17/understanding-the-fourier-transform/
and for Fast Fourier Transform
http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
$endgroup$
Here are two "intuitive" explanations of the Discrete Fourier Transform. They do not jump into equations directly, but walk you through in a wish-someone-told-me-this-before way
http://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
http://www.altdevblogaday.com/2011/05/17/understanding-the-fourier-transform/
and for Fast Fourier Transform
http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
answered Apr 19 '14 at 2:38
curryagecurryage
464518
464518
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f429993%2fwhat-are-discrete-and-fast-fourier-transform-intuitively%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
Try looking here: en.m.wikibooks.org/wiki/Digital_Signal_Processing/… Under the section "visualizing the discrete fourier transform". That may help.
$endgroup$
– user111726
Nov 26 '13 at 23:42
$begingroup$
Comments are not for extended discussion; this conversation has been moved to chat.
$endgroup$
– quid♦
Jan 19 at 15:37