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