Why is the FFT of a constant returns 0 for the angle?
2 views (last 30 days)
Show older comments
Is there an explanation to this? Thank you in advance.
2 Comments
Accepted Answer
Wayne King
on 19 Feb 2013
Edited: Wayne King
on 19 Feb 2013
The DFT of a single constant, or a constant vector is only going to give a nonzero discrete Fourier transform coefficient at 0 frequency, the exp(-1i*2*pi*0/N), complex exponential.
Specifically, it will just be the sum of the elements in your vector. If you really meant a single constant, that is obviously equal to the constant
fft(2)
If you have a vector
x = 2*ones(10,1);
fft(x) % gives only one nonzero term (20) the sum of the element
For a real-valued signal that will always have a phase of 0 since it will be of the form
a+1i*0
where a is the sum. Note that if the input is complex-valued, the angle is the same as each of the constant inputs.
x = 2*ones(10,1)+1i*3*ones(10,1);
angle(x(1))
xdft = fft(x);
angle(xdft(1))
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!