MATLAB è un pacchetto software tecnico che può essere utilizzato per l'elaborazione e l'analisi del segnale. Una procedura comune nell'analisi del segnale è il rilevamento del picco o la ricerca di massimi locali - valori più grandi dei punti dati adiacenti - all'interno di un segnale rumoroso. Di solito è necessario limitare il rilevamento del picco a massimi locali di una certa ampiezza - durata quando il segnale è nel dominio del tempo - così come una certa altezza o grandezza.
Passo 1
Definisci un'origine dati importando i dati in MATLAB. Ad esempio, crea un'onda sinusoidale con rumore casuale:
mio_segnale = sin(0:0.1:10) + rand(1.101);
Passo 2
Trova i picchi nel tuo segnale usando il metodo di interpolazione quadratica di "findpeaks()":
[peak_value, peak_location] = findpeaks(my_signal);
Passaggio 3
Cercare picchi di altezza minima utilizzando il parametro "minpeakheight". L'altezza è uno scalare a valori reali che si riferisce al valore minimo dei dati dei picchi consentiti:
[peak_value, peak_location] = findpeaks(my_signal,'minpeakheight',2.5);
Passaggio 4
Cercare picchi separati da una distanza minima utilizzando il parametro "minpeakdistance". Il valore è il numero minimo di indici tra i picchi nel vettore "my_signal" e deve essere un numero intero:
[peak_value, peak_location] = findpeaks(my_signal,'minpeakdistance',5);
Passaggio 5
Cerca solo i picchi al di sopra di una certa soglia utilizzando il parametro "soglia". Questo è uno scalare a valori reali che si riferisce alla differenza minima consentita tra i punti dati di picco e adiacenti:
[peak_value, peak_location] = findpeaks(my_signal,'threshold',0.5);
Passaggio 6
Trova solo un certo numero di picchi utilizzando il parametro "npeaks". Il valore deve essere un numero intero:
[peak_value, peak_location] = findpeaks(my_signal,'npeaks',5);
Ordina l'elenco di picchi restituito utilizzando il parametro "sortstr". I valori consentiti sono "ascend", "descend" e "none":
[peak_value, peak_location] = findpeaks(my_signal,'sortstr','ascend');