Skip to content

This repo contains files as part of Project work at Lund University in collaboration with Michiel Sandra

License

Notifications You must be signed in to change notification settings

niil87/Wide-Band-Receiver-Calibration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wide-Band-Receiver-Calibration

This repo contains files as part of Project work (Advanced Course in Electrical and Information Technology - EITN35) at Lund University in collaboration with Michiel Sandra. We utilize a new (as of 2023) open-source hardware, USRP X410, and perform calibration to estimate the phase contributions from the hardware. Utilizing this information, it is possible to estimate the wireless channel coefficients, thereby making it possible to utilize MIMO-specific optimization processes such as Maximum Ratio Combining (MRC), Water pouring, and other such methods.

The Presentation and Report document are located at PPT_and_Report

The summary of the source codes (provided in report document Appendix I)

Step1 : Setup Requirement of Tx and Rx antennas (section 3.1 )
Purpose : Determine the Tx/Rx layout to ensure we get good LoS signal
Source Code : Most of the effort is manual calculations with one useful code ArrangementCalculator.m

Step2 : Data Collection ( section 3.2 )
Purpose : Collect both physical measurements as well as OTA and B2B data required for calibration
Source Code : USRP Channel Sounder (Measurement details are saved in DATA SHEET)

Step3 : Frequency Error Detection and Correction ( section 3.3 )
Purpose : Resolve frequency errors prior to the calibration process
Source Code : C1 FrequencyErrorAndCorrection.m

Step4 : Stable stationary point selection for Channel Estimation ( section : 3.4 )
Purpose : Select stable OTA samples to avoid phase jitters due to physical antenna movements
Source Code : C2 KNN Clustering.m

Step5 : Unwrapping error removal using outlier detection ( section : 3.5 )
Purpose : Catch and rectify phase unwrapping errors
Source Code : C3 OutlierDetectorAndPhaseCorrector.m

Step6 : LoS Separation ( section : 3.6 )
Purpose : Use SAGE algorithm to separate out LoS
Source Code : C4 Sage Implementation.m

Step7 : Calibration ( section : 3.8 )
Purpose : Perform calibration to determine the hardware response
Source Code : C5 FinalCalibration.m

Step8 : MUSIC Algorithm for verifying calibration data reliability ( section : 3.9 )
Purpose : Estimate DoA on estimated channel response using calibration data; use ground truth
Source Code : C6 MusicImplementation.m

Each source code runs in order in the following fashion, C1 -> C2 -> C3 -> C4 -> C5 -> C6. The output contents each source code are stored under MatFiles folder, and used in following source code. The first code C1, will use the USRP sample output, and subsequent codes will use files from MatFiles folder.

https://github.com/niil87/Wide-Band-Receiver-Calibration/tree/main/meas_nikhil_array/meas_nikhil_array => B2B Data for Tx-Rx1, Tx-Rx2, Tx-Rx3, Tx-Rx4
https://github.com/niil87/Wide-Band-Receiver-Calibration/tree/main/meas_nikhil_calb_ch0/meas_nikhil_calb_ch0 => OTA Data for Tx-Rx1
https://github.com/niil87/Wide-Band-Receiver-Calibration/tree/main/meas_nikhil_calb_ch1/meas_nikhil_calb_ch1 => OTA Data for Tx-Rx2
https://github.com/niil87/Wide-Band-Receiver-Calibration/tree/main/meas_nikhil_calb_ch2/meas_nikhil_calb_ch2 => OTA Data for Tx-Rx3
https://github.com/niil87/Wide-Band-Receiver-Calibration/tree/main/meas_nikhil_calb_ch3/meas_nikhil_calb_ch3 => OTA Data for Tx-Rx4

About

This repo contains files as part of Project work at Lund University in collaboration with Michiel Sandra

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages