Here's a relatively arcane issue that I hope someone has the answer for.

I understand that given the vagarities of FFT's if I start with

a waveform of say 256 _or_ 257 points I will end up with an fft

of 129 points. That's fine.

Conversely, if I take an ifft of the spectrum (129) points I can

get either a 256 or 257 point waveform.

The question is- how do I control which waveform to get?

By experiment, if I take a waveform and then take an fft and an ifft

I get exactly the original waveform

ifft(fft(256 point waveform)) gives a 256 point waveform

ifft(fft(257 point waveform)) gives a 257 point waveform

This is great.

HOWEVER, it seems that if I do anything to the spectrum in between

the fft and ifft, then I don't know what I will get back

for example:

ifft(randomize(fft(256 point waveform))) gives a 257 point waveform

ifft(sin(fft(256 point waveform))) gives a 256 point waveform

and it seems that any time I create a spectrum using the BUILD SPECTRUM

object I get the 257 point waveform

ifft(129 point spectrum built from BUILD SPECTRUM) gives a 257 point waveform

***************

BOTTOM LINE: I need to be able to control this so that there is a consistent

result!

Any hints would be appreciated.

thanks

Stan Bischof

----------------------------------------------------------------------

Stan Bischof Hewlett Packard Company 707-577-3994 rsb@sr.hp.com

----------------------------------------------------------------------

I understand that given the vagarities of FFT's if I start with

a waveform of say 256 _or_ 257 points I will end up with an fft

of 129 points. That's fine.

Conversely, if I take an ifft of the spectrum (129) points I can

get either a 256 or 257 point waveform.

The question is- how do I control which waveform to get?

By experiment, if I take a waveform and then take an fft and an ifft

I get exactly the original waveform

ifft(fft(256 point waveform)) gives a 256 point waveform

ifft(fft(257 point waveform)) gives a 257 point waveform

This is great.

HOWEVER, it seems that if I do anything to the spectrum in between

the fft and ifft, then I don't know what I will get back

for example:

ifft(randomize(fft(256 point waveform))) gives a 257 point waveform

ifft(sin(fft(256 point waveform))) gives a 256 point waveform

and it seems that any time I create a spectrum using the BUILD SPECTRUM

object I get the 257 point waveform

ifft(129 point spectrum built from BUILD SPECTRUM) gives a 257 point waveform

***************

BOTTOM LINE: I need to be able to control this so that there is a consistent

result!

Any hints would be appreciated.

thanks

Stan Bischof

----------------------------------------------------------------------

Stan Bischof Hewlett Packard Company 707-577-3994 rsb@sr.hp.com

----------------------------------------------------------------------