Предположим, что ваш вектор:
myVector = [1 2 3 4 5 6 5 4 3 2 1 2 3 4 5 6 5 4 3 2 1]
И предположим, что выВы хотите извлечь БПФ из пиков, которые вы можете:
- Найти пики: с помощью функции
findpeaks
.Это даст вам пики и их расположение - Применить БПФ к каждому субвектору
Пример
[pks,locs] = findpeaks(myVector);
Это даст вам два пика, найденных в сигнале: в положении 6 и в положении 16.
Тогда, если вы скажете, что с из ваших пиков, например, 3
, вы можете применить БПФ к суб-векторы
subVectorA = myVector(locs(1)-1, locs(1)+1);
subVectorB = myVector(locs(2)-1, locs(2)+1);
% Do the FFT to subVectorA
% Do the FFT to subVectorB