я нахожу эту статью вполне понятной и пытаюсь сделать БПФ по ней, но результат у меня сильно отличается от ДПФ, не могли бы вы взглянуть на вывод промежуточных состояний программы, чтобы помочь найти где у меня ошибка?
входные данные- массив {0,1,2,3,4,5,6,7} в бит-реверсивном порядке {0,4,2,6,1,5,3,7}
W^k считаю по формуле cos(2*pi*k/N)-sin(2*pi*k/N)
вроде по такой формуле всё делаю,но ничего не выходит
Stage 0; halfsize: 1; groups: 4
group[0]node[0]k[0]N[2]W[1.000] 4.00=0.00 + (1.000 * 4.00)
group[0]comp[1]k[0]N[2]W[1.000] -4.00=0.00 - (1.000 * 4.00)
group[1]node[2]k[0]N[2]W[1.000] 8.00=2.00 + (1.000 * 6.00)
group[1]comp[3]k[0]N[2]W[1.000] -4.00=2.00 - (1.000 * 6.00)
group[2]node[4]k[0]N[2]W[1.000] 6.00=1.00 + (1.000 * 5.00)
group[2]comp[5]k[0]N[2]W[1.000] -4.00=1.00 - (1.000 * 5.00)
group[3]node[6]k[0]N[2]W[1.000] 10.00=3.00 + (1.000 * 7.00)
group[3]comp[7]k[0]N[2]W[1.000] -4.00=3.00 - (1.000 * 7.00)
Stage 1; halfsize: 2;groups: 2;
group[0]node[0]k[0]N[4]W[1.000] 12.00=4.00 + (1.000 * 8.00)
group[0]comp[2]k[0]N[4]W[1.000] -4.00=4.00 - (1.000 * 8.00)
group[0]node[1]k[0]N[4]W[1.000] -8.00=-4.00 + (1.000 * -4.00)
group[0]comp[3]k[0]N[4]W[1.000] 0.00=-4.00 - (1.000 * -4.00)
group[1]node[4]k[2]N[4]W[-1.000] -4.00=6.00 + (-1.000 * 10.00)
group[1]comp[6]k[2]N[4]W[-1.000] 16.00=6.00 - (-1.000 * 10.00)
group[1]node[5]k[2]N[4]W[-1.000] 0.00=-4.00 + (-1.000 * -4.00)
group[1]comp[7]k[2]N[4]W[-1.000] -8.00=-4.00 - (-1.000 * -4.00)
Stage 2; halfsize: 4; groups: 1
group[0]node[0]k[0]N[8]W[1.000] 8.00=12.00 + (1.000 * -4.00)
group[0]comp[4]k[0]N[8]W[1.000] 16.00=12.00 - (1.000 * -4.00)
group[0]node[1]k[1]N[8]W[0.000] -8.00=-8.00 + (0.000 * 0.00)
group[0]comp[5]k[1]N[8]W[0.000] -8.00=-8.00 - (0.000 * 0.00)
group[0]node[2]k[2]N[8]W[-1.000] -20.00=-4.00 + (-1.000 * 16.00)
group[0]comp[6]k[2]N[8]W[-1.000] 12.00=-4.00 - (-1.000 * 16.00)
group[0]node[3]k[3]N[8]W[-1.414] 11.31=0.00 + (-1.414 * -8.00)
group[0]comp[7]k[3]N[8]W[-1.414] -11.31=0.00 - (-1.414 * -8.00)
spectrize out:
8.000000
-8.000000
-20.000000
11.313708
16.000000
-8.000000
12.000000
-11.313708
хотя я ожидаю такой спектр
28.000000
5.656853
0.000000
-2.343146
-4.000000
-5.656854
-8.000000
-13.656854
спасибо.