adjacentlink / emane

Distributed wireless network emulation framework
Other
127 stars 37 forks source link

Compatibility Mode 1 & 2 #223

Open savagesmc opened 1 year ago

savagesmc commented 1 year ago

I have a model that currently uses compatibility mode 1, but am emulating a waveform that operates with negative signal to noise ratios. The Phy is dropping my packets due to sensitivity, well before my emulated receiver would stop receiving them in our real radios. I enabled the "rxsensitivitypromiscuousmodeenable" parameter in the phy, but much to my chagrin, it appears that parameter is only honored when compatibility mode is 2. Is there a reason why it wouldn't be appropriate to just skip the compatibility mode check on that line where it is used? I am going to make a pull request with that small change, so that I can continue my testing. Hopefully this is something that could be merged in.

sgalgano commented 1 year ago

rxsensitivitypromiscuousmodeenable does not do what you think it does. Set the physical layer systemnoisefigure parameter accordingly to adjust to your desired receiver sensitivity.

savagesmc commented 1 year ago

Thank you for responding so quickly. I originally tried what you suggested, I changed the systemnoisefigure to something crazy like -30, and then the SINRs that resulted seemed to be off by roughly that amount. Do I just correct the SINR that gets computed by the amount systemnoisefigure is off from the real noise figure? For example, if my real NF is 4, and I put 30 in, would I just adjust the computed SINR down by 34 dB?

sgalgano commented 1 year ago

Only reduce the noise component by that amount in the SINR (Signal/(Interference + Noise)) calculation within the radio model implementation. Keep in mind the spectrum window energy values are in mW, so make sure you are adding or subtracting mW.

savagesmc commented 1 year ago

That worked. You can close this issue. Thanks.