MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Fast Fourier Transforms

  • To: mathgroup at smc.vnet.net
  • Subject: [mg21692] Re: Fast Fourier Transforms
  • From: John Doty <jpd at w-d.org>
  • Date: Sat, 22 Jan 2000 02:52:53 -0500 (EST)
  • References: <85p7u3$6je@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Burton wrote:
> 
> Hello,
>     I am doing some analysis of acoustic data obtained from a pickup located
> on a machine.  The data is in the form of ordered pairs i.e. Time and
> voltage.  As far as I know fft in Mathematica only operates on a list of
> single numbers.  I have imported the voltage data (since the time is simply
> incremental) and performed an fft on that successfully.  My problem lays in
> interpreting this data.  I don't understand how to scale the x-axis of the
> fft plot to represent frequency.

If you have n samples with a sample to sample interval dt, the frequency
steps are 1/(n*dt). Remember that for the DFT, the frequency and time
axes are modular, so you may add or subtract multiples of 1/dt from the
frequency and still be mathematically correct. If your anti-alias filter
is a low pass filter, it is often most comprehensible to consider the
later coefficients as representing *negative* frequencies (rather than
positive frequencies above the Nyquist frequency). The following yields
a list of frequencies using that convention:

wrap[x_] := If[x <= 0.5, x, x - 1.]
fourierFreqs[n_, dt_] := Table[wrap[i/n]/dt, {i, 0, n - 1}]

Of course for a real input, the negative frequency coefficients are
redundant: they are just the conjugates of the corresponding positive
frequency coefficients.

-- 
John Doty		"You can't confuse me, that's my job."
Home: jpd at w-d.org
Work: jpd at space.mit.edu


  • Prev by Date: Comparison of Mathematica on Various Computers
  • Next by Date: Re: emmathfnt
  • Previous by thread: Re: Fast Fourier Transforms
  • Next by thread: Re: Fast Fourier Transforms