-
1. Data: 2011-07-24 15:26:39
Temat: Kolejność wynikowych współczynników dla DIF FFT
Od: pbartosz <b...@g...com>
Liczę 8-punktową transformatę Fouriera metodą DIF FFT, ale dostaję
wynikowe współczynniki w złej kolejności, tzn. 04627351, podczas gdy
powinno być 04261537.
Przykład:
x(0) 1 -> 6 -> 16 -> 36 X(0)
x(1) 2 -> 8 -> 20 -> -4 X(4)
x(2) 3 -> 10 -> -4 -> -4-4i X(6)
x(3) 4 -> 12 -> -4i -> -4+4i X(2)
x(4) 5 -> -4 -> -4-4i -> -4-9.656i X(7)
x(5) 6 -> -2.828-2.828i -> -5.656i -> -4+1.656i X(3)
x(6) 7 -> -4i -> -4_4i -> -4-1.656i X(5)
x(7) 8 -> 2.828-2.828i -> -5.656i -> -4+9.656i X(1)
Wynik w Octave: [36, -4+9.656i, -4+4i, -4+1.656i, -4, -4-1.656i,
-4-4i, -4-9.656i]
Gdzie robię błąd?
-
2. Data: 2011-07-24 19:00:22
Temat: Re: Kolejność wynikowych współczynników dla DIF FFT
Od: Portal <m...@p...onet.usun.to.pl>
pbartosz wrote:
> Liczę 8-punktową transformatę Fouriera metodą DIF FFT, ale dostaję
> wynikowe współczynniki w złej kolejności, tzn. 04627351, podczas gdy
> powinno być 04261537.
>
> Przykład:
> x(0) 1 -> 6 -> 16 -> 36 X(0)
> x(1) 2 -> 8 -> 20 -> -4 X(4)
> x(2) 3 -> 10 -> -4 -> -4-4i X(6)
> x(3) 4 -> 12 -> -4i -> -4+4i X(2)
> x(4) 5 -> -4 -> -4-4i -> -4-9.656i X(7)
> x(5) 6 -> -2.828-2.828i -> -5.656i -> -4+1.656i X(3)
> x(6) 7 -> -4i -> -4_4i -> -4-1.656i X(5)
> x(7) 8 -> 2.828-2.828i -> -5.656i -> -4+9.656i X(1)
>
> Wynik w Octave: [36, -4+9.656i, -4+4i, -4+1.656i, -4, -4-1.656i,
> -4-4i, -4-9.656i]
>
> Gdzie robię błąd?
Najwyraźniej przyjmujesz błędne współczynniki transformaty Wk, tzn.
zamiast właściwych wartości u Ciebie występują liczby do nich sprzężone.
Prawidłowo współczynniki transformaty powinny mieć postać Wk =
e^(-j*2*pi*k/N) - u Ciebie są jakby bez minusa przed j i dlatego wyniki
dla ujemnych i dodatnich częstotliwości się zamieniają miejscami.
Zamiana nie dotyczy tylko X(0) i X(4) bo te częstotliwości występują bez
pary o przeciwnym znaku.
Pozdr
Portal