This is the code for the results in the paper "Channel Charting for Streaming CSI Data", S. Taner, M. Guillaud, O. Tirkkonen, and C. Studer (c) 2025 Sueda Taner
email: taners@ethz.ch
If you are using this code (or parts of it) for a publication, then you must cite the following paper:
S. Taner, M. Guillaud, O. Tirkkonen and C. Studer, "Channel Charting for Streaming CSI Data," Asilomar Conference on Signals, Systems, and Computers, 2023, pp. 1648-1653.
- From dichasus-cf0x Dataset: Distributed Antenna Setup in Industrial Environment, Day 1, download the
dichasus-cf02anddichasus-cf03files (which should have the.tfrecordextension) and their offset estimates (which should bereftx-offsets-dichasus-cf02.jsonandreftx-offsets-dichasus-cf03.json) into a folder called ```data_raw``. - Run
preprocess_dichasus.py. This will store.npversions of the CSI, timestamps, and ground-truth positions extracted from the.tfrecordfiles in a folder calleddata.
- Set your training and core memory curation parameters as explained on top of
main.pyand run for the results in the paper. This code does the following:- We use the
cf02dataset to simulate the streaming CSI. - We store a subset of this dataset in the core memory.
- We train a neural network for channel charting using the CSI features in the core memory.
- We test the channel charting neural network on the
cf03dataset.
- We use the
Version 0.1: taners@ethz.ch - initial version for GitHub release.
This project makes use of the following external data and code:
- dichasus-cf0x Dataset: Distributed Antenna Setup in Industrial Environment, Day 1, accessed on 1/3/2025: Our code uses the
cf02andcf03datasets. - Dissimilarity Metric-Based Channel Charting by F. Euchner, accessed on 1/3/2025: We use this code for (i) pre-processing the data from
tfrecordsandjsonfiles, and (ii) computing the angle delay profile (ADP)-based distance metric and then the geodesic distances for training the channel charting network.