フィルターのクリア

Triple correlation and bispectrum

9 ビュー (過去 30 日間)
Georgiy
Georgiy 2015 年 11 月 11 日
編集済み: timothy petersen 2022 年 8 月 30 日
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
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
Bjorn Gustavsson 2015 年 11 月 11 日
Perhaps you can modify any of the tools that appear when one searches for bispectrum at the File Exchange:
HTH
  2 件のコメント
Huy Le Van
Huy Le Van 2021 年 1 月 20 日
Can you write coherent?
Bjorn Gustavsson
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDiscrete Fourier and Cosine Transforms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by