CSI Indoor Fingerprint Positioning——CSI Data Description

1. You can use a wireless router AP as a transmitter (a total of 2 transmitting antennas), and use a desktop computer equipped with an Intel WiFi Link 5300 wireless network card and Ubuntu operating system as a receiver (a total of 3 receiving antennas) to carry out experiment. You can also use two desktops equipped with Intel5300 network cards for experiments, one as a transmitter and one as a receiver. Finally, the device driver of the NIC can be modified to read the CSI value recorded in the hardware in the form of CSI when each data packet is received, and generate a dat file containing CSI information. These dat files are stored in binary, and finally we need to use MATLAB or Python programs to read the dat files to obtain rich csi information. 1500 packets are tested for each location point.

2. Use MATLAB to parse the dat file and display 1615*1 cell arrays. These cell arrays contain 1615 1*1 structures. Each structure represents all the information of a data packet, including channel state information.

010b14fc977746b092181892a992ab51.png

3. Field explanation of a packet:

timestamp_low : Timestamp, the difference between two consecutive packets is in microseconds. This parameter can determine the time on the horizontal axis of the waveform

bfee_count : The total number of beam measurements recorded by the driver and sent to the user control. This variable can be used to detect dropped measurements

Nrx: the number of antennas used by the receiving end

Ntx: the number of antennas used by the transmitter 

rssi_a, rssi_b, rssi_c: RSSI values ​​measured by the receiving NIC

perm: Shows how the NIC arranges the signals of the 3 receiving antennas to the 3 RF chains. The data in the figure above indicates that antenna A is sent to RF chain A, antenna B is sent to RF chain B, and antenna C is sent to RF chain C. 

rate: packet sending frequency

csi: csi value (detailed explanation later)

410612d6fda3466d9ca34e4066581a20.png

 4. Description of csi value matrix

The value of csi is a complex matrix of n*m*30, n represents the number of transmitting antennas, m represents the number of receiving antennas, and 30 is the number of subcarriers. The number of transmitting antennas of the known device is 2, and the number of receiving antennas is 3. The complex number form is val=a+bi, we can get the modulus gif.latex?%5Csqrt%7Ba%5E2+b%5E2%7D   and phase angle of the complex number gif.latex?%5Ctheta%20%3DArctan%28b%2Ca%29, that is, the corresponding amplitude and phase. Matlab provides the abs function and the angle function to obtain the magnitude and phase of the complex number. Of course, the phase is difficult to handle due to the deviation brought by the hardware and the environment, causing many scholars or researchers to give up using phase fingerprints.

5. The extracted amplitude and phase are as follows:

61a7d81624f345f891595539fe7fde13.png

caa730cffe254b4d9bca8907885d14bc.png

Creation is not easy, respect for originality, because there are direct plagiarism by bloggers, so many articles have been deleted, I hope everyone understands. If you are interested in indoor CSI fingerprint positioning, you can read the following articles:

1. CSI Fingerprint Positioning for Indoor Positioning

2. CSI Indoor Fingerprint Positioning - Explanation of Related Communication Terms_Digital Production Xiaoheiwa Blog-CSDN Blog

3. 5G positioning for indoor positioning

66b53385615046d18861282a38998f51.png

Guess you like

Origin blog.csdn.net/qq_53860947/article/details/126449801