https://github.com/comnetshh/trace-based-radio-model
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Basic Info
- Host: GitHub
- Owner: ComNetsHH
- License: gpl-3.0
- Language: C++
- Default Branch: main
- Size: 2.47 MB
Statistics
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
- Releases: 0
Created almost 5 years ago
· Last pushed almost 5 years ago
https://github.com/ComNetsHH/Trace-Based-Radio-Model/blob/main/
[](https://zenodo.org/badge/latestdoi/400262765)
# TraceBasedRadio
OMNeT++ Trace-Based Radio Model extends the INET's `UnitDiskRadio` to a more realistic model by obtaining the Signal-to-Noise Ratio (SNR) in the `TraceBasedReceiver` and passing the SNR to a novel `TraceBasedErrorModel`, which queries the trace file-provided lookup table to obtain the closest-matching SNRs mapping to a Packet Error Rate (PER) and Bit Error Rate (BER). This trace file is expected to contain a triple of (SNR, PER and BER) per line as follows:
| SNR (dB) | PER | BER |
|:--------:|:----:|:-----------:|
| -5 | 1 | 0.493378795 |
| -4 | 1 | 0.486143304 |
| ... | ... | ... |
| 10 | 0.01 | 5.22E-08 |
## Getting Started
1. Please download [inet-4.2.5](https://github.com/inet-framework/inet/tree/v4.2.5) for OMNeT++ 5.6.2 and import it into the simulator.
2. Please clone this repo `TraceBasedRadio` and import it into OMNet++. To build it you need to do the following steps:
1. `inet` must be set as a project reference. This is done by right-clicking on the `TraceBasedRadio` project in the Project Explorer and navigate to `Properties-> Project References -> Select inet -> Apply and Close`
2. Ensure the build modes of this project and `inet` are identical (both `release` or both `debug`): This is done by right-clicking on each project in the Project Explorer and navigating to `Build Configuration -> Set Active -> `
3. The `include paths` from INET must be added to this project such that you can write classes in your project which inherit `inet` classes. For that, you need to right-click on the `TraceBasedRadio` in the Project Explorer and navigate to `Properties -> OMNeT++ -> Makemake`, select the `src` folder in the list and then click "Options" in the right panel.
4. Go to the `Target` tab and make sure that `Shared library ...` is checked.
5. Now go to the `Compile` tab and make sure all checkboxes are checked.
6. Move to the `Link` tab and make sure that the `Link with libraries exported from...` checkbox is checked.
7. Finally, `Apply and Close` and you should be able to `build` the `TraceBasedRadio` project without errors as a project that reference the INET project.
5. Navigate to `radio-model/simulation/omnetpp.ini` in the OMNeT++ IDE and click run.
6. Run the following command in the terminal to extract the results into a .csv file using the OMNeT++'s scavetool:
```
cd ./radio-model/simulation/results/
scavetool export -f 'module(traceBasedRadioModel.host[1].wlan[0].radio.receiver.errorModel) AND name("Signal-to-Noise_Ratio")' -o SNR.csv General-x*.vec
scavetool export -f 'module(traceBasedRadioModel.host[0].app[0]) AND name("packetSent:count")' -o Packet_sent.csv General-x*.sca
scavetool export -f 'module(traceBasedRadioModel.host[1].app[0]) AND name("packetReceived:count")' -o Packet_received.csv General-x*.sca
```
7. The python result analysis script that generates the figure of the PER vs the SNR could be run using:
```
python result_analysis_per_vs_snr.py
```
Owner
- Name: Institute of Communication Networks
- Login: ComNetsHH
- Kind: organization
- Location: Hamburg, Germany
- Website: https://www.tuhh.de/comnets
- Repositories: 41
- Profile: https://github.com/ComNetsHH
Institute of Communication Networks (ComNets) at Hamburg University of Technology (TUHH)