discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Floating point FFT usage - suppress half of it?


From: CEL
Subject: Re: [Discuss-gnuradio] Floating point FFT usage - suppress half of it?
Date: Sun, 18 Mar 2018 14:17:08 +0000

Hi Brad,

> Put another way, is it safe to
> discard the left side of the output as it appears to consist only of
> aliases of the true data? 

Well, it does not contain information that's not in the other side
(it's not really an alias, though, but the conjugate mirror of the
other side).

> best way to recover the useful information from the FFT

What's the thing you want to achieve? Because "useful" and "best" are
meaningless without knowing what you want to do! :)

Regarding the numerical inefficiency of computing both sides of
something symmetric: The FFTW, the library used to actually compute
these DFTs, does come with an effort-reduced FFT for real-valued input
data, which will also only output one side of the spectrum.
The savings in CPU cycles are usually relatively modest (because the
non-hermitian FFT is already very optimized, and leaving out the
results stage doesn't simply go and half the effort) – the main
advantage would, in practice, probably be reduced memory bandwidth. 

But: audio sample rates on modern CPUs with FFTs of benign length might
not really be what you should worry about computationally, I'd guess.
What is the computational bottleneck you need to widen?

Best regards,
Marcus

On Sun, 2018-03-18 at 09:29 -0400, Brad Hein wrote:
> 
> Frequency domain output of the FFT block seems to be mirrored when
> using floating point data type. I recall that when using complex
> numbers this mirroring doesn't occur. The input I'm working with is
> 48khz sound from a wav file. I understand this mirroring is a
> characteristic of the Fourier transform, but what I'm wondering is
> what is the best way to recover the useful information from the FFT
> 
> I tried marshaling the data into complex data before feeding it into
> the FFT but I couldn't get a reliable process.
> 
> If discarding half of the FFT output is the way to go then what about
> the wasted CPU in calculating that half of the frequency domain - is
> there a better way to recover the useful frequency domain
> information?
> 
> Thanks!
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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