Azzera filtri
Azzera filtri

Why is the FFT of a constant returns 0 for the angle?

2 visualizzazioni (ultimi 30 giorni)
Is there an explanation to this? Thank you in advance.
  2 Commenti
Nina
Nina il 19 Feb 2013
I was not expecting anything, I was just curious about the reasons I guess...

Accedi per commentare.

Risposta accettata

Wayne King
Wayne King il 19 Feb 2013
Modificato: Wayne King il 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))

Più risposte (1)

Matt J
Matt J il 19 Feb 2013
Modificato: Matt J il 19 Feb 2013
Symmetry, for one thing. A real symmetric signal always has a real symmetric spectrum, and real-valued spectra have 0 phase.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by