Git Product home page Git Product logo

wsnfault's Introduction

Statistical Method Based Algorithm for Fault Detection in Wireless Sensor Networks (WSNs)

Using distributed self-fault diagnosis (DSFD) method, faults in wireless sensor networks (WSNs) can be easily detected. In this method, each sensor node collects its neighbourhood sensor node data and uses the statistical-based method for detecting its own fault status. Discussed various statistical-based method such as standard deviation, interquartile range, median absolute deviation (MAD), Sn and Qn scale estimator for detection of the fault in WSNs. The result of the experiment shows that standard deviation and interquartile range fails to detect the fault, if multiple nodes are faulty, while MAD, Sn and Qn scale estimator detects the fault even 20-30% of the nodes are faulty.

Installation

OS X , Windows & Linux:

  • Clone the repository
  • Install dependencies
    • pip3 install -r requirements.txt

Usage example

modify the config.yaml file with your testing parameters then run python main.py. Go to resources folder to see the different file for more analysis. currently four different statistical method is supported. this repo is under development, you may see many updates in future.

from src.config import Config
from src.dsfd import DSFD

def main():
    config = Config("config.yaml")
    dsfd = DSFD(config)
    print(dsfd.run())

if __name__ == "__main__":
    main()

Result Comparison with different Statistical Method

Date/Time Method Total Nodes Total Faulty Nodes Node Avg. Value Range Faulty Value Range Detection Acc. False Alaram Rate False Positive Rate Avg. Stat Cal. Time Energy
2022-12-05 21:28:10.513992 SD 1000 90 (23.5, 25.3) (53.2, 80.2) 0.93 0.97 0.57 0.0 0
2022-12-05 21:31:08.852516 QN 1000 90 (23.5, 25.3) (53.2, 80.2) 0.9 0.89 0.97 0.0 0
2022-12-05 21:32:06.578734 SN 1000 90 (23.5, 25.3) (53.2, 80.2) 0.83 0.83 0.89 0.0 0
2022-12-05 21:35:27.070568 MAD 1000 90 (23.5, 25.3) (53.2, 80.2) 0.88 0.88 0.88 0.0 0

For Detailed Information

Read the paper. Read More.

Contributing

  1. Fork it (https://github.com/deepak7376/wsnFault/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

wsnfault's People

Stargazers

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

Watchers

 avatar  avatar

wsnfault's Issues

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.