Como detectar picos em MATLAB

MATLAB é um pacote de software técnica que pode ser usada para processar e analisar sinais. Um procedimento comum para a análise do sinal é a detecção de pico, ou encontrar o máximo local (maiores valores de pontos de informação adjacentes dentro de um sinal ruidoso). É necessário, em geral, o limite de detecção de pico no máximo local de uma determinada largura (duração quando o sinal está no domínio do tempo), e uma altura ou magnitude.

instruções

  • 1

    Definir uma fonte de informação importando dados em MATLAB. Por exemplo, cria uma onda senoidal com ruído aleatório:

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

  • 2

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

    [Peak_value, peak_location] = findpeaks (my_signal);

  • 3

    Olhando picos de altura mínima utilizando o parâmetro "minpeakheight". A altura é um valor escalar real refere-se aos picos de dados mínimos admissíveis:

    [Peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2,5);

  • 4

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

    [Peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);

  • 5

    Olhando apenas picos de certo limite, usando o parâmetro (Limit) "Threshold". Este é um valor real escala refere-se a diferença mínima permissível entre o pico e os pontos de informação adjacentes:

    [Peak_value, peak_location] = findpeaks (my_signal, 'limiar', 0,5);

  • 6

    É apenas um número de picos usando "npeaks" parâmetro. O valor deve ser um inteiro:

    [Peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);

  • 7

    Gerencia a lista retornada de picos usando o parâmetro "sortsr". Os valores permitidos são "subir" (para cima), "descer" (para baixo) e "none" (nenhum):

    [Peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'subir');