English Français Español Русский 中文 Deutsch Português عربي italiano 日本



         Некоторые вопросы сейсморазведки



 Домашняя  Сервис  Софт  Учебный материал  Контакты

Преобразование Фурье

Преобразование Фурье названо так в честь барона Жан-Батиста Жозефа Фурье (Jean Baptiste Joseph Fourier), французского математика, который, в своей диссертации Аналитическая теория теплоты (1822), использовал тригонометрический ряд, обычно называемый рядом Фурье, чтобы выразить разрывные функции в виде суммы бесконечного ряда синусоид и косинусоид.

Преобразование Фурье – это просто математический процесс, который позволяет нам взять функцию времени (сейсмическую трассу) и выразить ее как функцию частоты (спектр). Полное формальное выражение преобразования Фурье:

Полное формальное выражение преобразования Фурье

... и обратное ему выражение:


Обратное преобразование Фурье


Оба из вышеприведенных преобразования требуют интеграл в диапазоне от минус бесконечность до плюс бесконечность; и не несут много пользы, когда у нас есть конечный ряд чисел, представляющих сейсмическую трассу. Вот альтернативная формулировка прямого преобразования для данных, подвергшихся дискретизации:

альтернативная формулировка прямого преобразования для данных, подвергшихся дискретизации


Хотя мы заменили интегрирование суммированием определенного интервала («N» дискретов), "i" в степени экспоненты справа должно подсказать вам, что мы имеем дело с комплексными числами. Мы рассмотрим практический пример на нескольких последующих страницах только для реальных чисел, но давайте сначала проверим результаты, используя готовую программу.


Преобразование Фурье, для данных, подвергшихся дискретизации, может программироваться достаточно просто, чтобы воспользоваться преимуществом того, что косинус "2x" относится к косинусу "x" – Cos(2x)=2(Cos(x))2-1.

Это может дать несколько удивительно быстрое «кодирование» (FFT или быстрое преобразование Фурье), пример приводится здесь справа (из: J. W. Cooley, P. Lewis, и P. D. Welch, «Исторические заметки о быстром преобразовании Фурье», Статьи IEEE по аудио- и электроакустике, 1969 и более поздние), он написан на языке FORTRAN, которая рассчитывает прямое быстрое преобразование Фурье для любого числа, кратного 2 (4, 8 и т.д.).

И входные и выходные ряды чисел в этой программе - комплексные, и похожие алгоритмы имеются и в других программах

ряды чисел в этой программе - комплексные, и похожие алгоритмы имеются и в других программах

Вместо того, чтобы программировать это, мы можем использовать существующее ПО. Например, в Microsoft Excel имеется опция в пакете анализа для выполнения прямого или обратного быстрого преобразования Фурье (FFT) для (опять-таки) ряда точек, кратных 2.

Пример выходных значений показан ниже для «8-точечного» FFT, был рассчитан на листе Microsoft Excel – заметьте, что выходные значения состоят из комплексных чисел.

Входящее

FFT

88

88

77

172.509667991878-49.5807358037436i

-39

124-18i

4

-8.50966799187825-145.580735803743i

6

40

-56

-8.509667991878+145.580735803744i

9

124+18i

-1

172.509667991878+49.5807358037435i

Мы подробнее посмотрим на выходные значения этого «прямого преобразования» на следующей странице.



Прямое преобразование... Следующая страница

 

SUBROUTINE FFT(A,M,N)
COMPLEX A(N),U,W,T
N = 2**M
NV2 = N/2
NM1 = N - 1
J = 1
DO 7 I = 1,NM1
IF (I .GE. J) GO TO 5
T = A(J)
A(J) = A(I)
A(I) = T
5
K = NV2
6
IF (K .GE. J) GO TO 7
J = J - K
K = K/2
GO TO 6
7
J = J + K
PI = 3.141592653589793
DO 20 L = 1,M
LE = 2**L
LE1 = LE/2
U = (1.0,0.)
W = CMPLX(COS(PI/LE1),SIN(PI/LE1))
DO 20 J = 1,LE1
DO 10 I = J,N,LE
IP = I + LE1
T = A(IP) * U
A(IP) = A(I) - T
10
A(I) = A(I) + T
20
U = U * W
RETURN
END