Re: Discrete Fourier Transform (DFT) viewer and/or file format
On Mon, Nov 13, 2017 at 1:31 AM, <firstname.lastname@example.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> On Sun, Nov 12, 2017 at 07:45:13PM -0800, Dan Hitt wrote:
>> I have some DFTs that i wish to inspect. (Apparently DFT is a common
>> acronym, but here i mean Discrete Fourier Transform. And properly
>> speaking it doesn't make sense to inspect a transform, but only to
>> inspect transformed data, but i'm speaking colloquially.)
> Uh, oh. To answer that without getting lost in Hilbert Space means
> consulting my (rusty) crystal ball :-)
> Now more seriously: what do you mean by "inspecting" a DFT?
> A DFT is just a trick to approximate a Fourier transform on an
> (approximate) function. Are you talking about one dimensional
> functions (e.g. a function of time) or two (three, etc.) dimensional
> functions? Their transforms are, correspondingly, one, two (and
> so on) dimensional functions, so the visualization techniques
> vary, depending on dimensionality and on the conventions current
> in the field (engineering, social sciences, maths, whatever).
> I'd recommend looking into some of the many (excellent) scientific
> packages having a visualization components, each one of which
> has a teeming community willing to help you.
> For three examples off the top of my head (all three packaged
> in Debian):
> GNU Octave https://www.gnu.org/software/octave/
> NumPy http://www.numpy.org/
> GNU R https://www.r-project.org/
> The last one is touted as "statistical package", but let me tell
> you: all three are not only capable of visualizing (the result of)
> a discrete DFT, but all three can calculate one for you :-)
> Now if you are trying to visualize the result of a DFT on an image
> (a special two dimensional case, where you think of the discrete
> elements as of pixels), then perhaps a graphical package (e.g.
> The Gimp) is your friend. Also packaged in Debian.
> For more of those "scientific computing" packages, browsing this
> might be of interest (or just drop "Debian scientific computing"
> into your favourite search engine, which hopefully ain't Google).
Thanks Tomás, Richard, Eike, and Henning for your replies! :)
As for usenet, thanks for the leads on the various providers
(aeiou.net, individual.net, supernews.com). I'm still pondering what
to do about that, but text-only groups are a plus imvho.
Tomás, you are right to question me about the dimension. How could i
expect anybody to read my mind?
Now, although i'm curious about how multidimensional DFTs might be
stored, what i secretly had in mind was the 1d case.
And although under suitable conditions a DFT can approximate a Fourier
transform or series, i'd be content with just the case of inspecting
the transform of finitely many points without any reference to
limiting behavior. (More about 'inspecting' below.)
And it is true that it has never been easier to take a DFT, at least a
1d one with packages like FFTW (which presumably is compiled into
numpy and octave, and maybe R?).
The actual problem i faced was that i had a long computation and deep
in the middle somewhere was a DFT, and my results made no sense.
Subsequently it turned out that i goofed on a factor of 2, so my
question is moot now, at least, until i get stuck the same way again.
But before i knew where my mistake was, i thought surely i could emit
the DFT from the midst of the computation and do a sanity check on it.
And i didn't want to reinvent any wheels.
So since so many people deal with DFTs for doing so many things, it
seemed like there might be a standard format lying around somewhere
that i could just use.
Sort of like if you have an image you'd like to see, you can convert
it to jpg or png or some other widely known format, and take a look at
it. The 'file' program knows exactly what such an image format is,
and there's a universal, unambiguous interpretation.
So i was hoping there was a DFT format of some sort, that would be
recognized by the standard tools, and i could just put the data in the
standard format, and use some standard tool let me inspect it -----
i.e., represent the magnitude and phase somehow, maybe provide some
clues as to where most of the mass was, that sort of thing. I
wouldn't want to code my own tool for doing it, because i was already
doing it wrong (despite how easy and reliable our modern software
development is). I wanted to use somebody else's tool as a check
against me repeatedly making the same error of whatever sort.
However, my guess is that Henning is right, and this just doesn't
exist, but if it does exist, i'd like to know about it ! :) :)
And . . . thanks for the reference to DebianScience.
Thanks everybody for all your help!