Как анализировать только импульсы (пики) от сигнала? - PullRequest
0 голосов
/ 04 июля 2019

У меня есть периодический сигнал, и мне нужно применить преобразование Фурье только к импульсам (пики, которые также формируются из нескольких выборок, но всегда одинаковы). Я знаю количество образцов, составляющих пик, и расстояние между ними, но я не могу найти способ проанализировать только их. Есть идеи?

enter image description here

1 Ответ

0 голосов
/ 04 июля 2019

Предположим, что ваш вектор:

myVector = [1 2 3 4 5 6 5 4 3 2 1 2 3 4 5 6 5 4 3 2 1]

И предположим, что выВы хотите извлечь БПФ из пиков, которые вы можете:

  1. Найти пики: с помощью функции findpeaks.Это даст вам пики и их расположение
  2. Применить БПФ к каждому субвектору

Пример

[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
...