Experimenting with Binarized Neural Networks for DoA estimation on 1-bit quantized signals. The benefit is that 1-bit ADCs are much simpler which is key in the case of massive MIMO systems. Enabling the use of thousands of receivers can give a much higher spatial resolution which is a corner stone in improving future wireless communication performance.
The purpose is to determine how 1-bit quantization of a received signal on a ULA performs compared to the unquantized during DoA estimation. The evidence shown by (One-bit MUSIC https://arxiv.org/pdf/1901.05109.pdf) suggests similar performance whether or not the signal has been quantized.
In case the BNN is not particularly worse than the DNN, it would be of interest to create a bitwise neural network using XNOR and popcount during inference. The only available FPGA I have is an iCE40 HX8k so a more powerful one is required if this is to be done.
- Generate data using data_generation.py (parameters for the data is described in code):
python data_generation.py
- Train using main.py on the generated data:
python main.py --data-uuid <uuid>
( is the name of the data in the data folder)
- Implement data generation (room for improvement)
- Define simple DNN and BNN
- Train DNN and BNN on the same data
- If possible, acquire FPGA powerful enough to run BNN
- Implement BNN in a hardware description language and synthesize for aforementioned FPGA
- Clean up
- Experiment with existing DNN models instead of simple fully connected network
- DoA parameter estimation with 1-bit quantization for MIMO https://arxiv.org/pdf/1602.05462.pdf
- training binarized neural network: https://arxiv.org/pdf/1602.02830.pdf
- bitwise neural network model on FPGA http://arainhyy.github.io/proposal.html
- One-bit MUSIC https://arxiv.org/pdf/1901.05109.pdf
- Gaussian noise https://web.stanford.edu/~dntse/Chapters_PDF/Fundamentals_Wireless_Communication_AppendixA.pdf