fourier

advertisement
Author:
Subj:
Keyw:
Date:
[Robert W Yoder]
Digital Signal Processing
Fourier
Sat Jul 28 1990 07:02
[Note: The FOURIER directory on the disk contains all the programs
mentioned
below. They were written for the HP 28, and merely ported to the HP 48;
no
effort was made to redo them using more powerful 48 commands. -jkh-]
Here is a set of programs for digital signal processing.
Some have been posted before, and some are modifications of prior
postings.
The DFT and FFT are the fastest/smallest I've found.
The Two-Dimensional Fourier programs are all new.
These are posted as a set because many of them call others in the set.
The following programs are called, but not listed here:
"FAST" is a program thats sets the HP28 to maximum speed.
[Note: since the 48 is already at full speed, I omitted all
calls
to the FAST program. -jkh-]
"ROUN" is a program that cleans up the output to eliminate the inherent
computational errors involving fractional parts containing
trailing
9's, or infinitesimal values. I highly recommend using it.
[Note: Replaced by -10 RND in the disk version. -jkh-]
Included are:
Discrete Fourier Transform (also does inverse)
Fast Fourier Transform
Inverse Fast Fourier Transform
Fourier Transform (selects FFT or DFT depending on size)
Inverse Fourier Transform (selects FFT or DFT depending on size)
Periodic Convolution
Aperiodic Convolution
Two Dimensional Fourier Transform
Inverse Two Dimensional Fourier Transform
Axis Shifter for use with Two Dimensional Fourier Transforms
-----------------------------------------------------------------------------Discrete Fourier Transform
input: level 2; vector
input: level 1; '1' for for fourier transform, '-1' for inverse transform
output:level 1; transformed vector
-----------------------------------------------------------------------------Fast Fourier Transform by lehmann_a%ELDE.EPFL.CH@VM1.NoDak.EDU
input: level 2; vector
output:level 1; transformed vector
-----------------------------------------------------------------------------Inverse Fast Fourier Transform by: lehmann_a%ELDE.EPFL.CH@VM1.NoDak.EDU
input: level 2; vector
output:level 1; transformed vector
-----------------------------------------------------------------------------Fourier Transform
FT checks size and calls FFT if size is a power of 2, else calls DFT.
input: level 1; vector
output:level 1; transformed vector
-----------------------------------------------------------------------------Inverse Fourier Transform
INVFT checks size and calls FFTI if size is a power of 2, else calls DFT.
input: level 2; vector
output:level 1; transformed vector
-----------------------------------------------------------------------------Periodic Convolution
NOTE: Input vectors MUST be of same size!
input: level 2; vector
input: level 2; vector
output:level 1; convolved vector of same size
-----------------------------------------------------------------------------Aperiodic Convolution
input: level 2; vector
input: level 1; vector
output:level 1; convolved vector of size size(v1) + size(v2) - 1
-----------------------------------------------------------------------------Two Dimensional Fourier Transform
NOTE: Number of rows, and number of columns, must be an even power of
two.
Pad matrix with zeroes if necessary.
input: level 2; matrix
output:level 1; transformed matrix
-----------------------------------------------------------------------------Inverse Two Dimensional Fourier Transform
NOTE: Number of rows, and number of columns, must be an even power of
two.
Pad matrix with zeroes if necessary.
input: level 2; matrix
output:level 1; transformed matrix
-----------------------------------------------------------------------------Axis Shift for Two Dimensional Fourier Transforms
Shifts axis from upper right corner to center of matrix, by swapping
quadrant
2 with quadrant 4, and swapping quadrant 1 with quadrant 4.
NOTE: Number of rows, and number of columns, must be an even.
Pad matrix with zeroes if necessary.
input: level 2; matrix
output:level 1; shifted matrix
-Robert Yoder 306 Hawkins Graduate House, West Lafayette, IN 47906
(317)495-6845
Internet: ryoder@ecn.purdue.edu
"Flame all you want, We'll post
more."
UUCP:
ryoder!pur-ee
Apologies to Jay Leno &
Doritos.
Bitnet:
ryoder@ecn.purdue.edu@purccvm.bitnet
Download