discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] FFT --> IFFT


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] FFT --> IFFT
Date: Mon, 18 Nov 2013 08:33:31 -0500

On Mon, Nov 18, 2013 at 8:22 AM, Robert James <address@hidden> wrote:
> On 11/18/13, Marcus Müller <address@hidden> wrote:
>> Hi Robert!
>>
>> This is strange -- but could be explained by the fact that numerical
>> inaccuracy don't allow us to *exactly* recreate all values during fft-ifft
>> operation.
>> Also, make sure you use a rectangular window.
>
> Wow, switching to a rectangular window of fft_size solved it! I'm
> baffled: I know windows are a way of pretransforming the wave prior to
> FFT, to eliminate artifacts.  I just used the default window.  Why did
> I need a rectangular window here? In what other cases do I need it?

Were both windows the same or different? I've often seen people trying
this experiment using a window on the forward FFT but no window on the
inverse FFT. That would obviously cause different output results.

> Now, the only discrepancy I see is that the FFT->IFFT ended up
> *increasing* the amplitutde by a constant (not sure why or what the
> constant is).

The constant is N for an N-point FFT. It's part of the common
algorithms for computing FFTs to grow the value without scaling it
back, since that's an added extra step and we want our FFTs to be
fast. You can use a multiply_const_cc block with constant (1.0/fftlen)
after the vector-to-stream block to rescale it yourself.

Tom



reply via email to

[Prev in Thread] Current Thread [Next in Thread]