7

I want to characterize a binary time-series signal x (derived from neuron action potential data) in the frequency domain.

Should I use the FFT of the original signal x, or the power spectrum (FFT of the autocorrelation of x, which is defined as $k(n)=E[x(t)\cdot x(t-n)]$ )?

Also, does anyone know any literature which explicitly talks about this, or at least took sides?

Seanny123
  • 8,853
  • 3
  • 25
  • 61
DankMasterDan
  • 321
  • 2
  • 4
  • 4
    What is your ultimate objective with "characterizing" the data? Definitely read Spikes when you have a chance. The short answer from there is that it depends on what you are looking to get out of the signal. If you're looking to drive a device or something of that nature, the FFT is going to be computationally burdensome, and may not give you sufficient information. – Chuck Sherrington May 28 '14 at 21:43
  • 3
    As an aside, for papers to look at, George Gertstein is the guru of the analysis of spike trains. – Chuck Sherrington May 28 '14 at 21:43
  • 1
    @ChuckSherrington I just want to detect oscillatory activity in the spike train. Computational burden isnt an issue. Why would the FFT give me insufficient/different info than the autocorrelation? – DankMasterDan May 29 '14 at 19:45
  • 3
    I'm using "information" as a loaded term. I was referring to both measures that you are talking about, sorry if that wasn't clear. Neither is going to tell you anything meaningful. If you're locking to a specific event (sensory input or specific motor output - e.g., an EMG of a muscle) the frequency variation will tell you something, but a "free form" recording really isn't. You'd be better off examining local field potentials (most extracellular recording systems can separate these out in the spike sorting processing) if you are trying to tease out frequency changes. – Chuck Sherrington May 29 '14 at 20:02
  • 2
    Otherwise, this is really just an exercise in signal processing, to be frank. – Chuck Sherrington May 29 '14 at 20:03
  • 2
    (not trying to be an overbearing curmudgeon here, just offering some constructive criticism. I'm happy to see a methods question on here!) – Chuck Sherrington May 29 '14 at 21:00
  • 1
    thnx. in our work we concatonate spike train activity rather then add it up as done in perievent histograms. the reason we do this is because we do spike-train input/output modeling of these concatenated signals. – DankMasterDan May 29 '14 at 21:53
  • 1
    If systems identification is what you are after ("input/output modeling"), you'll definitely need some heavier hitting analyses -- check out Bob Kearney's work http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471274569.html – Chuck Sherrington May 29 '14 at 22:14
  • I suggest Chronux package if you use MATLAB: http://chronux.org/ – Memming Oct 09 '17 at 01:38

2 Answers2

2

For binary data (spike-trains), people use a spike-train autocovariance function (same as autocorrelation but subtracting the mean firing rate). It's commonly used to study brain oscillations (e.g. Engel & Konig, 1991). There is a good description of the math in the Dayan & Abbott (page 27).

Dayan, P., & Abbott, L. F. (2001). Theoretical neuroscience (Vol. 806). Cambridge, MA: MIT Press. Engel, A. K., & Konig, P. (1991). Interhemispheric synchronization of oscillatory neuronal responses in cat visual cortex. Science, 252(5009), 1177.

1

As this answer explains, the Fourier transform of the autocorrelation of $x$ is the same as the magnitude squared of the Fourier transform of $x$. The autocorrelation of x can be expressed as $x(t)*x(-t)$, where * means convolution and the Fourier transform of the autocorrelation is then $X(w)X^*(w)=|X(w)^2|$, which of course is the Fourier transform of the original signal $x(t)$.

As for references, see this answer.

StrongBad
  • 2,633
  • 14
  • 27