From: weilai on
I am new to FFT and have read some online notes and help on FFT. For a
discrete time signal, I understand the FFT in Matlab will give
conjugate-symmetric phase response. Basically, the phases in the positive
and negative
frequencies have phases of the same value but opposite signs. However,
I read it online at several places that the phase shift between the
positive and negative frequencies is 180 degrees. I also read it
online that the negative frequency coefficient is the multiplication
of the positive frequency information by (-1)^(n-1). Neither of these
two cases correspond to what is happening in Matlab. I was wondering
if there are different implementations of FFT out there. I am asking this
because I have some experimental data which seem to suggest the phase
angles from a DSP in an instrument were all shifted by 180 degrees.


From: Rune Allnor on
On 20 Jan, 13:27, "weilai" <wei.wei...(a)gmail.com> wrote:
> I am new to FFT and have read some online notes and help on FFT. For a
> discrete time signal, I understand the FFT in Matlab will give
> conjugate-symmetric phase response. Basically, the phases in the positive
> and negative
> frequencies have phases of the same value but opposite signs.

This is true if the original signal is real-valued. The FFT
can be used to transform complex-valued data (data that have
non-zero imaginary parts), in which case the result is not
conjugate symmetric.

> However,
> I read it online at several places that the phase shift between the
> positive and negative frequencies is 180 degrees. I also read it
> online that the negative frequency coefficient is the multiplication
> of the positive frequency information by (-1)^(n-1).

Seems like something that might happen if the transformed signal
is real-valued and symmetric: x[-n] = x[n].

> Neither of these
> two cases correspond to what is happening in Matlab. I was wondering
> if there are different implementations of FFT out there. I am asking this
> because I have some experimental data which seem to suggest the phase
> angles from a DSP in an instrument were all shifted by 180 degrees.

Whenever people state such properties, there is some sort
of underlying assumption that may or may not be clearly
stated. The trick is to

1) Realize that almost any result, theorem or statement
is based on such assumptions
2) Try and dig out from somewhere exactky what those
assumptions might be.

Rune
From: weilai on
>On 20 Jan, 13:27, "weilai" <wei.wei...(a)gmail.com> wrote:
>> I am new to FFT and have read some online notes and help on FFT. For a
>> discrete time signal, I understand the FFT in Matlab will give
>> conjugate-symmetric phase response. Basically, the phases in the
positive
>> and negative
>> frequencies have phases of the same value but opposite signs.
>
>This is true if the original signal is real-valued. The FFT
>can be used to transform complex-valued data (data that have
>non-zero imaginary parts), in which case the result is not
>conjugate symmetric.
>
>> However,
>> I read it online at several places that the phase shift between the
>> positive and negative frequencies is 180 degrees. I also read it
>> online that the negative frequency coefficient is the multiplication
>> of the positive frequency information by (-1)^(n-1).
>
>Seems like something that might happen if the transformed signal
>is real-valued and symmetric: x[-n] = x[n].


If the transformed signal is real-valued and symmetric: x[-n] = x[n], the
phase difference should be 360 degrees? 180 degrees correspond to
x[-n]=-x[n]?


>
>> Neither of these
>> two cases correspond to what is happening in Matlab. I was wondering
>> if there are different implementations of FFT out there. I am asking
this
>> because I have some experimental data which seem to suggest the phase
>> angles from a DSP in an instrument were all shifted by 180 degrees.
>
>Whenever people state such properties, there is some sort
>of underlying assumption that may or may not be clearly
>stated. The trick is to
>
>1) Realize that almost any result, theorem or statement
> is based on such assumptions
>2) Try and dig out from somewhere exactky what those
> assumptions might be.
>
>Rune
>
From: Greg Berchin on
On Wed, 20 Jan 2010 06:27:22 -0600, "weilai" <wei.weilai(a)gmail.com> wrote:

>I have some experimental data which seem to suggest the phase
>angles from a DSP in an instrument were all shifted by 180 degrees.

Be aware that, in some disciplines, the forward DFT is defined using a negative
exponent (exp[-j2PIkn/N]), while in others the forward DFT is defined using a
positive exponent (exp[+j2PIkn/N]).

In signal processing we generally use the negative exponent form.

I believe that Matlab uses the positive exponent form.

Greg
From: Greg Berchin on
On Wed, 20 Jan 2010 10:29:37 -0500, Greg Berchin <gberchin(a)comicast.net.invalid>
wrote:

>I believe that Matlab uses the positive exponent form.

I just checked, and currently Matlab does use the signal processing standard
(negative exponent on the forward transform). Seems to me that this is a change
from early Matlab versions, but I could be wrong.

Greg