Page 587 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 587
19.6 TRANSFORMADA RÁPIDA DE FOURIER 563
+
f(0) F(0) temporal = real (0) + real (1)
+
real (1) = real (0) – real (1)
real (0) = temporal
temporal = imaginario (0) + imaginario (1)
+ imaginario (1) = imaginario (0) – imaginario (1)
f(1) F(1) imaginario (0) = temporal
–
a) b)
FIGURA 19.17
a) Una red mariposa que representa el cálculo fundamental de la fi gura 19.16.
b) Seudocódigo para implementar a).
Una inspección cercana a la figura 19.16 indica que su molécula computacional
fundamental es la llamada red mariposa, ilustrada en la figura 19.17a. El seudocódigo
para implementar una de esas moléculas se muestra en la figura 19.17b.
El seudocódigo para la TRF se da en la figura 19.18. La primera parte consiste, en
esencia, en tres ciclos anidados para implementar el cuerpo computacional de la figura
19.16. Observe que los datos reales se guardan originalmente en el arreglo x. También
observe que el ciclo exterior pasa a través de las M etapas [recuerde la ecuación (19.31)]
del diagrama de flujo.
Después de que se ejecuta esta primera parte, se habrán calculado las TDF, pero en
desorden (véase el lado derecho de la figura 19.16). Es posible ordenar esos coeficientes
FIGURA 19.18 a) b)
Seudocódigo para m = LOG(N)/LOG(2) j = 0
implementar una N2 = N DOFOR i = 0, N – 2
TRF con partición en DOFOR k = 1, m IF (i < J) THEN
frecuencia. Observe N1 = N2 xt = x j
que el seudocódigo está N2 = N2/2 x j = x i
compuesto por dos partes: angle = 0 x i = xt
a) la TRF en sí y b) una arg = 2π/N1 yt = y j
rutina de inversión de bits DOFOR j = 0, N2 -1 y j = y i
para ordenar los coefi cientes c = cos(ang1e) y i = yt
de Fourier resultantes. s = –sin(ang1e) END IF
DOFOR i = j, N – 1, N1 k = N/2
kk = i + N2 DOFOR
xt = x(i) – x(kk) IF (k ≥ j + 1) EXIT
x(i) = x(i) + x(kk) j = j – k
y t = y(i) – y(kk) k = k/2
y(i) = y(i) + y(kk) END DO
x(kk) = xt * c – yt * s j = j + k
y(kk) = yt * c + xt * s END DO
END DO DOFOR i = 0, N – 1
angle = (j + 1) * arg x(i) = x(i)/N
END DO y(i) = y(i)/N
END DO END DO
6/12/06 13:58:26
Chapra-19.indd 563 6/12/06 13:58:26
Chapra-19.indd 563

