Connect with us

Alternative to fourier transform

Discussion in 'Electronic Design' started by Rene Tschaggelar, Dec 29, 2004.

Scroll to continue with content
  1. There was this alternative to the FFT being mentioned a
    few months ago. It was to be continous in time and not
    blockwise.
    As I remember, it was said to be advantageous in cases
    where 499.9Hz and 500Hz are to be resolved.
    I lost the reference to it, a name would be sufficient.

    Rene
     
  2. Tim Wescott

    Tim Wescott Guest

    If you're only trying to distinguish between those two frequencies then
    a plain old IIR bandpass filter would probably be appropriate.
     
  3. Active8

    Active8 Guest

    Wavelet?
     
  4. Rich Webb

    Rich Webb Guest

    The Goertzel algorithm perhaps?

    http://www.embedded.com/story/OEG20020819S0057
     
  5. Tim Shoppa

    Tim Shoppa Guest

    It depends on what you're doing.

    If the signal has no noise and well-defined zero crossings, just
    measuring the period will tell you whether you've got 499.9Hz or 500Hz
    in a single cycle. (Or half-cycle if you guarantee a square wave).

    If other frequencies are present and/or noise etc., but you still have
    to measure the amplitudes at a small number of frequencies (your
    example named two, other applications like DTMF might have 8), then IIR
    bandpass filters work nicely and you don't have to do Fourier at all.

    Fourier is nice and all that if you really need to know amplitude and
    phase for each and every bin, but most applications simply don't need
    anything like that and are easily satisfied with a miniscule amount of
    computational horsepower.

    Tim.
     
  6. The Maximum Entropy method? Lomb periodogram? (Just
    wild guesses).

    http://www.library.cornell.edu/nr/cbookcpdf.html

    Regards,
    Mikko
     
  7. Yes, the Goertzel algoorthim. Can be used for DTMF decoding, if thats what the OP had in mind. An issue of Embedded Systems had a
    great article on it.

    Cheers
     
  8. wavelets.
    http://www.tinaja.com/wave01.asp

    --
    Many thanks,

    Don Lancaster
    Synergetics 3860 West First Street Box 809 Thatcher, AZ 85552
    voice: (928)428-4073 email:

    Please visit my GURU's LAIR web site at http://www.tinaja.com
     
  9. Mac

    Mac Guest

    I don't remember the thread, but depending on what you are doing, you
    might be able to just use a PLL. Jumps in the error voltage would
    correspond to jumps in the signal frequency. If the jumps happen often
    enough, and if the signal is guaranteed to spend equal time at the two
    different frequencies, then you could compare the error voltage with a
    smoothed copy of itself and get a digital output telling you which
    frequency the signal was at.

    If you have a stable local reference, you wouldn't even need the whole
    PLL. You could just use the phase/frequency comparator, or whatever it is
    called.

    If this is a data transmission scheme, the equal time trait can be met by
    using 8-bit to 10-bit encoding. This could also allow you to handle
    framing with specific out of band 10-bit codes.

    I'm making a lot of guesses and assumptions here, so if I am way off base,
    just ignore me. ;-)

    --Mac
     
  10. Guest

    The chirp-z transform can resolve between arbitrary frequency points.
    This function is available in Matlab, otherwise code to do is posted on
    the net.

    Tom
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-