# Inverse Chirp Z Transform

I am working to understand and use the Chirp Z-Transform. I want to use the algorithm for simple signal processing on data sets that are not a power of two. I need to be able to inverse transform as I want to transform a set of data to the frequency domain and operate on the (complex) frequency coefficients, and then transform back to time. So for example, one operation I perform is to integrate the signal using the Omega method. Once I operate on the coefficients I need to transform back to the time domain. I believe I have the Chirp Z-Transform algorithm figured out. I can for example, pass in a 100 point time series made up of a few tones, and transform the series to the frequency domain using the Chirp Z-Transform. I get spectral content right where it should be. The question is, what do I do with those 100 complex valued coefficients to transform them back to a time series. At first I thought I would use a power of 2 FFT with the additional coefficients padded to zero. That didn't work and I now understand why that isn't the same thing as transforming only the 100 coefficients back to time. Could someone help me to understand how to inverse transform a non-power of 2 set of Fourier coefficients.

• Which software do you use? You don't need the Chirp Z-transform just because your data size is not a power of 2. E.g., FFTW can handle any input size (also primes, if you like). – Matt L. Jun 10 '14 at 20:49
• My code is written in C++. I have to target Windows and cross compile to ATMEL running Linux embedded. It’s a big code that has to deal with Sockets and a whole bunch of other things besides mathematics. I am intrigued by the Chirp Z-Transform because it allows the use of a standard power-of-two FFT algorithm. I have my tried-and-true FFT algorithm that is a modified version of the one found in Numerical Recipes and has had a decade of use in my code. Chirp Z allows me to continue using it. – Scott Jun 13 '14 at 16:44