MATLAB has a spectrogram function for the time-frequency analysis of a single signal. It also has a cpsd function for estimating the cross-frequency spectrum for two signals. However, cpsd averages across windows, collapsing the time axis into a single estimate.
Is there a function in this same family that does not average, but returns a time-frequency cross-spectrum instead?
Because I want to use this in a step-by-step tutorial for teaching purposes, I'd like to avoid the following two possible solutions:
- The cohgramc function from the Chronux toolbox (uses a multitaper spectral estimation method I don't want to get into)
- The wcoher function from the Wavelet toolbox (uses wavelets, idem)
Both of these methods return nice time-frequency cross-spectra, but I would like just to have a basic version with the familiar windowing parameters that spectrogram and cpsd use. Does this exist?