Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kritiksoman/wsn-localization

MATLAB script for node localization in Wireless Sensor Network
https://github.com/kritiksoman/wsn-localization

cvx localization-algorithms matlab-script rss wireless-sensor-networks wsn-localization

Last synced: about 2 months ago
JSON representation

MATLAB script for node localization in Wireless Sensor Network

Awesome Lists containing this project

README

        

# Node localization in Wireless Sensor Network

[![MIT](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/kritiksoman/WSN-Localization/blob/master/LICENSE)

## Overview
This is the MATLAB implementation of the work presented in [RSS-Based Localization in WSNs Using Gaussian Mixture Model via Semidefinite Relaxation](https://ieeexplore.ieee.org/abstract/document/7847378/).

## Files
pathLossModel.m : Plot the path loss model and the histogram of the Gaussian Mixture Model

estimatePos.m : Returns the estimated target position using SDP in CVX

export_CDF_GM_SDP.m : Creates matrix sdpCDF.mat containing CDF for GM-SDP-2

export_CDF_WLS.m : Creates matrix wlsCDF.mat containing CDF for weighted least square (WLS)

export_crlb.m : Creates matrix crlb.mat containing Cramer-Rao Lower Bound (CRLB) for WSN Localization

export_GM_SDP.m : Creates matrix SDPrmse.mat containing RMSE for GM-SDP-2

export_WLS.m : Creates matrix SDPrmse.mat containing RMSE for WLS

findCrlb.m : Returns CRLB for a particular target and anchor placement

findRSS.m : Returns the Received Signal Strength (RSS) at all target nodes in a WSN

monteCarloInt.m : Returns the value of monte-carlo integration used in calculating the fisher information matrix

place.m : Used for setting the location of target and anchor nodes in WSN

plot_CDF.m : Used for plotting the CDF of various localization algorithms from their .mat files

plot_RMSE.m : Used for plotting the RMSE of various localization algorithms from their .mat files

Saved output folder contains .mat files of the variables plotted in the result screenshots section.

## Dependencies
```
CVX
Statistics and Machine Learning Toolbox
```

## Result Screenshots

[1] WSN

| Example WSN|
| ------------- |
|![image1](https://github.com/kritiksoman/WSN-Localization/blob/master/results/WSN.png)|

[2] Path Loss Model

|Path Loss Model|
| ------------- |
|![image2](https://github.com/kritiksoman/WSN-Localization/blob/master/results/PathLoss.png) |

[3] RMSE and CDF

| RMSE v/s N (number of anchors) | CDF v/s error|
| ------------- |:-------------:|
|![image1](https://github.com/kritiksoman/WSN-Localization/blob/master/results/RMSE.png)| ![image2](https://github.com/kritiksoman/WSN-Localization/blob/master/results/CDF.png) |

Note: Slightly different anchor placement was used in the WSN localization simulation.

## Steps to obtain results shown above
[1] Edit place.m for changing target and anchor node location.

[2] Run export_GM_SDP.m, export_WLS.m, and export_crlb.m to generate .mat files for RMSE.

[3] Run plot_RMSE.m to plot RMSE vs N.

[4] Run export_CDF_GM_SDP.m, and export_CDF_WLS.m to generate .mat files for CDF.

[5] Run plot_CDF.m to plot CDF vs error.

## References
[1] Zhang, Yueyue, et al. "RSS-based localization in WSNs using Gaussian mixture model via semidefinite relaxation." IEEE Communications Letters 21.6 (2017): 1329-1332.

[2] http://cvxr.com/cvx/