Git Product home page Git Product logo

bianchi's Introduction

Bianchi's model

This repository contains a Matlab/Octave script to study Bianchi's model for both IEEE 802.11n and 802.11ac standards.

Quickstart

Modify the input parameters for the desired use case at the start of the script before running it:

%Change these parameters for the different simulations
standard = 'ac';                    %ac or n
frame_aggregation = true;           %true or false
guard = 'short';                     %short or long

Tested with GNU Octave, version 4.0.0

Simulation

This model, presented by Giuseppe Bianchi in 2000's paper, evaluates the performance of Medium Access Control (MAC) techniques of 802.11 networks. It is a simple analytical model that can be used to calculate the saturation throughput in ideal channel conditions with accurate results.

Each station is characterized as a Markov model that will transmit in a randomly chosen slot time with a stationary probability τ. This probability does not depend on the access mechanism employed. The throughput formula can be derived upon the events that may occur within a given slot time and will be a function of τ.

For the scalability studio, the number of stations will be increased from 1 to 500 in 10-user steps, being this variable named N. The standards studied will be IEEE 802.11ac (transmission in the 5GHz band) and 802.11n (2.4GHz band). Each of them has a set of mandatory MCS which are used to determine the data rate of a wireless connection.

The code was implemented for all different combinations: 802.11ac and 802.11n, with and without frame aggregation and, finally, with either short or long guard intervals. For each possible scenario we present two plots: the left one shows the throughput versus the number of users for a given payload of 1500 Bytes; the right one yields the throughput against the payload size for the ideal case (only one user transmitting). In the cases where frame aggregation is considered we assume that the number of aggregated frames used will be the maximum that fulfills all the requirements (in terms of frames, data length and time).

Results

As expected, the ideal case is when no collision is possible, i.e. one transmitting user. When the number of users increases, overall performance is degraded due to resource contention and CSMA/CA limitations. Decay pattern is similar across all cases but throughput is much greater when aggregating frames.

Upon payload size increase we obtain a higher throughput efficiency, approaching the theoretical limit. If we use frame aggregation, the gain for a higher payload is not as significant and starts to stagnate for medium payload sizes, as the data length already dominates against the access control information. Both the duration of the guard interval and specification used (except for the added mandatory MCS) have a more subtle effect in the curves and efficiency loss table.

The resulting figures, for each scenario, are:

  • 802.11n, short guard interval, no frame aggregation

img1

  • 802.11n, long guard interval, no frame aggregation

img2

  • 802.11n, short guard interval, frame aggregation

img3

  • 802.11n, long guard interval, frame aggregation

img4

  • 802.11ac, short guard interval, no frame aggregation

img5

  • 802.11ac, long guard interval, no frame aggregation

img6

  • 802.11ac, short guard interval, frame aggregation

img7

  • 802.11ac, long guard interval, frame aggregation

img8

We can also calculate the loss of efficiency with the previously obtained thorughput results for each case. Frame aggregation and long data sizes can be used to minimize the losses due to the access mechanism.

  • Loss of efficiency (MCS 0):

loss0

  • Loss of efficiency (MCS 7):

loss7

Conclusions

  • The main goal is to demonstrate the usefulness of Bianchi’s model for throughput calculations.
  • Access mechanism is one of the main bottlenecks of current Wi-Fi specifications.
  • However, frame aggregation and high payload sizes mitigate throughput losses.

License

This example is porvided under the MIT License.

Issues

Report any issue to the GitHub issue tracker.

bianchi's People

Contributors

gxercavins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bianchi'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.