Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 3.09 KB

File metadata and controls

90 lines (64 loc) · 3.09 KB

STDR Performance Analysis — Python Pipeline

This folder contains a Python-based post-processing pipeline for analysing Sequence Time Domain Reflectometry (STDR) simulation results exported from MATLAB/Simulink.


File

File Description
stdr_analysis.py Main analysis script — loads CSV output from MATLAB, computes statistics, and generates publication-quality figures

Prerequisites

Python 3.9+ is required. Install the dependencies using:

pip install pandas numpy matplotlib seaborn

Or, if you prefer a virtual environment:

python -m venv .venv
.venv\Scripts\activate       # Windows
pip install pandas numpy matplotlib seaborn

Usage

  1. First, run the MATLAB simulation (STDR.m) to generate STDR_Noise_Sweep_Results.csv in the root project directory.

  2. Copy or move the CSV to the analysis/ folder:

    analysis/STDR_Noise_Sweep_Results.csv
    
  3. Run the analysis script from inside the analysis/ folder:

    cd analysis
    python stdr_analysis.py

Output

All outputs are generated automatically into local subdirectories (not tracked by Git):

figures/ — Visualisation Plots

Figure Description
error_vs_noise_line.png Mean fault location error vs noise level (line + error bars)
error_vs_noise_boxplot.png Error distribution box plot by noise level
error_vs_distance.png Error vs fault distance, grouped by noise level
correlation_peak_vs_noise.png Correlation peak (Tau) degradation with noise
effectiveness_vs_noise.png Detection effectiveness (%) vs noise level

results/ — CSV Tables

File Description
summary_table.csv Full per-phase, per-noise, per-distance results
accuracy_vs_noise.csv Aggregate error statistics grouped by noise
accuracy_vs_distance.csv Aggregate error statistics grouped by distance
accuracy_by_fault_type.csv Error statistics grouped by fault type
response_characteristics.csv Correlation peak stats and missed detection counts
effectiveness_summary.csv Effective detection rate per noise level
performance_summary.csv Combined performance table with interpretation
additional_metrics.csv Stability (CV) and detectability metrics

Analysis Phases

The script runs six sequential analysis phases:

  1. Data Loading & Preprocessing — Expands 3-phase rows to per-phase records, computes percentage errors
  2. Fault Location Accuracy — Grouped statistics by noise, distance, and fault type
  3. Visualisation — Generates 5 publication-quality plots
  4. Response Characteristics — Analyses correlation peak (Tau) behaviour
  5. Fault Location Effectiveness — Computes detection success rate using ±5% error criterion
  6. Performance Summary — Consolidated summary table with qualitative interpretation

Note: The figures/ and results/ directories are excluded from Git tracking (see .gitignore). Re-run stdr_analysis.py to regenerate them locally.