Como detectar picos no MATLAB

As funções do MATLAB podem encontrar picos, também conhecidos como máximos locais.

Passo 1

Define uma fonte de informações importando dados para o MATLAB. Por exemplo, crie uma onda senoidal com ruído aleatório:

my_signal = sin (0: 0, 1: 10) + rand (1, 101);

Passo 2

Encontre picos no seu sinal usando o método de interpolação quadrática de "findpeaks ():"

[peak_value, peak_location] = findpeaks (meu_sinal);

Passo 3

Procure por picos de altura mínima usando o parâmetro "minpeakheight". A altura é um escalar de valor real que se refere ao valor mínimo de dados dos picos permitidos:

[peak_value, peak_location] = findpeaks (meu_sinal, 'minpeakheight', 2.5);

Passo 4

Procure por picos separados por uma distância mínima usando o parâmetro "minpeakdistance". O valor é o número mínimo de índices entre picos no vetor "my_signal" e deve ser um inteiro:

[peak_value, peak_location] = findpeaks (meu_sinal, 'minipeakdistance', 5);

Passo 5

Pesquisar apenas picos acima de um certo limite usando o parâmetro "Threshold". Esta é uma escala de valor real que se refere à diferença mínima permitida entre o pico e os pontos de informação adjacentes:

[peak_value, peak_location] = findpeaks (meu_sinal, 'limite', 0, 5);

Passo 6

Encontre apenas alguns picos usando o parâmetro "npeaks". O valor deve ser um inteiro:

[peak_value, peak_location] = findpeaks (meu_sinal, 'npicos', 5);

Passo 7

Corrija a lista retornada dos picos usando o parâmetro "sortsr". Os valores permitidos são "subir" (subir), "descer" (descer) e "nenhum" (nenhum):

[peak_value, peak_location] = findpeaks (meu_sinal, 'ordenar', 'ascender');