Skip to content

ksteensig/bnn-doa-estimation

Repository files navigation

bnn-doa-estimation

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.

Training

  1. Generate data using data_generation.py (parameters for the data is described in code): python data_generation.py
  2. Train using main.py on the generated data: python main.py --data-uuid <uuid> ( is the name of the data in the data folder)

TODO

  • 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

Literature

About

Binarized Neural Network DoA estimation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published