[comp.lang.c] Fast Fourier Transform

uace0@uhnix2.UUCP (Univ ATARI Comp Enthusiasts) (07/11/87)

In article <1065@bloom-beacon.MIT.EDU> dquah@ares.UUCP (Danny Quah) writes:
>	This is my third posting on this in as many months; I ...
                   ^^^^^
I've watched all 3 go by with no response as well.
So does anyone out there have one?  (A fast fourier transform algorithm
written in C. -- Actually I could port it from FORTRAN, Danny.)

Neal Symms,
University of Houston
..!academ!uhnix1!uhnix2!uace0-- 
>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<      UACE
+  A Smith & Wesson beats a four of a kind!   +      uhnix2!uace0
>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<

alee@tybalt.caltech.edu (Andrew Lee) (07/16/87)

	I just posted an n-dimensional, radix 2 FFT routine to
comp.sources.misc.  What's wrong with simply padding the array with zeroes
to a power of 2?

	Andrew Lee
	alee@caltech.bitnet, alee@tybalt.caltech.edu,
	...!seismo!cit-vax!tybaltr isr 

rob@cs.vu.nl (Rob van Leeuwen) (07/16/87)

A friend of mine wrote an fft-package in C.  If you're interested, send him
a message: valke@cs.vu.nl.  He's away for holidays now, but will be back in
three weeks or so.

platt@emory.uucp (Dan Platt) (07/17/87)

In article <3251@cit-vax.Caltech.Edu> alee@tybalt.caltech.edu.UUCP (Andrew Lee) writes:
>...  What's wrong with simply padding the array with zeroes
>to a power of 2?
>
The problem with padding with zero's is that it introduces a window in the
data which the transform tries to fit with a superposition of frequencies
producing a pattern which would be the convolution of your data with a
sin(omega*T)/(omega*T) like function, where omega is the frequency, and
T is the size of the window.  This generaly produces ringing (false
oscilations) which wouldn't be inherent in your data at the start.

Hope this is  a help...
Dan
 

richard@islenet.UUCP (Richard Foulk) (07/17/87)

In article <407@uhnix2.UUCP> uace0@uhnix2.UUCP (Neal Symms) writes:
> In article <1065@bloom-beacon.MIT.EDU> dquah@ares.UUCP (Danny Quah) writes:
> >	This is my third posting on this in as many months; I ...
>                    ^^^^^
> I've watched all 3 go by with no response as well.
> So does anyone out there have one?  (A fast fourier transform algorithm
> written in C. -- Actually I could port it from FORTRAN, Danny.)
> 

Or if someone has a version in BASIC (gross, but I've seen them) I'll
be glad to run it through our translator.






-- 
Richard Foulk		...{dual,vortex,ihnp4}!islenet!richard
Honolulu, Hawaii

grk@sfsup.UUCP (G.R.Kuntz) (07/17/87)

Several years ago I saw an article in BYTE about a 2-dimensional FFT
for a Commodore PET (yeah, I bet you thought there were only good for
controlling toasters :-) ).  This allowed the user to enter a picture
using a simple up-down-left-right editor, and then do a 2-d FFT on it,
destroy part of the result with the editor, and then do a reverse FFT
and GET MOST OF THE PICTURE BACK.  It flipped me out, even though I
knew that a hologram is really just an analog fourier transform or
something like an FT.  I was wondering if the 2-d FFT is done by
performing a regular FFT on each row, and then the same on each
column.  Anyone know? (Wrong group for FFT discussions, but if someone
has one in C, we could try the picture stuff.)

			Cheers, Ralph
-- 
	G. Ralph Kuntz N2HBN	UUCP: {ihnp4,allegra}!attunix!grk
				ARPA: rutgers.rutgers.edu!pisc2b!grk
				PACKET: N2HBN @ NN2Z

coleman@sask.UUCP (Geoff Coleman @ College of Engineering) (07/20/87)

> Keywords: fft, general radix, C
> Xref: sask comp.lang.c:2650 comp.sources.d:863
> Posted: Thu Jul 16 22:13:36 1987
>> >	This is my third posting on this in as many months; I ...
>>                    ^^^^^
Ok already
	I'll dig out a C version of an fft program. I have it stored 
somewhere on tape. It is a conversion from the fortran fft subroutine
that is given in "Digital Image Processing" by Ganzalez and Wintz.

Hopefully I'll get it posted to comp.sources tomorrow.


-- 
Geoff Coleman                         | BITNET: Coleman@sask
College of Engineering                | UUCP: {utcsri,ihnp4}!sask!skul!geoff
University of Saskatchewan            | Compserve: 76515,1513  just a number 
Saskatoon, Saskatchewan               | voice: (306) 966-5415

matt@jaws.UChicago.EDU (Matt Crawford) (07/21/87)

In response to those looking for a fast Fourier transformer:

Send a mail message to research!netlib, with a body consisting
of:
	send index

or:
	send index from fftpack

or include both lines in a single message.  You'll get back a
list of available programs (mostly fortran) and a short
description of each.  You can ask for any of the programs listed
by sending another message of the form:

	send fooprog from barpack

Internet users can send requests to the address
netlib@anl-mcs.arpa.
________________________________________________________
Matt	     University		matt@oddjob.uchicago.edu
Crawford     of Chicago     {astrovax,ihnp4}!oddjob!matt

rice@swatsun (Dan Rice) (07/21/87)

In article <1646@sfsup.UUCP>, grk@sfsup.UUCP (G.R.Kuntz) writes:
. I was wondering if the 2-d FFT is done by performing a regular FFT on each
. row, and then the same on each column.  Anyone know?

	That's correct.  See, for example, _Numerical Recipes_, Press, Flannery,
Teukolsky, and Vetterling, Cambridge Unversity Press, 1986, chapter 12.
-- 
- Dan Rice, Swarthmore College, Swarthmore PA 19081
...!sun!liberty!swatsun!rice
 ...!seismo!bpa!swatsun!rice

ADLER1%BRANDEIS.BITNET@wiscvm.wisc.EDU (07/23/87)

I have noticed recent messages requesting software which performs fast fourier
transforms. A friend of mine has been working on this. If you are interested
in purchasing what he has, you can contact him directly from the information
below. He is not a subscriber to INFO-C but when I told him about the interest
in FFT code he drafted the following reply and asked me to post it on the net.

-------------------------------------------------------------------------------
     With regard to your request for FFT code in C, I may have what you need.
I have written routines based on the Cooley-Tukey algorithm to perform forward
and inverse transforms of real and complex arrays, Hamming windowing,
conversion between sine-cosine and phase-amplitude representations, and power
spectrum calculation.  You may contact me on BitNet at ERICHSEN@SBBIOVM.BITNET ;
address correspondence to the attention of Tom Schotland.
-------------------------------------------------------------------------------