Coder Social home page Coder Social logo

uwa-channel-model's Introduction

uwa-channel-model

This repository contains the code to accompany the following publication:

N. Morozs, W. Gorma, B. Henson, L. Shen, P. D. Mitchell and Y. V. Zakharov, "Channel Modelling for Underwater Acoustic Network Simulation," in TechRxiv (submitted to IEEE Access, Jun 2020).

This work was supported by the UK Engineering and Physical Sciences Research Council (EPSRC) through the USMART Project under Grant EP/P017975/1.

This code is published under the MIT License (see full license in the 'LICENSE' file)


Prerequisites and installation

Required software:

  1. MATLAB (tested on R2015a, R2018b and R2019a)
  2. BELLHOP (part of Acoustics Toolbox: https://oalib-acoustics.org/AcousticsToolbox/)
    • The version used in our work (downloaded 17 Feb 2020, last modified 6 Jul 2018)
    • The installation requires a FORTRAN compiler (e.g. gfortran on Linux-based systems)
    • Please consult the index.htm file at the Acoustics Toolbox root directory and the bellhop-installation-notes.pdf provided by us for BELLHOP installation instructions

Contents

The list of subdirectories:

  • channel_model: MATLAB files and data referenced in Sections IV and V of the tutorial paper. All of the channel modelling code is inside this folder.

  • riverbed_case_study: the data, results and the plotting script for the Riverbed Modeler single-hop ALOHA case study (Section VI.A)

  • stdma_case_study: simulation scripts, channel data and results for the statistical channel modelling and STDMA case study (Section VI.B)

  • north_sea_linnet_study: channel modelling, simulation and plotting scripts for the North Sea simulation study (not part of the tutorial: linear network, STDMA, January vs July)

The descriptions of the MATLAB scripts and functions in the channel_model subdirectory can be accessed by typing help <script/function name> into the MATLAB console. Their functionality are also described in the paper. Below is a list of some of the key scripts performing various channel modelling tasks described in the paper. Note, the results may vary slightly compared to those included in the paper, since the random number generator may produce different sea surface/bottom realizations and node position permutations on different versions of MATLAB.

  • single_sim: this is the best starting point to familiarize yourself with our model. It performs a single ray tracing simulation and produces plots in Fig. 2, 3, 4, 7, 9, 10, depending on the specified type of simulation.

  • create_grid_lut: this script runs BELLHOP on a grid of receiver depths and ranges and generates raw channel impulse response data used for Figures 11 and 13.

  • plot_rxp_snr_grids: this script produces the contour plots as in Fig. 11 and 13, using the data generated by the script above.

  • example_3d_channel_lut_gen: this script creates a channel look-up table (raw or processed) for a given set of node positions in 3D space. This was the script we used to generate the data for the Riverbed Modeler case study described in Section VI.A of the paper.

  • example_stat_channel_model: this script generates a statistical channel model for a specified pair of source-receiver positions described in Subsection V.C. It also produces the graphs from Fig. 17 and 18.

  • create_stat_ch_model_linnet: this script generates a statistical channel model for the linear network case study in Subsection VI.B of the paper.

uwa-channel-model's People

Contributors

nilsmorozs avatar

Stargazers

 avatar

Watchers

James Cloos avatar

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.