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