Commit Graph

60 Commits

Author SHA1 Message Date
Christos Falas
6f454c6190
add figure extractor
Used to store the protobuffer messages into files, so that they can be
plotted as part of the dissertation
2025-05-01 15:58:28 +01:00
Christos Falas
6be12beb49
add motion detector example
This demonstrates a simple example of how to use the framework
2025-05-01 15:50:41 +01:00
Christos Falas
a7a0071486
move preprocessing to CSIApplication 2025-05-01 15:50:24 +01:00
Christos Falas
2d16d5cf34
add type stubs 2025-05-01 14:22:10 +01:00
Christos Falas
581aa64ee3
refactor csi producers 2025-05-01 14:22:00 +01:00
Christos Falas
cc27972d81
refactor into separate CSIApplication framework 2025-04-26 11:28:17 +01:00
Christos Falas
7c9075c9eb
add phase analysis visualisation 2025-04-02 15:00:37 +01:00
Christos Falas
8fe5995c5f
refactor figure visualisation
Split off figure-serving from the data transformations needed to make
the figures themselves (e.g. binning)
2025-03-04 17:30:26 +00:00
Christos Falas
f6e10bedec
Add figure for magnitude 2025-03-04 14:07:21 +00:00
Christos Falas
6ef4fe3dc1
Improve heatmap visualisation
- Correct axis titles
- Add axis ticks to indicate angle of arrival/time of flight instead of
  arbitrary numbering
2025-03-04 14:01:52 +00:00
Christos Falas
e3d0544b66
ignore .vite folder
This is created whenever the dev server is running
2025-03-04 13:52:09 +00:00
Christos Falas
c452e44e1a
MUSIC eigenvalue visualisation
One of the issues I've been facing was that the range of the eigenvalues
was quite large, and I couldn't easily see a natural threshold to set to
separate the signal and noise subspaces.

This visualisation provides a histogram for this scenario, to assist in
choosing the parameter (which is different in different configurations).
2025-03-04 13:48:32 +00:00
Christos Falas
342357bd0c
remove eigh
The original assumption that we can use eigh because the autocorrelation
matrix is Hermitian is not true. Although the true autocorrelation
matrix is Hermitian, this is not necessarily the case for the estimate we
use.
2025-02-24 16:12:04 +00:00
Christos Falas
c4196503d8
improve antenna order detection 2025-02-24 15:02:21 +00:00
Christos Falas
28d096af44
unwrap CSI phase 2025-02-24 15:02:21 +00:00
Christos Falas
61be734752
Add heatmap visualisation 2025-02-24 15:02:15 +00:00
Christos Falas
a94a9b4ec4
visualisation backend 2025-02-22 15:13:54 +00:00
Christos Falas
964e379dbf
Implement new visualization front-end 2025-02-22 15:13:08 +00:00
Christos Falas
298146e8b0
add proto files for streaming
The idea is to allow relatively flexible visualisations in the browser,
while minimising rendering load on the server.
2025-02-22 10:21:50 +00:00
Christos Falas
c19ac69a0e
Allow skipping subcarriers
This is useful for when processing from files which are larger than can
be processed in real-time.
2025-02-11 11:16:27 +00:00
Christos Falas
638440feff fix heatmap generation 2025-01-30 13:58:08 +02:00
Christos Falas
785021b557 Use eigh instead of eig
The mean of Hermitian matrices is also Hermitian
2025-01-30 13:58:08 +02:00
Christos Falas
42ac105240 Improve logging 2025-01-30 13:58:08 +02:00
Christos Falas
c2963f4a9f Make heatmap on GPU
Still has some weird artifacts, some axis ordering might be incorrect
2025-01-30 13:58:08 +02:00
Christos Falas
a1e5f2fec7 set up torch AoA estimation 2025-01-30 13:58:08 +02:00
Christos Falas
b681f0b2c6
Improve antenna order detection
Remove a lot of the false positives that were occuring due to random
noise
2025-01-28 21:40:28 +00:00
Christos Falas
814321f524
fix: Write to file race condition 2025-01-27 17:28:47 +00:00
Christos Falas
4f7a9d2e70
Make into package
Add CLI to bin, allow for tab-completions
2025-01-27 15:55:17 +00:00
Christos Falas
1c4bf3e340
Allow replaying traffic from file 2025-01-27 15:54:43 +00:00
Christos Falas
659525cefb
change config file format 2025-01-27 15:54:33 +00:00
Christos Falas
1bbdac4a2e
format 2025-01-26 18:10:25 +00:00
Christos Falas
0146fb4db2
add CSI recording to hdf5 file 2025-01-26 18:06:23 +00:00
Christos Falas
99ea06bc91
fix: terminate on SIGINT (Ctrl+C) 2025-01-26 18:05:06 +00:00
Christos Falas
4658f3d9f5
support Python3.11 2025-01-24 11:30:41 +00:00
Christos Falas
b1e7f37e4e
migrate to uv
Allows easier way to change between python versions
2025-01-24 11:28:03 +00:00
Christos Falas
1e23ae063e
feat: add cli util for finding correct antenna order 2025-01-24 10:15:53 +00:00
Christos Falas
8e1a849b7c
format: re-format with ruff and isort 2025-01-23 11:13:17 +00:00
Christos Falas
5a481ae13b
feat: show when FeitCSI is not running on remote machines 2025-01-23 10:36:08 +00:00
Christos Falas
8b6ee4d137
refactor: callbacks for csi data 2025-01-23 09:18:26 +00:00
Christos Falas
66e041cf73
allow different ports 2024-12-31 16:10:22 +00:00
Christos Falas
ae2e95283b
refactor: change Pipe to Queue for configurable maxsize 2024-12-30 13:31:42 +00:00
Christos Falas
0d8bea2678
refactor: switch to processes instead of threads 2024-12-30 12:29:03 +00:00
Christos Falas
c2914486a3
fix: heatmap frame rate 2024-12-29 19:12:06 +00:00
Christos Falas
274f4d8492
refactor: processing in separate thread 2024-12-29 19:08:38 +00:00
Christos Falas
06aca17bee
improve visualisation 2024-12-29 18:00:15 +00:00
Christos Falas
ed7aaf787b
customise max tof for graph 2024-12-29 12:57:29 +00:00
Christos Falas
232e90984f
increase heatmap range 2024-12-29 12:42:55 +00:00
Christos Falas
537da2c160
decrease verbosity 2024-12-29 12:41:46 +00:00
Christos Falas
3826f40f6a
visualisation web server listen on all addresses 2024-12-29 12:31:56 +00:00
Christos Falas
691b5821cb
fix preprocessing arguments 2024-12-29 12:30:56 +00:00