Giter Club home page Giter Club logo

5gpositioning's Introduction

5GPositioning

This is a demonstration of 5G mmWave positioning

Summary

The matlab code (main.m) generates a 2D environment with random scatterers and line-of-sight (LOS) between a transmittee (at a fixed location) and a receiver (with unknown location and orientation). Both the transmitter and receiver are equipped with uniform linear arrays (for the transmitter the ULA is aligned with the vertical axis). The transmitter sends a sequence of beams, with associated precoders, to the receiver. At the receiver, the time-of-arrival (TOA), angle-of-arrival (AOA), and angle-of-departure (AOD) are estimated using distributed compressed sensing (DCSSOMP.m) in the beamspace domain. The LOS parameters are then utilized to recover the receiver's location and orientation.

scenario

This figure shows the scenario with a single scattering point.

Main parameters

The parameters that can be set by the user are

L=4;                % number of paths (including LOS)
Rs=100;             % total BW in MHz
N=10;               % number of subcarriers 
Nt=32;              % number of TX antennas
Nr=Nt;              % number of RX antennas
Nb=Nt*2;            % number of beams in dictionary; 
Ns=20;              % number of beams sent
posRx=[5 1]';       % RX (user) position, TX is assumed to be in [0, 0]
alpha=0.2;          % user orientation
sigma=0.1;          % noise standard deviation

Note that for the code to be able to estimate the distance, the number of subcarriers should be greater than 1.

What's still missing

Still to do:

  1. Receiver combining: the current version assumes full access to the received waveform
  2. Positioning based on the non-line-of-sight (NLOS) components: the current version only uses the LOS path for positioning and orientation estimation
  3. Three dimensional: the current version is only in 2D
  4. Refinement of parameter estimates: the current version is a one-shot estimation without the refinement.

Authors

The code was developed by

This code is based on the paper

A. Shahmansoori, G. E. Garcia, G. Destino, G. Seco-Granados and H. Wymeersch, "Position and Orientation Estimation Through Millimeter-Wave MIMO in 5G Systems," in IEEE Transactions on Wireless Communications, vol. 17, no. 3, pp. 1822-1835, March 2018.

If you plan to use or modify this code, please cite our work:

@ARTICLE{ShaGarDesSecWym:18,
author={A. Shahmansoori and G. E. Garcia and G. Destino and G. Seco-Granados and H. Wymeersch}, 
journal={IEEE Transactions on Wireless Communications}, 
title={Position and Orientation Estimation Through Millimeter-Wave MIMO in 5G Systems},
year={2018}, volume={17}, number={3}, pages={1822-1835}, 
doi={10.1109/TWC.2017.2785788}, ISSN={1536-1276}, month={March}}

License

This project is licensed under the MIT License - see the LICENSE.md file for details

5gpositioning's People

Contributors

henkwymeersch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

5gpositioning's Issues

Question about DCSSOMP

The premise of DCSSOMP algorithm is that the number of columns in the perception matrix is much greater than the number of rows, but in this simplified code and the paper, this condition seems not to be satisfied, I want to know why. Could someone help me?

Issues with diagram in paper and the github repo

Hello,

It appears that there are some mathematical errors with the labels in figure 1 of your accepted paper "Position and Orientation Estimation Through Millimeter-Wave MIMO in 5G Systems". The labeled angles that correspond with the scatterer and the MS do not add up correctly. You are using the same diagram in this repository.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.