Does anyone know how well a Goertzel implementation vs an FFT algorithm implemented in physical hardware, like an FPGA? Anyone have any benchmarks, etc? I looked at results I generated in Matlab, and the Goertzel algorithm seems to be calculated more readily than the FFT, but I am not an embedded programmer, so I don't know much about how well it would perform coded in VHDL etc.. I did do a google search, found lots of explanations and C code on how to implement it..but not to much in the way of hardware tests. Thanks, Craig

# Goertzel Algorithm in Hardware

Started by ●July 17, 2003

Reply by ●July 18, 20032003-07-18

Craig wrote:> Does anyone know how well a Goertzel implementation vs an FFT > algorithm implemented in physical hardware, like an FPGA? Anyone have > any benchmarks, etc? I looked at results I generated in Matlab, and > the Goertzel algorithm seems to be calculated more readily than the > FFT, but I am not an embedded programmer, so I don't know much about > how well it would perform coded in VHDL etc.. I did do a google > search, found lots of explanations and C code on how to implement > it..but not to much in the way of hardware tests.I've never worked with Goertzel algorithm, but I think it's safe to say that you need to compare what can be done in parallel with what must be done serially. How many calculations are really independent? How many depend on previous results? For C code, it's all serial. For VHDL, you can make it all serial, or you can make it mostly all parallel, depending on the number of gates you can spare for any one task. Physical hardware is almost always faster, but the decision may be "how much faster for how much money". To find out, you need to see how much you can do in parallel. Patience, persistence, truth, Dr. mike -- Mike Rosing www.beastrider.com BeastRider, LLC SHARC debug tools

Reply by ●July 19, 20032003-07-19

Mike Rosing <rosing@neurophys.wisc.edu> wrote in message news:<3F17AB35.3010507@neurophys.wisc.edu>...> Craig wrote: > > Does anyone know how well a Goertzel implementation vs an FFT > > algorithm implemented in physical hardware, like an FPGA? Anyone have > > any benchmarks, etc? I looked at results I generated in Matlab, and > > the Goertzel algorithm seems to be calculated more readily than the > > FFT, but I am not an embedded programmer, so I don't know much about > > how well it would perform coded in VHDL etc.. I did do a google > > search, found lots of explanations and C code on how to implement > > it..but not to much in the way of hardware tests. > > I've never worked with Goertzel algorithm, but I think it's safe to > say that you need to compare what can be done in parallel with what > must be done serially. How many calculations are really independent? > How many depend on previous results? For C code, it's all serial. > For VHDL, you can make it all serial, or you can make it mostly all > parallel, depending on the number of gates you can spare for any one > task. Physical hardware is almost always faster, but the decision > may be "how much faster for how much money". To find out, you need > to see how much you can do in parallel. > > Patience, persistence, truth, > Dr. mikeDr. Mike, understandable, but I was more curious since it perform better in code, than an fft algorithm in code, will that be held true in a hardware implementation of the same algorithm etc. -Craig

Reply by ●July 21, 20032003-07-21

This site lists a paper on the Goertzel in an FPGA: http://www.informatik.uni-trier.de/~ley/db/conf/fpl/fpl1999.html I have no idea how to get the paper though. "Craig" <crrea2@umkc.edu> wrote in message news:82396605.0307171022.7d30cc7c@posting.google.com...> Does anyone know how well a Goertzel implementation vs an FFT > algorithm implemented in physical hardware, like an FPGA? Anyone have > any benchmarks, etc? I looked at results I generated in Matlab, and > the Goertzel algorithm seems to be calculated more readily than the > FFT, but I am not an embedded programmer, so I don't know much about > how well it would perform coded in VHDL etc.. I did do a google > search, found lots of explanations and C code on how to implement > it..but not to much in the way of hardware tests. > Thanks, > > Craig