Skip to content

andreanatile/Thesis

Repository files navigation

Analisi nella cartella analisi sono stati inseriti tutti i file utili alla analisi dei segnali. per maggiori informazioni leggere il file readMe.txt della cartella.

Data nella cartella Data sono stati salvati tutti i segnali misurati dall'applicazione PhyPhox. per ogni misurazione è presente un file readMe.txt che descrive le condizioni sperimentali.

plot nella cartella plot sono stati salvati tutti i grafici inseriti nella tesi.

Tests nella cartella Tests sono stati inseriti tutti i file per l'allenamento del rilevatore. per maggiori informazioni consultare il readMe.txt della cartella.

Training Data Extraction nella cartella Training Data Extraction sono contenuti i file per l'estrazione e il salvataggio in file csv delle feauture utilizzate per l'allenamento del rilevatore. per maggiori informazioni consultare il readMe.txt della cartella.

features_extraction.py in questo file sono presenti tutte le funzioni utili all'estrazione delle feature. - features_extraction è una funzione che prendendo come input il segnale, la frequenza di campionamento a cui è stato misurato, la lunghezza dei segmenti e la percentuale di sovrappizione dei segmenti, ritorna un dataframe contentente per ogni segmento le feature estratte.

    - Combining_features è una funzione che prendendo come input 3 segnali ritorna un 
    dataframe omnicomprensivo di tutte le feature calcolate per ogni segmento di ogni segnale
    inserito. Il senso di questa funzione è quello di avere un modo compatto per estrarre
    tutte le feature utili all'allenamento del rilevatore in un uncica riga di codice, seguendo il
    paradigma della modularità.

    - feature_extraction_from_segments ha lo stesso funzionamento di features_extraction,
    diverge che il segnale in ingresso è direttamente segmentato, utile per l'estrazione delle 
    feature dai segmenti direttamente filtrati

    -Combining_features_from_segments ha lo stesso funzionamento di Combining_features, soltato
    che in ingeresso i 3 segnali sono stati già segmentati, utile per l'estrazione delle 
    feature dai segmenti direttamente filtrati

notch_filter.py in questo file sono presenti le funzioni per creare il filtro adattivo stoppabanda.

    -notch_filter_segment è una funzione che prende in ingresso il risultato
    della FFT di un segmento, l'indice dell'array della banda di frequenza con energia più
    alta del segmento precedente, il valore dell'energia della banda a maggiore energia del segmento precedente,
    la frequenza di campionamento e la sovrappizione desiderata tra le bande di frquenza.
    confronta la massima energia del segmento corrente con quella del segmento precedente, nel 
    caso c'è uno scarto di al più due indici tra le bande di frequenza e uno scarto al più del 40% tra i valori di 
    energia massima, il segnale viene filtrato secondo un filtro notch. in caso contrario non viene filtrato.
    in ritorno da il segmento filtrato in caso è stato filtrato oppure il segmento dato in input.

    -notch_filter_data prende in input il segnale, la lunghezza dei segmentie la frequenza di campionamento
    lo segmente e ad ogni segmento applica la funzione notch_filter_segment. infine ritorna la 
    lista di segmenti filtrati. utile per filtrare in modo compatto il segnale in un'unica riga di codice, applicando
    il paradigma della modularità.

labelling.py in questo file sono presenti delle funzioni per convertire il file text del software Tero Subliter utilizzato per trascrivere la registrazione audio utilizzata per il labelling, in un dataframe da poter fare il merge con le feature calcolate.

    -Extract_Labels_fromTeroSubliter prende in input la stringa del file di Tero Subliter e ritorna
    un dataframe contentente l'inizio e la fine dell'anomalia con il valore della classe dell'anomalia.

    - Merge_Feature_Label è una funzione che prendendo in input il dataframe delle feature 
    e il dataframe delle lables, associa ai segmenti in cui l'anomalia è inclusa all'interno dell'inizio e la fine del segmento
    stesso. In tutti i segmenti privi di anomalia alla colonna Anomaly viene assegnato il 
    valore 'ok'.

plot_notchfilter1.py e plot_notchfilter2.py in questi file vengono plottati i grafici per la spiegazione del funzionamento del filtro adattivo.

speed_dependency.py file utilizzato per la demodulazione del segnale in modo da eliminare la dipendenza della velocità nei segnali. Non è stato utilizzata questa tecnica poichè è stata riscontrata una difficoltà nella sua comprensione.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages