MATLAB é um pacote de software técnico que pode ser usado para processamento e análise de sinais. Um procedimento comum na análise de sinal é a detecção de pico, ou localização de máximos locais - valores maiores do que pontos de dados adjacentes - em um sinal ruidoso. Normalmente é necessário limitar a detecção de pico a máximos locais de uma certa largura - duração quando o sinal está no domínio do tempo - bem como uma certa altura ou magnitude.
Passo 1
Defina uma fonte de dados importando dados para o MATLAB. Por exemplo, crie uma onda senoidal com ruído aleatório:
meu_sinal = sin (0: 0,1: 10) + rand (1.101);
Passo 2
Encontre picos em seu sinal usando o método de interpolação quadrática de "findpeaks ()":
[pico_valor, pico_local] = encontrarpicos (meu_sinal);
etapa 3
Pesquise picos de altura mínima usando o parâmetro "minpeakheight". A altura é um escalar com valor real que se refere ao valor mínimo de dados dos picos permitidos:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2,5);
Passo 4
Pesquise picos separados por uma distância mínima usando o parâmetro "minpeakdistance". O valor é o número mínimo de índices entre os picos no vetor "meu_sinal" e deve ser um número inteiro:
[pico_valor, pico_localização] = encontrarpicos (meu_sinal, 'minpeakdistance', 5);
Etapa 5
Pesquise apenas picos acima de um certo limite usando o parâmetro "limite". Este é um escalar com valor real que se refere à diferença mínima permitida entre o pico e os pontos de dados adjacentes:
[pico_valor, pico_localização] = findpeaks (meu_sinal, 'limiar', 0,5);
Etapa 6
Encontre apenas um determinado número de picos usando o parâmetro "npeaks". O valor deve ser um número inteiro:
[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);
Classifique a lista de picos retornada usando o parâmetro "sortstr". Os valores permitidos são "ascend", "descend" e "none":
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');