|
This is the review issue for the tracker issue https://www.nsnam.org/bugzilla/show_bug.cgi?id=2400
This is to track the review of SpectrumWifiPhy, which is proposed to allow Wi-Fi devices to connect to Spectrum channels. This will allow SpectrumWifiPhy to receive signals that are not Wi-Fi, such as in Wi-Fi/LTE coexistence, or interference scenarios.
This version of SpectrumWifiPhy is very basic, in that it is for the most part a clone of YansWifiPhy, with some adaptor code at the very bottom of the Phy where the channel interconnection occurs. Instead of YansWifiChannel, a SpectrumChannel type must be used (see src/spectrum).
The main difference is that when a foreign (non-Wi-Fi) signal is received, it is simply added to the InterferenceHelper and evaluated for CCA BUSY status, without further receive processing. The performance of SpectrumWifiPhy and YansWifiPhy should be identical, except that SpectrumWifiPhy is sensitive by default to -62 dBm energy detection level of non-Wi-Fi signals.
Three example programs are provided, and one test suite. The examples allow users to substitute SpectrumWifiPhy and YansWifiPhy under different conditions (signal loss, interference, saturating traffic) and compare results.
In the long run, SpectrumWifiPhy will use different interference trackers and error models more suited for the spectrum framework, but for the next release, it is proposed to simply reuse the existing Yans-compatible model and interference helper.
This is a large patch and users can experiment with it by cloning the spectrum-wifi branch from github:
https://github.com/tomhenderson/ns-3-dev-git/tree/spectrum-wifi
Update for patch set 2:
Patch set 1 lacked two final things necessary for merging to ns-3-dev, IMO:
1) update the Wi-Fi .rst documentation
2) it was hardwired to the lower U-NII bands (5.180 GHz) and needs to be generalized (mainly, this involves making the spectrum model code more configurable)
Patch set 2 completes both issues. In particular, I decided to remove the wifi-spectrum-helper.{cc,h} from src/wifi directory and place this code in the existing src/spectrum/wifi-spectrum-value-helper.{cc,h} files, with a bit of backward-compatible refactoring of the existing file which was used by the spectrum module. I think this will be potentially less confusing to users.
I also made the default frequency subband decomposition to be 312.5 KHz (i.e. the OFDM subcarrier spacing), to enable frequency-selective fading models on a subcarrier basis. I also removed the hardcoded limitations to the lower U-NII bands.
This patchset depends (and includes within) the patch to bug 2412 (frequency and channel width), still to be merged to ns-3-dev.
patchset 3:
- updated for the update to bug 2412 on ChannelNumber/Frequency coordination
- fixed small bug spotted by N. Sapoval on peeking vs. removing WifiPhyTag
- handle Sebastien's comments
Total comments: 5
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+8441 lines, -282 lines) |
Patch |
 |
M |
RELEASE_NOTES
|
View
|
1
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
examples/wireless/examples-to-run.py
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
A |
examples/wireless/wifi-spectrum-per-example.cc
|
View
|
1
2
|
1 chunk |
+565 lines, -0 lines |
0 comments
|
Download
|
 |
A |
examples/wireless/wifi-spectrum-per-interference.cc
|
View
|
1
2
|
1 chunk |
+627 lines, -0 lines |
0 comments
|
Download
|
 |
A |
examples/wireless/wifi-spectrum-saturation-example.cc
|
View
|
1
2
|
1 chunk |
+701 lines, -0 lines |
0 comments
|
Download
|
 |
M |
examples/wireless/wscript
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/core/model/object.h
|
View
|
1
2
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/core/model/object.cc
|
View
|
1
2
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/spectrum/model/wifi-spectrum-value-helper.h
|
View
|
1
|
1 chunk |
+108 lines, -41 lines |
0 comments
|
Download
|
 |
M |
src/spectrum/model/wifi-spectrum-value-helper.cc
|
View
|
1
2
|
3 chunks |
+340 lines, -3 lines |
0 comments
|
Download
|
 |
M |
src/wifi/doc/source/wifi-design.rst
|
View
|
1
|
8 chunks |
+104 lines, -18 lines |
0 comments
|
Download
|
 |
M |
src/wifi/doc/source/wifi-testing.rst
|
View
|
1
|
1 chunk |
+160 lines, -1 line |
0 comments
|
Download
|
 |
M |
src/wifi/doc/source/wifi-user.rst
|
View
|
1
|
3 chunks |
+345 lines, -1 line |
0 comments
|
Download
|
 |
A |
src/wifi/examples/wifi-phy-configuration.cc
|
View
|
1
|
1 chunk |
+391 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/examples/wscript
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/helper/spectrum-wifi-helper.h
|
View
|
1
|
1 chunk |
+187 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/helper/spectrum-wifi-helper.cc
|
View
|
1
2
|
1 chunk |
+687 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/interference-helper.h
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/interference-helper.cc
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/spectrum-wifi-phy.h
|
View
|
1
2
|
1 chunk |
+685 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/spectrum-wifi-phy.cc
|
View
|
1
2
|
1 chunk |
+1666 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/wifi-mode.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/wifi-phy.h
|
View
|
1
2
|
8 chunks |
+113 lines, -11 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/wifi-phy.cc
|
View
|
1
2
|
4 chunks |
+504 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/wifi-phy-standard.h
|
View
|
1
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
 |
A |
src/wifi/model/wifi-phy-tag.h
|
View
|
|
1 chunk |
+83 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/wifi-phy-tag.cc
|
View
|
|
1 chunk |
+107 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/wifi-spectrum-phy-interface.h
|
View
|
1
|
1 chunk |
+72 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/wifi-spectrum-phy-interface.cc
|
View
|
1
|
1 chunk |
+117 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/wifi-spectrum-signal-parameters.h
|
View
|
|
1 chunk |
+60 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/wifi/model/wifi-spectrum-signal-parameters.cc
|
View
|
|
1 chunk |
+58 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/yans-wifi-phy.h
|
View
|
1
2
|
8 chunks |
+5 lines, -48 lines |
0 comments
|
Download
|
 |
M |
src/wifi/model/yans-wifi-phy.cc
|
View
|
1
2
|
19 chunks |
+107 lines, -157 lines |
0 comments
|
Download
|
 |
A |
src/wifi/test/spectrum-wifi-phy-test.cc
|
View
|
1
|
1 chunk |
+261 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/test/wifi-test.cc
|
View
|
1
|
2 chunks |
+317 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/wifi/wscript
|
View
|
1
|
6 chunks |
+12 lines, -1 line |
0 comments
|
Download
|
 |
M |
wscript
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
Total messages: 7
|