flowchart TD
    Datei  --> Einlesen
    subgraph Einlesen
    rmdevice[Geräte entfernen] --> cleanData[Zeitstempel zu Index]
    cleanData --> calcScPower[Berechne scPower]
    calcScPower --> scPower
    calcScPower --> calcRSSI[Verschiedene Filter auf den RSSI]
    calcRSSI --> rssiFilter
    calcRSSI --> remove[Unnötige Spalten löschen]
    end
    subgraph cleanData[Daten Bereinigen]
    indexing --> replaceZero[Ersetze 0 durch NaN]
    replaceZero --> dropHuman[Entferne Anfang 5s und Ende 10s]
    dropHuman --> calcPosition[Zusammenfassen Positionsfelder]
    calcPosition --> deviceDist[Zusammenführen Gerät mit Abstand]
    end
    subgraph scPower[Berechnung scPower]
    iterate[Iteriere über Datensatz] --> window[Zeitfenster +- 300ms]
    window --> returnScPower[Rückgabe Mittelwert]
    returnScPower --> savescPower[Spalte: scPower]
    end
    subgraph rssiFilter[Filtermethoden RSSI]
    iterateRSSI[Iterierung über Datensatz] --> windowRSSI[Zeitfenster +- 300ms]
    windowRSSI --> returnRSSIMean[Rückgabe Mittelwert]
    returnRSSIMean --> RSSIMeanSave[Spalte: RSSI_rolling_mean]
    windowRSSI --> returnRSSIweighted[Rückgabe gewichteter Mittelwert]
    returnRSSIweighted --> RSSIweightedSave[Spalte: RSSI_rolling_weightedMean]
    end

