Sueda Taner
email: taners@iis.ee.ethz.ch

Maxime Guillaud
email: maxime.guillaud@inria.fr

Olav Tirkkonen
email: olav.tirkkonen@aalto.fi

Christoph Studer
email: studer@ethz.ch

Channel Charting for Streaming CSI Data

Channel charting (CC) applies dimensionality reduction to channel state information (CSI) data at the infrastructure basestation side with the goal of extracting pseudo-position information for each user. The self-supervised nature of CC enables predictive tasks that depend on user position without requiring any ground-truth position information. In this work, we focus on the practically relevant streaming CSI data scenario, in which CSI is constantly estimated. To deal with storage limitations, we develop a novel streaming CC architecture that maintains a small core CSI dataset from which the channel charts are learned. Curation of the core CSI dataset is achieved using a min-maxsimilarity criterion. Numerical validation with measured CSI data demonstrates that our method approaches the accuracy obtained from the complete CSI dataset while using only a fraction of CSI storage and avoiding catastrophic forgetting of old CSI data.

I. INTRODUCTION

Channel charting (CC), proposed in [START_REF] Studer | Channel charting: Locating users within the radio environment using channel state information[END_REF], applies dimensionality reduction to large sets of estimated channel state information (CSI) data acquired over long time periods. For a typical (fixed) wireless infrastructure access point (AP) or basestation (BS) and a fixed scattering environment (buildings etc.), CSI is predominantly influenced by the scattering environment. Thus, low-dimensional embeddings of such CSI datasets of mobile users produced by CC are expected to be topologically similar to certain features of the environment. This property has been verified experimentally, for instance in [START_REF] Ferrand | Tripletbased wireless channel charting: Architecture and experiments[END_REF], where the twodimensional embedding of the mobile users is topologically similar to the users' position on the ground. Here, topological similarity means that the obtained representation is accurate up to transformations such as rotating, stretching, and other continuous (but possibly nonlinear) transforms. Such transformations exist due to the self-supervised nature of CC, which also precludes its use for classical positioning. Nonetheless, CC associates a pseudo position to each CSI sample, which can be used for a broad range of location-based tasks-see [START_REF] Ferrand | Wireless channel charting: Theory, practice, and applications[END_REF] for an overview of CC and its applications.

Typical applications of CC involve repeatedly performing dimensionality reduction (DR) on large amounts of CSI samples that are continuously collected at high rates (e.g., tens to hundreds times per second) by APs or BSs with limited storage and computing power. While DR attempts to capture the geometry of the complete distribution, since the beginning The authors acknowledge the support of the European CHIST-ERA program through the CHASER (channel charting as a service) project. of observing CSI samples, storing all CSI data will inevitably exhaust the memory available at the AP/BS. Thus, in practice, only a tiny fraction of the collected CSI data can be stored long-term. In addition, since successive CSI samples cannot be assumed drawn independently from this distribution, due to the slow evolution of the geometric propagation parameters (e.g., moving users), classical approaches that deal with streaming data, such as time windowing, potentially result in catastrophic forgetting [START_REF] Kirkpatrick | Overcoming catastrophic forgetting in neural networks[END_REF]. Therefore, wireless communication systems that generate a constant stream of new CSI samples require an online method that maintains a fixed dataset size, while still enabling the extraction of high-quality channel charts and avoiding catastrophic forgetting.

A. Contributions

Since the CC literature routinely ignores the fact that CSI data is acquired perpetually in a streaming fashion, we introduce a new approach for CC with streaming CSI data and limited memory. Our method consists of a simple dynamic core dataset selection strategy that updates the set of CSI samples used for learning the channel charts. This strategy has the benefit of conceptually separating the distillation algorithm from the DR process, which is performed solely based on the core CSI memory contents; see Fig. 1 for an overview of our approach. We introduce a core CSI memory curation strategy that dynamically minimizes the maximum similarity across the stored CSI samples. Results with the measured CSI dataset from [START_REF] Euchner | A distributed massive MIMO channel sounder for "big CSI data"-driven machine learning[END_REF] demonstrate that the proposed min-max-similarity curation approach avoids catastrophic forgetting and, even with a small core CSI memory, achieves comparable performance as an idealistic baseline that has access to all CSI samples.

B. Relevant Prior Art

In the field of machine learning, the problem of selecting a subset of a dataset while preserving its information content (measured as its potential to be used as a training set yielding a prescribed accuracy) is known as core-set selection [START_REF] Mirzasoleiman | Coresets for data-efficient training of machine learning models[END_REF]. A more general approach, known as dataset condensation (or distillation), consists of synthesizing a new composite, smaller dataset (not necessarily a subset of the full dataset) based on linear combinations of the original samples (see e.g. [START_REF] Zhao | Dataset condensation with gradient matching[END_REF]). Dataset condensation appears to be a valid approach to deal with streaming data (see, e.g., the results in [START_REF] Wiewel | Condensed composite memory continual learning[END_REF], [START_REF] Sangermano | Sample condensation in online continual learning[END_REF] which leverage dataset condensation through a gradient matching approach for the purpose of continual learning). However, existing dataset condensation approaches (see [START_REF] Yu | Dataset distillation: A comprehensive review[END_REF] for an overview) appear to be limited to supervised learning problems, and their extension to self-supervised DR is not straightforward. In contrast, our proposed approach is tailored to CC, which is an inherently self-supervised learning problem.

II. CHANNEL CHARTING OVERVIEW

We start by introducing the system model and summarizing traditional CC from non-streaming CSI.

A. System Model

We consider a single-input multiple-output (SIMO) wireless communication system, in which one or multiple single-antenna user equipments (UEs) transmit pilots to one or multiple APs/BSs, with a total number of B receive antennas. We assume that transmission utilizes orthogonal frequency-division multiplexing (OFDM) with W used subcarriers. For one UE at position x (n) ∈ R 3 , the CSI vector estimated by the BS at the wth subcarrier is h

(n) w ∈ C B ,
where n denotes the sample index. The CSI matrix associated with the UE at position x (n) is obtained by concatenating the channel vectors from all subcarriers [h

(n) 1 , . . . , h (n) W ] = H (n) ∈ C B×W .

B. Channel Charting Basics

Traditional CC operates in the following two phases [START_REF] Studer | Channel charting: Locating users within the radio environment using channel state information[END_REF]. 1) Learning the CC Function: In the first phase, a large CSI dataset from various UE positions is collected at one or many infrastructure basestations (BSs). To capture the large-scale fading characteristics of the wireless channel [START_REF] Studer | Channel charting: Locating users within the radio environment using channel state information[END_REF] and to improve resilience against system and hardware impairments [START_REF] Ferrand | Tripletbased wireless channel charting: Architecture and experiments[END_REF], [START_REF] Gönültaş | CSI-based multi-antenna and multi-point indoor positioning using probability fusion[END_REF], one first transforms each CSI matrix

H (n) into a CSI fea- ture f (n) ∈ R D ′
. We represent this transform by a feature extraction function f :

C B×W → R D ′ , so that f (n) = f (H (n)
). The total dataset of acquired CSI features is {f (n) } N n=1 , where N denotes the total number of acquired CSI samples. We note that if CSI is acquired at fast rates and over long periods of time, then storing all D ′ × N scalars may be infeasible.

From the CSI feature dataset, one then learns a CC function

g θ : R D ′ → R D , where D ≪ D ′ , so that each CSI feature f (n) is mapped to a D-dimensional pseudo-position x(n) = g θ (f (n) ).
Here, the vector θ denotes the trainable parameters of the dimensionality reduction function. Note that the CC function is trained in a self-supervised manner, solely from the CSI feature dataset {f (n) } N n=1 , which does not use any ground-truth UE position information-training typically aims at preserving pairwise relationships (e.g., matching dissimilarities) between feature space and latent space. The resulting, low-dimensional latent-space representation is the channel chart.

2) Channel Charting: In the second phase, the learned CC function g θ is then used for channel charting, where one maps (typically in real time) new CSI features to pseudo-positions in the channel chart. The benefit of a channel chart is that it captures pseudo-positions of the transmitting UEs by preserving the local geometry: UEs that are close in space are also close in the channel chart.

III. CHANNEL CHARTING WITH STREAMING CSI

We now present our architecture for CC from streaming CSI and then discuss two core memory curation strategies.

A. Architecture Overview

In a realistic scenario, APs or BSs continuously estimate CSI matrices at high rates, which prevents them from storing all CSI data over long periods of time. We address this problem by learning a CC function from streaming CSI under the constraint of limited memory at the BSs. Concretely, we propose an architecture as depicted in Fig. 1. Here, either CSI matrices or features arrive perpetually and in a streaming fashion. A distillation algorithm, which is responsible for curating a core CSI dataset M that stores no more than M CSI samples, assesses each newly-arrived CSI sample and either stores it in the core CSI memory (which may require one to replace a datapoint in the core CSI memory) or discards it. 1 The CC function g θ is then learned from the core CSI dataset M.

B. Core CSI Memory Curation Strategies

The core CSI memory is then curated by storing only a subset of the streaming CSI data (matrices or features) as follows. At the beginning, all of the estimated CSI samples are added to the core memory until its capacity M is reached. After capacity has been reached, we asses each new CSI sample. If we decide to add the new CSI sample to the core CSI memory, then we maintain fixed memory capacity by replacing one existing CSI sample. Otherwise, the memory remains unchanged and the new CSI sample is discarded. We now propose two curation strategies that determine whether to add a new CSI sample and which existing CSI sample to discard.

1) Random Subset (RandoS): The first (and simplest) curation strategy that would come to one's mind is to store a random subset of the streaming CSI. Concretely, after core memory capacity has been reached, this curation strategy randomly decides whether to update the core memory by adding a new CSI sample H n ← n + 1 14: end for replace the rth element H (r) ∈ M according to the probability mass function (PMF) p r ∈ [0, 1] with r p r = 1. One can choose p update and the PMF p r , r = 1, . . . , M , according to some preference (e.g., updating the core memory more frequently or replacing more recent CSI samples).

2) Similarity-Based Subset (SimS): The second curation strategy takes into account the CC application and attempts to store a subset of the streaming CSI that minimizes the maximum similarity in the core memory. The intuition behind this strategy is to avoid redundancy by maintaining a core CSI memory M with maximally dissimilar CSI samples. The implementation details of this curation strategy are given in Alg. 1 and the method proceeds as follows. For each new arriving CSI sample H (n) , after memory capacity M is reached, we first calculate the similarity between the new CSI sample and all of the CSI samples in the core memory (line 6). By denoting the ith element in the core CSI memory M by M i , we find the pair from M that exhibits maximum similarity {M k , M ℓ }; this set contains the two candidates of samples that should be replaced (line 7). If the maximum of the similarities between the new CSI sample and the CSI samples in the core memory is smaller than the similarity between M k and M ℓ (line 8), then, with probability p, we replace M k with the new sample H (n) ; otherwise, we replace M ℓ (lines 9 and 10). In our implementation, we measure the pairwise CSI similarity using the absolute cosine similarity between CSI features:

sim(H (i) , H (j) ) = |(f (i) ) H f (j) | ∥f (i) ∥∥f (j) ∥ . (1)
Here,

f (i) = f (H (i) )
, the superscript H is the conjugate transpose, and ∥ • ∥ is the Euclidean norm.

IV. EXPERIMENTAL SETUP

We now describe our experimental setup, which we use in Sec. V to assess the efficacy of the proposed methods.

A. Dataset Description

We use the measured CSI from the DICHASUS dataset [START_REF] Euchner | A distributed massive MIMO channel sounder for "big CSI data"-driven machine learning[END_REF], [START_REF] Euchner | CSI Dataset dichasus-cf0x: Distributed Antenna Setup in Industrial Environment[END_REF]. These measurements are for an indoor distributed SIMO Fig. 2. Ground-truth UE positions (green-to-red gradient-colored area) of the streaming CSI and AP positions (blue triangles). Only a subset of the CSI samples stemming from these locations will be stored in the core memory M. communication system, in which a moving robot transmits pilots to four APs with eight antennas each. The APs are synchronized in frequency, time, and phase via over-the-air synchronization, and the transmitting robot uses an omnidirectional antenna. The system uses OFDM with a total number of W = 1024 subcarriers over a bandwidth of 50 MHz, centered at a carrier frequency of 1.272 GHz. The dataset in [START_REF] Euchner | CSI Dataset dichasus-cf0x: Distributed Antenna Setup in Industrial Environment[END_REF] comprises CSI from multiple trajectories of the robot over the same area.

To imitate a streaming CSI scenario, we use only the first trajectory from [START_REF] Euchner | CSI Dataset dichasus-cf0x: Distributed Antenna Setup in Industrial Environment[END_REF]. This trajectory yields a total number of N = 17 516 sequentially-arriving CSI samples, where the robot follows a path from the top-left corner of the area to the bottom-right2 ; see Fig. 2 for the robot's trajectory.

B. Channel Charting Pipeline

The specifics of our channel charting pipeline are as follows. We adopt the CSI feature extraction function from [START_REF] Vieira | Deep convolutional neural networks for massive MIMO fingerprint-based positioning[END_REF]- [START_REF] Taner | Channel charting in real-world coordinates[END_REF], where we first apply an inverse discrete Fourier transform over the W subcarriers to transform the CSI into the delay domain. We denote the delay domain CSI vector for the nth UE position at delay tap τ with h (n) τ ∈ C B . We only keep the first C columns of the delay-domain CSI, {h (n) τ } C τ =1 , since the first few taps usually contain most of the received power. We vectorize this truncated-delay domain CSI matrix and take entrywise absolute values. Finally, we scale the resulting vector to unit Euclidean norm. The resulting CSI feature vectors f (n) ∈ R BC will be the input of the CC function.

The literature describes a variety of neural-network-based channel charting functions building on autoencoders [START_REF] Studer | Channel charting: Locating users within the radio environment using channel state information[END_REF], [START_REF] Huang | Improving channel charting with representationconstrained autoencoders[END_REF], networks trained with a triplet loss [START_REF] Ferrand | Tripletbased wireless channel charting: Architecture and experiments[END_REF], [START_REF] Taner | Channel charting in real-world coordinates[END_REF], [START_REF] Yassine | Leveraging triplet loss and nonlinear dimensionality reduction for on-the-fly channel charting[END_REF], [START_REF] Rappaport | Improving channel charting using a split triplet loss and an inertial regularizer[END_REF], or Siamese neural networks [START_REF] Lei | Siamese neural networks for wireless positioning and channel charting[END_REF], [START_REF] Stahlke | Indoor localization with robust global channel charting: A time-distancebased approach[END_REF], [START_REF] Stephan | Angle-delay profile-based and timestamp-aided dissimilarity metrics for channel charting[END_REF]. In what follows, we focus on Siamese neural networks that match the distances between the positions in the channel chart to pairwise dissimilarities computed from CSI. This property is expressed by the following loss:

L(θ) = N -1 i=1 N j=i+1 d i,j -∥g θ (f (i) ) -g θ (f (j) )∥ 2 . (2)
Here, d i,j denotes the dissimilarity between H (i) and H (j) used for channel charting. The measure of dissimilarity we use is calculated in two steps: First, we compute the angle-delay profile (ADP)-based metric from [START_REF] Stephan | Angle-delay profile-based and timestamp-aided dissimilarity metrics for channel charting[END_REF], which is given by di

,j = C τ =1 1 - |(h (i) τ ) H h (j) τ | 2 ∥h (i) τ ∥ 2 ∥h (j) τ ∥ 2 . (3)
Intuitively, this metric calculates the squared cosine similarity between two delay domain CSI vectors per-tap, and sums over the taps 3 . Second, we compute geodesic dissimilarities as in [START_REF] Stahlke | Indoor localization with robust global channel charting: A time-distancebased approach[END_REF], [START_REF] Stephan | Angle-delay profile-based and timestamp-aided dissimilarity metrics for channel charting[END_REF]. To this end, we form a K-nearest neighbor graph of every sample according to its ADP-based dissimilarities with all other CSI samples. We then apply Dijkstra's algorithm [START_REF] Dijkstra | A note on two problems in connexion with graphs[END_REF] on this graph to determine all shortest paths. Finally, the geodesic dissimilarity d i,j is given by the length of the shortest path between samples i and j.

The CC function g θ is implemented using the neural network architecture from [START_REF] Ferrand | Tripletbased wireless channel charting: Architecture and experiments[END_REF]. We train a six-layer fully-connected neural network with the following numbers of activations per layer: {256, 128, 64, 32, 16, 2}. All layers except the last one use ReLU activations; the last one uses linear activations. We use Glorot's method [START_REF] Glorot | Understanding the difficulty of training deep feedforward neural networks[END_REF] for weight initialization, and we utilize Adam [START_REF] Kingma | Adam: A method for stochastic optimization[END_REF] to train the channel charting function g θ .

C. Core-Memory Size and Algorithm Parameters

We assume that the core memory capacity is M = 1 000 and we store a subset of the streaming CSI using the two curation strategies proposed in Sec. III-B. We refer to the core CSI memories obtained with RandoS and SimS by M R and M S , respectively, to avoid ambiguity when we discuss one of them specifically. For RandoS, we set the probability p update = 0.5 and p r = 1/M for all H (r) ∈ M R . For SimS, we set p = 0.5.

D. Performance Metrics

We assess the effectiveness of the proposed methods using four standard metrics from the CC literature; more details can be found in [START_REF] Al-Tous | Channel charting with angle-delay-power-profile features and earth-mover distance[END_REF]. (i) Trustworthiness (TW) penalizes false neighborhood relationships in the channel chart, i.e., points that are neighbors in the channel chart but not in real world coordinates. (ii) Continuity (CT) quantifies preservation of realworld coordinate neighborhood relationships in the channel chart. (iii) Kruskal stress (KS) characterizes the mismatch between pairwise distances in real-world coordinates and those in the channel chart. (iv) Rajski distance (RD) measures the discrepancy between mutual information and joint entropy of the distribution of pairwise distances in the real-world coordinates and channel chart. All metrics range from 0 to 1. The optimal value for TW and CT is 1 (large is good); the optimal value for KS and RD is 0 (small is good).

Fig. 1 .

 1 Fig. 1. Illustration of channel charting for streaming CSI data. A curation strategy maintains a subset of the obtained CSI samples or features in a small core CSI memory M, which is used to perform channel charting.

s 8 :

 8 (n) with probability p update ∈ [0, 1]. If one decides to add the new CSI sample, then one chooses to randomly Algorithm 1 Similarity-based Subset (SimS) Curation Strategy 1: initialize M = ∅ and n = 1 2: for each newly arrived CSI sample H (n) do ← max Mi∈M sim(H (n) , M i ) 7: {k, ℓ} ← arg max 1≤i̸ =j≤M sim(M i , M j ) if s < sim(M k , M ℓ ) then 9: with probability p, r ← k; otherwise, r ← ℓ 10:M ← (M \ M r ) ∪ H(n)

One could also directly store CSI features in the core CSI memory M. In this work, we store the CSI matrices as it enables the use of elaborate dissimilarity metrics for channel charting; see Sec. IV-B for the details.

For easier interpretation of the generated results, we exclude the last 1 000 CSI samples where the robot moves back towards the start.

In case of a distributed scenario with multiple APs, one would use the CSI vectors per AP and sum over the APs.

V. RESULTS

We are finally ready to demonstrate the efficacy of our approach to streaming CSI data.

A. Evolution of Core CSI Memory Contents

Figures 3 and4 show the ground-truth positions corresponding to the CSI in the core memory after n = 6 000, n = 12 000, and n = 17 516 arrived CSI samples. The color scheme represents the maximum cosine similarity from (1) of each sample with all others in the core memory, i.e., the color of UE position x (n) is determined by max i∈M sim(H (n) , H (i) ).

In Fig. 3, we see that the core memory M R formed by RandoS experiences catastrophic forgetting-the memory stores mostly recent (and thus, similar) CSI data and old CSI samples are lost. In Fig. 4, we see that the core memory M S formed by SimS avoids catastrophic forgetting and contains CSI samples with dissimilar cosine similarities. We note that the maximum similarity values are generally lower for SimS in Fig. 4(c) than for the earlier time instants in (a) and (b), which is to be expected as the algorithm gradually reduces the maximum cosine similarity within the core memory over time. However, the maximum similarities of some samples seem to be larger in Fig. 4 (b) than in (a); this shows that, although the SimS curation strategy aims at reducing the maximum similarity among all samples, the per-sample similarity may increase.

B. Channel Charting from Streaming CSI Data

We now show channel charts obtained from the proposed methods. We train one Siamese neural network from M R and one from M S after N = 17 516 arrived CSI samples. As a baseline, we also train a Siamese network with all N arrived samples, which we refer as "All." We then evaluate the channel chart quality performance using the second trajectory from [START_REF] Euchner | CSI Dataset dichasus-cf0x: Distributed Antenna Setup in Industrial Environment[END_REF]; this test set consists of 23 478 CSI samples.

In Fig. 5, we show the ground-truth positions of the UE in the test set along with three channel charts. Fig. 5(b) confirms the expectation that RandoS does not perform well due to catastrophic forgetting. In fact, the training set M R includes almost no samples from the green part of the original trajectory. In stark contrast, Figs. 5(c) and (d) obtained from SimS and the idealistic "All" baseline that had the full CSI dataset for training, respectively, show high-quality channel charts in which the green and red areas are well separated.

To quantify the improvement of Sims over RandoS, and to compare Sims to the baseline "All," Tbl. I lists the associated performance metrics outlined in Sec. IV-D. As expected, RandoS performs the worst in all considered metrics and the "All" baseline performs best. Quite surprisingly, the performance of SimS with a very small core memory of only M = 1 000 CSI samples is at most 0.015 worse than the "All" baseline in all four metrics. Put simply: learning a CC function from a tiny core CSI memory curated with the SimS strategy achieves comparable quality as training from all 17 516 CSI samples!

VI. CONCLUSIONS AND FUTURE WORK

We have studied a realistic scenario in which CSI is estimated in a streaming fashion and the basestation has a small and fixed-capacity core memory that stores CSI data from which one learns the channel charting function. We have proposed two simple curation strategies to maintain the core memory: The first one stores a random subset of the streaming CSI and is mostly used to demonstrate catastrophic forgetting. The second utilizes a criterion that attempts to minimize the maximum cosine similarity between CSI samples in the core memory. We have demonstrated with measured CSI data that our first method indeed suffers from catastrophic forgetting, while the second method results in a core memory that contains a representative subset of the streamed CSI data. The latter approach with a core dataset of only 1 000 CSI samples results in comparable channel chart quality as an idealistic approach that has access to all 17 516 CSI samples.

There are many avenues for future work. Other similarity metrics and more sophisticated curation strategies should be explored. Furthermore, the core CSI memory could store data that is more suitable for channel charting (e.g., linear combinations of arrived CSI features). Finally, the consistency of channel charts over time should be studied.