Filter löschen
Filter löschen

Triple correlation and bispectrum

6 Ansichten (letzte 30 Tage)
Georgiy
Georgiy am 11 Nov. 2015
Bearbeitet: timothy petersen am 30 Aug. 2022
Hello,
I have a three 1D signals which I want to triple cross-correlate. The triple cross correlation is:
Applying the convolution theorem, I can calculate this by FFT each signal, multiplying, and inverse FFT back.
where
So the FFT for g and h functions is just:
G = fft(g);
H = fft(h);
but how do I find the FFT of f function? It's not just fft(f), right?
Thanks!
  1 Kommentar
timothy petersen
timothy petersen am 26 Aug. 2022
Bearbeitet: timothy petersen am 30 Aug. 2022
The FFT of f function that you seek (i.e. F) is two-dimensional in frequency space, in a trivial manner, even though your spatial function f is one-dimensional. To compute the desired F* using ffts, note that the second fourier frequency f2 is a phase ramp applied to f before the f1-frequency fft, which can be interpreted using the Fourier shift theorem. F* can then be tconstructed by a single initial fft on the function f, followed by a sequence of circshifts to replicate the effect of the f2 phase ramp. Rather than loop through a sequence of circshifts, it is faster to note that the structure of F looks like a Toeplitz matrix. Hence this psuedo-code ought to do the trick:
temp = fft(arr);
Fstar = conj(fliplr(toeplitz([temp(1) fliplr(temp(2:end))], temp)));
Bjorn Gustavsson's toolbox advice is worth following, as there's a decent body of good literature around the bispectrum and triple correlation (mostly in IEEE journals) which present a variety of robust statistical methods for estimating these quantities.
My comment here is just to address your specific question, as this particular fft query had also troubled me when I wanted to improve my basic understanding of the bispectrum (which remains basic, despite having read the literature).

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Bjorn Gustavsson
Bjorn Gustavsson am 11 Nov. 2015
Perhaps you can modify any of the tools that appear when one searches for bispectrum at the File Exchange:
HTH
  2 Kommentare
Huy Le Van
Huy Le Van am 20 Jan. 2021
Can you write coherent?
Bjorn Gustavsson
Bjorn Gustavsson am 20 Jan. 2021
Bearbeitet: Bjorn Gustavsson am 20 Jan. 2021
There are a couple of higher-order-spectral analysis tools to be found on the File Exchange (a user-contributed code-repository). Try to look at those toolboxes, that I linked to above, and see if any of those already have the functionality you search for.
I can write coherently.
Hope this clarify the confusion.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by