I am using the evolfft function in the RSEIS R package to do a STFT analysis of a signal.

The signal is one hour long and it was acquired during 3 different conditions, in particular 0-20' control, 20'-40' stimulus, 40'-60' after stimulus.

Visually, I see a change in the spectrogram during these 3 periods, with higher frequency and increased FFT power during the treatment, but I was wondering whether there was some kind of statistical analysis I could do to "put some numbers" on it.

Any suggestion?

EDIT: as suggested I will add an example of the data I'm dealing with

STFT example

The treatment is between 20' and 40', as you can see it produces an increase in the power of the FFT over a fairly wide range of frequencies. I have 50-60 of these STFT for each experiment (for 10 total experiments). I can average the spectra for each experiments and still get a similar type of pattern. Now, my problem is how to correctly quantify the data I have and possibly do some stats to compare before, during and after the treatment.

  • $\begingroup$ What about those quantities you have mentioned: (mean) power during the period; power in a high frequency band? This is a planned experiment, so you surely have assumptions how the periods will differ. A good measure will be sensitive to the kind of difference you hypothesise. $\endgroup$
    – GaBorgulya
    Apr 7, 2011 at 11:36
  • $\begingroup$ @GaBorgulya: well, I thought of doing some kind of histogram of the frequency distribution in the 3 blocks, but I'm not sure how to integrate the power information in that... $\endgroup$
    – nico
    Apr 7, 2011 at 11:47
  • $\begingroup$ Why not compare mean frequencies during each period with a set of t.tests? $\endgroup$ Apr 11, 2011 at 22:17
  • $\begingroup$ I think this question could be improved by providing more information. That will likely attract more interest as well. Here are some suggestions for additions: (a) consider providing a sample plot of the spectrogram, (b) explain what exactly you mean by "put some numbers on it", (c) give details on the time windowing you are doing for the FFT analysis, (d) provide the number of subjects, sampling rate, and what the stimulus is. Is the overall power the quantity of interest, the power in some frequency band, or something else? $\endgroup$
    – cardinal
    Apr 12, 2011 at 23:21

1 Answer 1


I think the use of the spectrogram is visually interesting but not that obvious to exploit because of information redundency along frequencies. What we can see is that the changes between period are obvious. Also I would go back to the initial problem where you have for 3 different time periods indexed by $k=1,2,3$ a set of $n$ ($n=50$) signals of length $T>0$: $ i=1,\dots,n\; \; X^{k}_i\in \mathbb{R}^T$.

From this I would simply do a some sort of "Functional ANOVA" (or "multivariate ANOVA") :


and test for difference in the mean i.e. test $\beta_1-\beta_2=0$ versus $\|\beta_1-\beta_2\|>\rho$.

You might be interested in this paper also this paper involves a different FANOVA modelling. The difficult point in your real case might be that all assumption that are made in these papers are false (homoscedasticity, or stationnarity, ...) and you might need to build a different "functional" test adapted to your problem.

Note that your idea of using multiscale analysis is not lost here because you can integrate it in the test (if I remember it is what is done in the first paper I mention).

  • $\begingroup$ Thank you robin, this seems like a good lead. I'll have a look at those papers. $\endgroup$
    – nico
    Jun 7, 2011 at 11:03
  • $\begingroup$ @nico if you want to discuss things in more details, feel free to contact me. $\endgroup$ Jun 7, 2011 at 12:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.