Hi all,
I am working on the LAA WiFi coexistence project, and it seems that there is a bug with the CQA Mac scheduler when we use MIMO Mode 2 for LAA (or LTE).
The error is like this:
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
BTW, if LTE or LAA is in SISO or MIMO Mode 1, or if we use other MAC schedulers, the project works well.
Here is how to reproduce the error:
1. I am using the latest changeset (17ed682fdf10), the only change I made is
in src/laa-wifi-coexistence/helper, at line 1904 of scenario-helper.cc, I change it to lteHelper->SetSchedulerType ("ns3::CqaFfMacScheduler")
2. I am running the laa-wifi-indoor example like this
./waf --run laa-wifi-indoor --command="%s --cellConfigA=Laa --voiceEnabled=1 --ns3::LteEnbRrc::DefaultTransmissionMode=2"
I did find that this is an error caused by CQA Mac Scheduler, the source file is in src/lte/model/cqa-ff-mac-scheduler.cc
If we disable HARQ like addind Config::SetDefault ("ns3::CqaFfMacScheduler::HarqEnabled", BooleanValue (false)) after choosing MAC scheduler
this error does not appear any more.
Or if we make a few changes to dci and itRlcPdu in the line of 1151-1169 to avoid "out-of-range" visit, the error also disappears.
However, in any of the two cases above to get around this problem, the results are more like SISO other than MIMO mode 2 (multiplexing).
Thanks in advance for any possible suggestions.
Best,
Li