Reply by Jon Harris 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
Reply by Craig 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. mike
Dr. 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 Mike Rosing 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 Craig July 17, 20032003-07-17
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