Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: WARNING: Is there a use for ifft(X,M)?
Date: Fri, 12 Jun 2009 20:27:02 +0000 (UTC)
Organization: Xoran Technologies
Lines: 42
Message-ID: <h0udmm$6ro$1@fred.mathworks.com>
References: <8c3ffec9-42f0-4ba1-ac3c-f826d56dd963@y7g2000yqa.googlegroups.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1244838422 7032 172.30.248.35 (12 Jun 2009 20:27:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Fri, 12 Jun 2009 20:27:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1440443
Xref: news.mathworks.com comp.soft-sys.matlab:547014


Greg Heath <heath@alumni.brown.edu> wrote in message <8c3ffec9-42f0-4ba1-ac3c-f826d56dd963@y7g2000yqa.googlegroups.com>...
 

> As long as the N components of the time sampled row
> vector function x are presented in chronological order,
> the use of fft(x,M) as shorthand for the zeropadding
> operation fft([x,zeros(1,M-N)]) is relatively
> straightforward.
>
> In contrast, it has been show in recent posts, e.g.,
> 
> http://groups.google.com/group/comp.soft-sys.matlab/
> msg/a76d7837e3d84bcf?hl=en
> 
> that when zero padding in the spectral domain, it is
> essential to add the zeros so that both the real and
> imaginary parts of the result are conjugate symmetric.

I wouldn't confine this to the spectral domain. Might I not want to interpolate spectral samples using the dual of this technique, by zero-padding in the non-Fourier domain? In this case, the same concerns apply when pre-padding fft() input. 

Zero-padding the symmetric sequence  [a b c d c b a] 
results in 
[a b c d c b a 0 0 0 0 ...] 
which ruins conjugate symmetry, i.e. b is not the conjugate of 0, etc...


> The purpose of this thread is to warn potential users
> that none of the three techniques in the above reference
> involves appending the zeros at the end of the spectrum
> obtained from fft(x).
>
> Therefore, I can find no use for ifft(X,M).


What if the spectrum is not obtained from fft(x), but rather by some other means? For example, in MRI, spectral samples are obtained by direct measurement, and not by fft computation.


Also, if I want to convolve two spectra X and Y each of length M, this form still has a use

fft( ifft(X,M).*ifft(Y,M-1))

Can I find an instance where this would be applied? Perhaps to filter noisy spectral estimates...