To model radiowave propagate in outdoor scenarios, we need to understand the knife edge propagation models. The knife edge model described here is a general purpose theoretic model.
I have spent some time developing the core engine that will be served as the foundation of future knife edge propagation models such as EP or Bullington.
NPM Project: https://www.npmjs.com/package/knife_edge_propagation
Test Library in Your Browser: https://npm.runkit.com/knife_edge_propagation
Github: https://github.com/DoctorLai/knife_edge_propagation
Proof of Work
doctorlai is my Github ID and you can verify that by checking my github profile page which has the same gravatar image and it shows my steemit URL. You can verify my ID via NPM profile: https://www.npmjs.com/~justyy that has a few other projects.
Sample Usage
1 | var knife_edge = require('knife_edge_propagation'), |

Contributing
- Fork it!
- Create your feature branch: git checkout -b my-new-feature
- Commit your changes: git commit -am ‘Add some feature’
- Push to the branch: git push origin my-new-feature
- Submit a pull request :D
Tests
I have also written a few tests so you can run via npm test

The tests are based on mocha and chai JS Unit test library:
1 | var should = require('chai').should(), |
Computing the Heights

Image Credit: here
This is implemented as a helper function knife_edge_compute_h
Core Engine JS Source
1 | 'use strict'; |
As you can see in the source code, the library exports the following methods:
- knife_edge_compute_v
- knife_edge_compute_pathloss
- knife_edge_compute_pathloss_lee
- knife_edge_compute_h
Posted on Utopian.io - Rewarding Open Source Contributors
This page is synchronized from the post: NPM - Basic Knife Edge Propagation Engine



