Como detectar um pico no MATLAB

Escrito por chris daniels | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como detectar um pico no MATLAB
As funções do MATLAB podem encontrar picos, conhecidos também como máximos locais (NA/AbleStock.com/Getty Images)

O MATLAB é um pacote de software técnico que pode ser usado para o processamento e análise de sinais. Um procedimento comum na análise de sinais é a detecção de picos ou máximos locais (valores maiores do que os pontos adjacentes) dentro de um sinal ruidoso. Normalmente, é necessário limitar a detecção de picos a máximos locais de uma certa largura (duração quando o sinal está no domínio do tempo) além de uma certa altura ou magnitude.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

Instruções

  1. 1

    Defina uma fonte de dados importando-os no MATLAB. Por exemplo, crie uma onda senoidal com ruído aleatório:

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

  2. 2

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

    [peak_value, peak_location] = findpeaks(my_signal);

  3. 3

    Busque picos de uma altura mínima usando o parâmetro "minpeakheight". A altura é um escalar com valor real que se refere ao valor de dados mínimo permitido em um pico:

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

  4. 4

    Busque picos com uma separação de uma certa distância como mínimo usando o parâmetro "minpeakdistance". O valor é o número mínimo de índices entre picos no vector "my_signal" e deve ser um inteiro:

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

  5. 5

    Busque só os picos que estejam por cima de um certo limiar com o parâmetro "threshold". Esse parâmetro deve ser um escalar de valor real e se refere à diferença mínima permitida entre os picos e os pontos de dados adjacentes:

    [peak_value, peak_location] = findpeaks(my_signal,'threshold',0.5);

  6. 6

    Busque apenas uma certa quantidade de picos com o parâmetro "npeaks". O valor deve ser inteiro:

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

  7. 7

    Ordene a lista de picos obtida usando o parâmetro "sortstr". Os valores permitidos são "ascend", "descend" e "none":

    [peak_value, peak_location] = findpeaks(my_signal,'sortstr','ascend');

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível