{"id":18750332,"url":"https://github.com/ntia/ehata","last_synced_at":"2025-04-12T23:31:58.507Z","repository":{"id":54858346,"uuid":"86491132","full_name":"NTIA/ehata","owner":"NTIA","description":"The Extended Hata (eHata) Urban Propagation Model","archived":false,"fork":false,"pushed_at":"2024-02-02T00:41:11.000Z","size":623,"stargazers_count":18,"open_issues_count":0,"forks_count":8,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-26T17:57:17.050Z","etag":null,"topics":["cpp","csharp","propagation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NTIA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-28T18:01:03.000Z","updated_at":"2025-02-03T20:51:09.000Z","dependencies_parsed_at":"2024-10-27T18:14:00.260Z","dependency_job_id":"dcd6424e-08cf-4118-863c-21b546bb48b9","html_url":"https://github.com/NTIA/ehata","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTIA%2Fehata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTIA%2Fehata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTIA%2Fehata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NTIA%2Fehata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NTIA","download_url":"https://codeload.github.com/NTIA/ehata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647257,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","csharp","propagation"],"created_at":"2024-11-07T17:11:27.385Z","updated_at":"2025-04-12T23:31:57.638Z","avatar_url":"https://github.com/NTIA.png","language":"C++","readme":"# The Extended Hata (eHata) Urban Propagation Model #\n\nThis code repository contains a C++ reference version of the eHata \nurban propagation model.  The model was developed by NTIA and used in NTIA \nTechnical Report [TR-15-517](https://www.its.bldrdoc.gov/publications/2805.aspx), \n\"3.5 GHz Exclusion Zone Analyses and Methodology\".\n\n## Inputs ##\n\n| Variable      | Type     | Units | Description |\n|---------------|----------|-------|-------------|\n| `pfl`         | double[] |       | A terrain profile line, from the mobile to the base station.  EHata uses the ITM-method of formatting terrain information, in that: \u003cul\u003e\u003cli\u003e`pfl[0]` : Number of elevation points - 1\u003c/li\u003e\u003cli\u003e`pfl[1]` : Resolution, in meters\u003c/li\u003e\u003cli\u003e`pfl[i]` : Elevation above sea level, in meters\u003c/li\u003e\u003c/ul\u003e |\n| `f__mhz`      | double   | MHz   | Frequency   |\n| `h_m__meter`  | double   | meter | The height of the mobile |\n| `h_b__meter`  | double   | meter | The height of the base station |\n| `enviro_code` | int      |       | The NLCD environment code |\n| `reliability` | double   |       | The quantile percent not exceeded of the signal.  Limits: 0 \u003c `reliability` \u003c 1  |\n\n## Outputs ##\n\n| Variable      | Type   | Units | Description |\n|---------------|--------|-------|-------------|\n| `plb`         | double | dB    | Path loss   |\n| `intervalues` | struct |       | [Optional] A data structure containing intermediate values from the eHata calculations |\n\n## Intermediate Values ##\n\nWhen calling the _ExtendedHata_DBG()_ function, the function will populate `intervalues` with intermediate values from the eHata \ncalculations.  Those values are as follows:\n\n| Variable         | Type      | Units       | Description |\n|------------------|-----------|-------------|-------------|\n| `d_bp__km`       | double    | km          | The breakpoint distance |\n| `att_1km`        | double    | dB          | Attenuation at 1 km |\n| `att_100km`      | double    | dB          | Attenuation at 100 km |\n| `h_b_eff__meter` | double    | meter       | Effective height of the base station |\n| `h_m_eff__meter` | double    | meter       | Effective height of the mobile |\n| `pfl10__meter`   | double    | meter       | 10% terrain quantile |\n| `pfl50__meter`   | double    | meter       | 50% terrain quantile |\n| `pfl90__meter`   | double    | meter       | 90% terrain quantile |\n| `deltah__meter`  | double    | meter       | Terrain irregularity parameter |\n| `d__km`          | double    | km          | Path distance |\n| `d_hzn__meter`   | double[2] | meter       | Horizon distances |\n| `h_avg__meter`   | double[2] | meter       | Average heights |\n| `theta_m__mrad`  | double    | milliradian | Slope of the terrain at the at the mobile |\n| `beta`           | double    |             | Percentage of path that is sea |\n| `iend_ov_sea`    | int       |             | Flag specifying which end is over the sea |\n| `hedge_tilda`    | double    | meter       | Horizon correction factor |\n| `single_horizon` | bool      |             | Flag for specifying number of horizons |\n| `slope_max`      | double    | milliradian | Intermediate value when calculating the mobile terrain slope |\n| `slope_min`      | double    | milliradian | Intermediate value when calculating the mobile terrain slope |\n\n## Notes on Code Style ##\n\n* In general, variables follow the naming convention in which a single underscore\ndenotes a subscript (pseudo-LaTeX format), where a double underscore is followed\nby the units, i.e. `h_m__meter`.\n* Variables are named to match their corresponding mathematical variables \nin the underlying technical references, i.e., `gamma_1`.\n* Most values are calculated and stored in `intervalues`\nthat is passed between function calls.  In general, only the correction factor\nfunctions return their result as a value.\n\n## Configure and Build ##\n\n### C++ Software\n\nThe 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.\n\n### C#/.NET Wrapper Software\n\nThe .NET support of eHata 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](https://github.com/NTIA/ehata/packages).\n\n## References ##\n\n* Drocella, E., Richards, J., Sole, R., Najmy, F., Lundy, A., McKenna, P. \"3.5 GHz Exclusion Zone Analyses and Methodology\", [_NTIA Report 15-517_](https://www.its.bldrdoc.gov/publications/2805.aspx), June 2015.\n* Hata, M. \"Empirical Formula for Propagation Loss in Land Mobile \nRadio Services\", _IEEE Transactions on Vehicular Technology_, Vol VT-29, Num 3. Aug 1980.  pp 317-325.  DOI: 10.1109/T-VT.1980.23859\n* Okumura, Y., Ohmori, E., Kawano, T., Fukuda, K.  \"Field Strength and Its Variability in VHF and UHF Land-Mobile Radio Service\", \n_Review of the Electrical Communication Laboratory_, Vol. 16, Num 9-10. Sept-Oct 1968. pp. 825-873.\n\n## Contact ##\nFor questions, contact Paul McKenna, pmckenna@ntia.gov\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntia%2Fehata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntia%2Fehata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntia%2Fehata/lists"}