DIRECTORY Complex, Rope; FFT: CEDAR DEFINITIONS = BEGIN Watts, DBM, Volts, Hz, Seconds, Degrees: TYPE = REAL; CVecRef: TYPE = REF CVec; CVec: TYPE = RECORD [ totalTime: Seconds _ 1.0, v: SEQUENCE size: NAT OF Complex.VEC ]; NewCVec: PROC [ size: NAT _ 32, totalTime: Seconds _ 1.0, like: CVecRef _ NIL ] RETURNS [ v: CVecRef ]; CopyCVec: PROC [ from: CVecRef ] RETURNS [ v: CVecRef ]; AddCosWave: PROC [ v: CVecRef, freq: Hz, magnitude: Volts _ 1.0, phase: Degrees _ 0.0 ]; AddNoise: PROC [ v: CVecRef, powerPerHz: DBM _ 1.0, ohms: REAL _ 50.0 ]; TimeToFreq, FreqToTime: PROC [ v: CVecRef ]; Print: PROC [ v: CVecRef ] RETURNS [ Rope.ROPE ]; END. öFFT.mesa Russ Atkinson (RRA) May 24, 1985 5:39:19 pm PDT Routines to implement the Cooley-Tukey Fast Fourier Transform, etc. last modified by McCreight, November 14, 1984 10:42:42 am PST the sequence must have a size equal to a power of 2 ÊJ˜šœ™Icode™/—J˜JšœC™CJ˜Jšœ=™=J˜šÏk ˜ J˜J˜J˜—šœœ œ˜Jš˜Jšœ)œœ˜5J˜Jšœ œœ˜šœœœ˜Jšœ˜šœœœœ ˜$Jšœ3™3—Jšœ˜J˜—Jš Ïnœœ œ1œœ˜gJšžœœœ˜8Jšž œœH˜XJšžœœœœ ˜HJšœ ž œœ˜,Jšžœœœœ˜1J˜Jšœ˜—J˜—…—’Ò