This repository contains the source codes for the following paper:
Yi Zhang, Kartik Patel, Sanjay Shakkottai, and Robert W. Heath Jr.. 2019. Side-information-aided Non-coherent Beam Alignment Design for Millimeter Wave Systems. In MobiHoc '19: The Twentieth ACM International Symposium on Mobile Ad Hoc Networking and Computing, July 02-05, 2019, Catania, Italy. ACM, New York, NY, USA, 10 pages. [Link]
In particular, this repository contains the experimental validation and numerical simulation of the contribution of the above paper. Details of the method, experimental results, and representative numerical results can be also found in the above paper.
This software was developed at the Department of Electrical and Computer Engineering, The University of Texas at Austin and is released under the MIT license.
The software was developed and tested using Matlab R2017b, and uses SparsePR, a Matlab software package for solving the sparse phase retrieval problem, and TFOCS, a Matlab software package for the efficient construction and solution of convex optimization problems. A copy of the sparsepr package is included under the third party software directory at "Numerical_Simulation/3rd_software_component/". A selection of scripts also uses the CVX optimization software, the Generalized Approximate Message Passing (GAMP) in MRI MATLAB package and the CoSaMP/OMP toolbox.
The software package is organized under the following directory structure:
-
Experimental_Validation/
-
data/
cal_data/
- This folder contains the collected data which will be used to calibrate the antennas, i.e. calculating the radiation gain and phase error of each antenna element of a phased array.cal_result/
- This folder contains the calibration result after running the functions in [Experimental_Validation/main_programs/ fine_phased_array_calibration/].val_cal_data/
- This folder contains the collected data which will be used to validate the proposed calibration method by testing the RSSI of the directional beam patterns.val_cpr_data/
- This folder contains the collected data which will be used to validate the proposed two-stage non-coherent beam alignment algorithm.
-
main_programs/
cal_decoder/
- This folder contains the specific decoder to decode the collected calibration data to check more details of the performance of the proposed calibration methods.fine_phased_array_calibration/
- This folder contains the main scripts for calculating the radiation gain and the phase error of the phase shifters of a phased array.general_receiver_decoder/
- This folder contains the general receiver and decoder to run the testbed.general_transmitter/
- This folder contains the general transmitter to run the testbed.measurement_collection/
- This folder contains the specific receiver to collect measurements for validating the proposed calibration methods and the non-coherent beam alignment algorithm.plot_results/
- This folder contains the scripts which output the experimental results that are shown in the paper.
-
result_figures/
- This folder contains the experimental results that are shown in the paper -
src/
- This folder contains auxiliary functions necessary to implement the proposed calibration methods and non-coherent algorithms.
-
-
Numerical_Simulation/
-
3rd_software_component/
- This software contains third party software used by the proposed non-coherent algorithm. In particular, it contains GAMP, sparsepr and an installation file of CoSaMP_OMP toolbox. -
main_programs/
- This folder contains the main scripts to reproduce the numerical results that are presented in this paper. In particular, the scripts with postfix _par executes for-loop iterations in parallel on workers. -
result_figures/
- This folder contains the numerical results that are shown in the paper -
src/
- This folder contains auxiliary functions necessary to implement the proposed non-coherent algorithm and related benchmarking algorithms.
-
-
Paper_Materials/
camera_ready/
rebuttal/
submitted_draft/
supplementary_figures/
conference_presentation/
poster/
- Extract the contents of the zip file.
- Add folder Experimental_Validation, Numerical_Simulation and their subfolders into Path.
- Execute the scripts in
Experimental_Validation/main_programs/
orNumerical_Simulation/main_programs
.
This work was partially supported by the U.S. Army Research Labs under grant W911NF-19-1-0221, NSF under grants CNS-1343383, CNS-1731658, CNS-1702800, the Wireless Networking and Communications Group Industrial Affiliates Program, and the US DoT supported D-STOP Tier 1 University Transportation Center.
Bug reports, comments and suggestions are welcome yi.zhang.cn@utexas.edu.