[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
smime.p7s
Description: S/MIME cryptographic signature