Softball Fourier Question
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg591] Softball Fourier Question
- From: gysin at mugwump.ucsd.edu (Brian Keeley)
- Date: Wed, 22 Mar 95 16:33:55 -0800
Hi folks, I'm a new subscriber who has just begun using Mathematica, and I have what is probably a "softball" question, but I can't seem to figure it out. (Note: I have read through everything on FT in Wolfram's _Mathmatica_ and have just run through several of the tutorials in Evans & McClellan's "Signal Processing Packages". However, given my background (philosophy and neurobiology), you should feel free to challenge my grasp of basic mathematical concepts. :-) OK, here goes: I've got an analog recording of five different sinusoidal sources of electrical signals. (I'm recording the electrical output of five South American electric fish in an aquarium from a differential electrode.) These sources are in the range of 100-400Hz. I ran that recording through an A/D converter which sampled the signal with a period of 25usec (but I eventually want to compare different sampling rates), so I have a data file that looks like this: time signal 0.00 -0.770 0.03 -0.768 0.05 -0.758 0.08 -0.753 0.10 -0.748 0.12 -0.744 0.15 -0.731 0.18 -0.739 0.20 -0.726 ...and so on. I want to recover the fundamental frequencies of the five sources, which I should be able to do by running an FT on the data, pulling out the five largest peaks in the power spectrum. So far, I've figured out how to run "Fourier" on a list consisting the second column of numbers above. However, that gives me a spectrum with an unscaled _x_ axis. It shows me that there's a large peak at 30 "units", another smaller peak at 42.5 "units", etc. Here's my question: How do I factor in the sampling rate in order that the power spectrum I get out is in Hertz? Since this seems like such an obvious thing to do with FTs, I figure I must be missing something pretty basic. On other FT programs that I've seen, they have an option for rescaling the time dimension (the _x_ axis of the signal), but I don't see how to do this in Mathematica. Anybody got any ideas? Thanks in advance, Brian