Triple correlation and bispectrum
이전 댓글 표시
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
timothy petersen
2022년 8월 26일
편집: timothy petersen
2022년 8월 30일
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).
답변 (1개)
Bjorn Gustavsson
2015년 11월 11일
0 개 추천
Perhaps you can modify any of the tools that appear when one searches for bispectrum at the File Exchange:
HTH
댓글 수: 2
Huy Le Van
2021년 1월 20일
Can you write coherent?
Bjorn Gustavsson
2021년 1월 20일
편집: Bjorn Gustavsson
2021년 1월 20일
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.
카테고리
도움말 센터 및 File Exchange에서 Correlation and Convolution에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!