Skip to content

Commit f8dc9cd

Browse files
committed
docs: README file update
1 parent a1c7070 commit f8dc9cd

File tree

1 file changed

+106
-5
lines changed

1 file changed

+106
-5
lines changed

README.md

Lines changed: 106 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22

33
AoA estimator for passive UHF RFID based on Bayesian regression and classical antenna array signal processing. Combines physics-informed priors with Pyro-based uncertainty quantification.
44

5+
## 📑 Table of Contents
6+
7+
- [Bayesian-Enhanced-AoA-Estimator](#bayesian-enhanced-aoa-estimator)
8+
- [📑 Table of Contents](#-table-of-contents)
9+
- [🔍 Overview](#-overview)
10+
- [📊 Dataset Structure](#-dataset-structure)
11+
- [📂 File Naming Convention](#-file-naming-convention)
12+
- [📁 Directory Structure](#-directory-structure)
13+
- [🧮 MATLAB Implementation](#-matlab-implementation)
14+
- [📄 `process_experimental_data.m`](#-process_experimental_datam)
15+
- [📄 `antenna_array_processing.m`](#-antenna_array_processingm)
16+
- [🐍 Python Implementation](#-python-implementation)
17+
- [📄 `bayesian_regression.py`](#-bayesian_regressionpy)
18+
- [📄 `beamforming.py`](#-beamformingpy)
19+
- [📄 `data_management.py`](#-data_managementpy)
20+
- [📄 `MUSIC.py`](#-musicpy)
21+
- [📄 `phase_difference.py`](#-phase_differencepy)
22+
- [📄 `visualization.py`](#-visualizationpy)
23+
- [📁 Repository Structure](#-repository-structure)
24+
- [`/data`](#data)
25+
- [`/figures`](#figures)
26+
- [`/MATLAB`](#matlab)
27+
- [`/results`](#results)
28+
- [`/src`](#src)
29+
- [📄 License](#-license)
30+
31+
## 🔍 Overview
32+
33+
The Bayesian-Enhanced-AoA-Estimator provides a comprehensive framework for estimating the Angle of Arrival (AoA) in passive UHF RFID systems. This project combines:
34+
35+
1. **Classical Antenna Array Processing**: Implements traditional techniques like Phase-difference estimation, Delay-and-Sum beamforming, and MUSIC algorithm.
36+
37+
2. **Bayesian Regression Approach**: Leverages probabilistic programming with Pyro to incorporate physics-informed priors and estimate uncertainty.
38+
39+
3. **Multi-frequency Fusion**: Combines data from multiple frequencies to improve estimation accuracy and robustness.
40+
41+
4. **Uncertainty Quantification**: Provides confidence metrics for all estimates, essential for real-world deployment.
42+
43+
This approach significantly improves AoA estimation accuracy compared to classical methods alone, particularly in challenging low-SNR environments and multi-path scenarios typical in indoor RFID deployments.
44+
545
## 📊 Dataset Structure
646

747
### 📂 File Naming Convention
@@ -114,16 +154,55 @@ A comprehensive end-to-end RFID AoA estimation pipeline that:
114154
- Performs error analysis and method comparison
115155
- Outputs organized figures and complete analysis reports
116156

157+
## 🐍 Python Implementation
158+
159+
The repository includes Python implementations that use Bayesian methods through Pyro:
160+
161+
### 📄 `bayesian_regression.py`
162+
163+
Core implementation of the Bayesian AoA estimator:
164+
165+
- Defines physics-informed prior distributions based on antenna array geometry
166+
- Implements probabilistic model for phase and RSSI observations
167+
- Performs Bayesian inference using Pyro's SVI engine
168+
- Provides posterior distributions for AoA estimates with uncertainty quantification
169+
- Handles multi-frequency data fusion through hierarchical modeling
170+
171+
### 📄 `beamforming.py`
172+
173+
Provides functions to conduct classic antenna-array analysis of DS Beamforming and Weigthed DS Beamforming.
174+
175+
### 📄 `data_management.py`
176+
177+
Utility module for preprocessing and managing the dataset:
178+
179+
- Reads and parses CSV files from RFID experiments
180+
- Converts raw measurements to complex phasors
181+
- Handles data cleaning and outlier removal
182+
- Provides data loaders compatible with PyTorch/Pyro
183+
184+
### 📄 `MUSIC.py`
185+
186+
Provides functions to conduct classic antenna-array analysis of the MUSIC algorithm.
187+
188+
### 📄 `phase_difference.py`
189+
190+
Provides functions to conduct classic antenna-array analysis of the phase difference analysis.
191+
192+
### 📄 `visualization.py`
193+
194+
Comprehensive visualization tools.
195+
117196
## 📁 Repository Structure
118197

119198
The repository is organized with the following key directories:
120199

121-
### `/MATLAB`
200+
### `/data`
122201

123-
Contains all MATLAB implementation scripts:
202+
Raw and processed datasets:
124203

125-
- `process_experimental_data.m`: Preprocessing script for raw CSV data
126-
- `antenna_array_processing.m`: Complete end-to-end AoA analysis pipeline
204+
- `/2025-07-09`: Original CSV files from RFID experiments
205+
- `/testing`: Data collected during environment and set up testing
127206

128207
### `/figures`
129208

@@ -137,12 +216,34 @@ Stores generated visualization outputs from the analysis:
137216

138217
Example figures are included to demonstrate the expected output format.
139218

219+
### `/MATLAB`
220+
221+
Contains all MATLAB implementation scripts:
222+
223+
- `process_experimental_data.m`: Preprocessing script for raw CSV data
224+
- `antenna_array_processing.m`: Complete end-to-end AoA analysis pipeline
225+
140226
### `/results`
141227

142228
Contains processed data and analysis results:
143229

144230
- `rfid_array_data.mat`: Preprocessed dataset ready for analysis
145231
- `complete_analysis.mat`: Comprehensive results from all estimation methods
146-
- Performance metrics and statistical evaluations
232+
- `ZIP files`: Contains ZIP files of the full analysis pipeline.
147233

148234
Example result files are provided to illustrate the data structure.
235+
236+
### `/src`
237+
238+
Contains all Python implementations:
239+
240+
- `bayesian_regression.py`: Core Bayesian estimation implementation
241+
- `beamforming.py`: DS and Weighted DS Beamforming
242+
- `data_management.py`: Dataset processing and management
243+
- `music.py`: MUSIC algorithm
244+
- `phase_difference.py`: Phase-difference methods
245+
- `visualization.py`: Visualization tools
246+
247+
## 📄 License
248+
249+
This project is licensed under the MIT License - see the LICENSE file for details.

0 commit comments

Comments
 (0)