Giter Site home page Giter Site logo

lfmf's Introduction

Low Frequency / Medium Frequency (LF/MF) Propagation Model

This code repository contains an the NTIA/ITS implementation of the Low Frequency / Medium Frequency (LF/MF) Propagation Model. LF/MF predicts basic transmission loss in the frequency range 0.01 - 30 MHz for propagation paths over a smooth Earth and antenna heights less than 50 meters.

Inputs

Variable Type Units Limits Description
h_tx__meter double meter 0 <= h_tx__meter <= 50 Height of the transmitter
h_rx__meter double meter 0 <= h_rx__meter <= 50 Height of the receiver
f__mhz double MHz 0.01 <= f__mhz <= 30 Frequency
P_tx__watt double Watt 0 < P_tx__watt Transmitter power
N_s double N-Units 250 <= N_s <= 400 Surface refractivity
d__km double km 0 < d__km Path distance
epsilon double 1 <= epsilon Relative permittivity
sigma double S/m 0 < sigma Conductivity
pol int Polarization
  • 0 = Horizontal
  • 1 = Vertical

Outputs

Outputs to LFMF are contained within a defined Result structure.

Variable Type Units Description
A_btl__db double dB Basic transmission loss
E_dBuVm double dB(uV/m) Electrice field strength
P_rx__dbm double dBm Received power
method int Solution method
  • 0 = Flat earth with curve correction
  • 1 = Residue series

Return Codes

Possible return codes, including the corresponding defined constant name as defined in LFMF.h:

Value Const Name Description
0 SUCCESS Successful execution
1000 ERROR__TX_TERMINAL_HEIGHT TX terminal height is out of range
1001 ERROR__RX_TERMINAL_HEIGHT RX terminal height is out of range
1002 ERROR__FREQUENCY Frequency is out of range
1003 ERROR__TX_POWER Transmit power is out of range
1004 ERROR__SURFACE_REFRACTIVITY Surface refractivity is out of range
1005 ERROR__PATH_DISTANCE Path distance is out of range
1006 ERROR__EPSILON Epsilon is out of range
1007 ERROR__SIGMA Sigma is out of range
1008 ERROR__POLARIZATION Invalid value for polarization

Example Values

A set of example inputs and outputs are provided for testing purposes. This is not a comprehensive validation test set. The test set can be found in LFMF_Examples.csv.

Notes on Code Style

  • In general, variables follow the naming convention in which a single underscore denotes a subscript (pseudo-LaTeX format), where a double underscore is followed by the units, i.e. h_tx__meter.
  • Variables are named to match their corresponding mathematical variables from their publication text.
  • Wherever possible, equation numbers are provided.

Configure and Build

C++ Software

The software is designed to be built into a DLL (or corresponding library for non-Windows systems). The source code can be built for any OS that supports the standard C++ libraries. A Visual Studio 2019 project file is provided for Windows users to support the build process and configuration.

C#/.NET Wrapper Software

The .NET support of LFMF consists of a simple pass-through wrapper around the native DLL. It is compiled to target .NET Framework 4.7.2. Distribution and updates are provided through the published NuGet package.

References

  • Bremmer, H. "Terrestrial Radio Waves" Elsevier, 1949.
  • DeMinco, N. "Medium Frequency Propagation Prediction Techniques and Antenna Modeling for Intelligent Transportation Systems (ITS) Broadcast Applications", NTIA Report 99-368, August 1999
  • DeMinco, N. "Ground-wave Analysis Model For MF Broadcast System", NTIA Report 86-203, September 1986
  • Sommerfeld, A. "The propagation of waves in wireless telegraphy", Ann. Phys., 1909, 28, p.665
  • Wait, J. "Radiation From a Vertical Antenna Over a Curved Stratified Ground", Journal of Research of the National Bureau of Standards. Vol 56, No. 4, April 1956. Research Paper 2671

Contact

For questions, contact Nick DeMinco, (303) 497-3660, [email protected]

lfmf's People

Contributors

wkozmantia avatar

Watchers

 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.