[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Geortzel DFT implementation checked in
From: |
Johnathan Corgan |
Subject: |
[Discuss-gnuradio] Geortzel DFT implementation checked in |
Date: |
Sun, 25 Jun 2006 12:58:40 -0700 |
User-agent: |
Thunderbird 1.5.0.2 (X11/20060522) |
Checked in to CVS are a C++ implementation and stream processing block
for the Goertzel single-bin DFT transform.
The C++ class constructor takes the sample rate, length of the Goertzel
block, and the frequency of the bin of interest:
gri_goertzel::gri_goertzel(int rate, int points, float freq);
The frequency does not have to be "centered on a bin" such as when doing
a standard DFT.
By calling the dft member function with a pointer to an array of floats,
one receives the real and imaginary parts of the DFT transform of the
array for the frequency specified in the constructor:
gr_complex gri_goertzel::dft(float *input);
Wrapped around this is a signal processing block that accepts a
real-valued stream of floats and outputs a complex stream of DFT
outputs, at a rate equal to the input rate / length of the Goertzel
transform:
gr.goertzel_fc(rate, points, freq)
Basic testing with a variety of inputs shows correct functioning but no
automated QA script is in place yet.
The C++ class will be used as part of the planned gr.ctcss_squelch() block.
-Johnathan, AE6HO
- [Discuss-gnuradio] Geortzel DFT implementation checked in,
Johnathan Corgan <=