Допустим нужно нам получить спектр сигнала и допустим нужно сделать для этого именно N-точечное БПФ. Однако у нас есть выборка сигнала длинной kN, где k - целое число > 1. Тут имеется три варианта: 1) Взять любые подряд идущие N-точек из выборки и посчитать на них БПФ, но так мы теряем полезный сигнал, который можно было бы использовать. 2) Сделать k раз БПФ и результат усреднить. Вроде бы хорошо, но долго. 3) Каким-то образом усреднить выборку до N-точек и сосчитать один раз БПФ.
Собственно по 3-му пункту мне достался какой-то код, который не до конца понятно что делает. В чем я успел разобраться так это в том, что он умножает всю выборку на окно Кайзера длинной kN, затем ещё на какое-то окно, а затем хитрым образом складывает отсчеты сигнала. А именно так, если s - это исходная выборка умноженная на окна, а a - выборка, которая подается на БПФ, то: a_0 = s_0 + s_N + s_{2*N} + ... + s_{(k-1)*N} a_1 = s_1 + s_{N+1} + s_{2*N+} + ... + s_{(k-1)*N+1} ... a_{N-1} = s_{N-1} + s_{2*N-1} + ... + s_{k*N - 1}
Собственно, кто-нить пояснит что здесь за математика такая? Как это работает и что здесь делается.
|