From: Scott Dattalo <scott@da...>  20090514 15:33:24

Hi Vasek, > I'd like to implement fast Goertzel DFT algorithm over the data from > 12bit ADC and 32bit seems to me overkill. What are you trying to do that requires the Goertzel algorithm? Do you need to detect a tone in the presence of noise? It may be possible (depending on your application) to use quadrature square waves instead of sines and cosines. For example, the frequency you're trying to measure has a period T. Break T into for quadrants. Find the sum of your input signal over each quadrant. The sum of the first two quadrants minus the sum of the last two is like multiplying by a sine wave (quantized to 1,1). Similarly, the sum of the middle two quadrants minus the sum of the first and last quadrant is like multiplying by a cosine. If square waves are too coarse, then you can break the interval into 8'ths or 16'ths and use quantized sines and cosines (i.e. 3 or 4 level steps) The magnitude (square root of the sum of the sinesquared and cosinesquared outputs) can be estimate with relatively simple arithmetic (look for 'magnitude estimators') Scott 