help-octave
[Top][All Lists]

Re: FFT output changes depending on row column vector

 From: Peter L. Subject: Re: FFT output changes depending on row column vector Date: Tue, 14 Apr 2009 10:04:15 +0200

No,

that is the mathematically correct behaviour.

fft(x) is complex valued, so fft(x)' is the complex conjugate transpose
of the vector, and doing the operation you describe amounts to what is
called an involution: x(t) = x(-t) counting from zero.

This means that you get the vector reversed, except for the first
element x(0) which stays in place.

Try

sumsq(fft(x) - fft(x.').')

Cheers,

Peter.

tir, 14 04 2009 kl. 12:38 +1000, skrev Keith Bannister:
> Hi,
>
> Please don't flame me, but I'm having a really weird issue.
>
> I was hoping taking the FFT of a row would give the the same result as
> the transpose of the fft of a column. The FFT of a column seems to be
> some weird reversed version of what I expect.
>
> Here's some code:
>
> octave2.9:85> version
> ans = 2.9.9
> octave2.9:81> x = exp(2*pi()*I()*4*[1:32]/32);
> octave2.9:101> sumsq(fft(x) - fft(x')')
> ans =  2048.0
> octave2.9:102> [maxv, maxi] = max(abs(fft(x)))
> maxv =  32
> maxi =  5
> octave2.9:103> [maxv, maxi] = max(abs(fft(x')'))
> maxv =  32
> maxi =  29
>
> The documentation (and google AFAIK) don't mention this. Do I have a
> duff installation or something?
>

reply via email to