Metropoli BBS
VIEWER: dsp.doc MODE: TEXT (ASCII)
The programs in this directory were written to help with a DSP course.  The 
Chirp-Z algorithm was actually a homework assignment that my professor let me
do on the HP48.  These programs are entirely user RPL, and are rather slow
for very long vectors, but I can't imagine why anyone would want to do FFTs
of anything longer than about 128 on a calculator anyway.  If people find
these useful and let me know, I may try a SysRPL version.

The Sample and Plot programs were written by John Paul Morrison and come from 
the fftgx directory.

Descriptions:

DFT and IDFT: << FFT >> and << IFFT >> - so I wouldn't have to type them 
              out every time, or search through MTH menus.

ChrpZ:        Takes one, two, or four arguments.  
               
              1: [ n1 n2 n3 ... ]

              With a single vector in level 1, ChrpZ does a DFT of that
              vector.  Any length vector is acceptable (not just powers
              of 2).  The program uses the Chirp-Z transform algorithm
              for computing the DFT

              2: [ n1 n2 n3 ... ]
              1: N

              With a vector in level 2, and a number in level 1, ChrpZ
              will give N samples of the DTFT of the vector in level 2. 
              Again, any length vector is acceptable.

              4: [ n1 n2 n3 ... ]
              3: N
              2: start
              1: finish

              With these arguments, ChrpZ will compute a "Zoom FFT" - it 
              will give N samples of the  DTFT between the angles specified.
              (e.g. N = 10, start = pi/3, finish = pi/2: the result will be
              a vector containing the 10 samples of the DTFT of the original
              sequence evenly spaced between pi/3 and pi/2.  Both start and 
              finish angles must be between 0 and 2*pi.

MagP:         Plots the magnitude of a complex sequence.

PhsP:         Plots the phase of a complex sequence.

Zpad:         Zero pads a sequence to a specified length:

              2: [ n1 n2 n3 ... ]
              1: N

              Zpad will return a vector of length N consisting of the original
              vector padded with zeros.

Sample:       Samples an algebraic:

              5: 'equation'
              4: 'variable'
              3: start
              2: finish
              1: N

              Result will be a vector of length N consisting of samples of
              the equation between times start and finish.

Win:         "Windows" or multiplies the vectors in levels 1 and 2 element by
             element.  The only restriction is they must be the same length.

Ham:         Creates a Hamming window of length specified in level 1.

Cnvlv:       Does a fast linear convolution using the FFT of the vectors in 
             level 1 and level 2.  Any length vectors are acceptable.

Plot:        Barplot of a real vector.

If you find these useful or have comments/questions, please let me know.  My 
Email address is m-dickey@coewl.cen.uiuc.edu                           

Michael Dickey
[ RETURN TO DIRECTORY ]