2015-10-05 4 views
1

Я не обрабатываю обработку сигнала. Но в моей области я буду использовать спектральную плотность матрицы данных. Я очень запутался на очень подробном уровне.как вычислить спектральную плотность матрицы использования данных. Matlab

%matrix H is given. 
corr=xcorr2(H); %get the correlation 
spec=fft2(corr); % Wiener-Khinchin Theorem 

В MATLAB, xcorr2 будет вычислить функцию корреляции этой матрицы. Эта величина будет колебаться от -N+1 до N-1. Поэтому, если размер матрицы H равен N by N, тогда размер corr будет 2N-1 by 2N-1. Для дискретизированных данных я должен использовать corr или половину corr?

Другая проблема: я думаю, что теорема Винера-Хинчина в основном предназначена для непрерывной функции. Я всегда думал, что Discretized FT приближается к Continuous FT, или вы можете сказать, что это инструмент для расчета Continuous FT. Если вы используете функцию matlab в функции 'fft', вы должны разделить окончательный результат на \delta x.

Любые добрые души, которые знают эту область, хорошо там, чтобы поделиться с нами кодом matlab?

ответ

1

В принципе, аппроксимируя непрерывную ФТ дискретизированной ФТ, это то же самое, что аппроксимировать интеграл конечной суммой.

Сначала мы обсудим одномерный случай, затем мы обсудим двумерный случай.

Давайте рассмотрим теорему Винера-Кинчина (например, here).

Он гласит, что:

«Для дискретного случая, спектральная плотность мощности функции с дискретными значениями х [N], является:

где

Является функцией автокорреляции x [n]. "

1) Вы можете видеть уже, что сумма берется из -infty до + infty при расчете S (F)

2) Рассматривая теперь FFT Matlab - Вы можете видеть (команда «редактировать FFT»в Matlab), что определяется как:

X(k) =  sum_{n=1}^N x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N. 

это именно то, что вы хотите сделать для того, чтобы вычислить спектральную плотность мощности для частоты ф.

Заметим, что для непрерывных функций S (f) будет непрерывной функцией. Для дискретизированной функции S (f) будет дискретным.

Теперь, когда мы знаем все это, его можно легко расширить до двумерного. Действительно, структура fft2 соответствует структуре правой части теоремы Винера-Кинчина для двумерного случая.

Хотя, необходимо будет разделить ваш результат на NxM, где N - количество выборочных точек в x, а M - количество выборочных точек в y.