Clarification on bands and their reuse in SIMUlte

53 views
Skip to first unread message

Sebastian Lindner

unread,
Apr 26, 2017, 8:55:03 AM4/26/17
to OMNeT++ Users
I am trying to evaluate a D2D-aware scheduler using SIMUlte.

First, I am unclear on the definition of a band. It appears that a band is the collection of transmission frequencies. Resource blocks reside 'within' a band. If numBands==numRBs then a band is equivalent to a resource block, and using that resource block means transmitting on all frequencies. Is this right?
So if I have 2 bands and 1 RB (let's say we're only considerung uplink, doesn't matter), does this mean that both of the bands have one RB each? So having two bands means we have a distinction in the dimension of time: assign band0 to a node and it'll use the single RB inside to transmit. Assign band1 to another node and it'll use THAT RB, which in real life would mean transmitting in a later timeslot? Is this assumption correct?

Then, when I use the LteSchedulerEnb::scheduleGrant function to assign bands to a device, I can get answers such as 'OK', 'INACTIVE', 'INELLIGIBLE' and 'TERMINATE'. Can someone explain to me what these mean exactly? I get a lot of 'INACTIVE' answers when assigning bands to D2D transmitters. For the same data, a non-D2D (cellular) transmitter gets an 'OK'. After an 'INACTIVE' the resource block is often still available and can be assigned to another user, but in the end both get to transmit packets. How can this be?
And this is pretty much my last question: is band reassignment supported at all? I've been studying this for days now, and it seems like it isn't. Taking a look at the code inside the scheduleGrant:

// TODO This is just a BAD patch
// check how a codeword may be reused (as in the if above) in case of non-empty OFDM space
// otherwise check why an UE is stopped being scheduled while its buffer is not empty
if (cwAlredyAllocated > 0)
{
    terminate = true;
    return 0;
}

This seems like a pretty clear answer saying "no, it's not possible". When testing, I wrote a simple scheduler that just assigns band0 to all active connections. It appears that when I first assign this band to a D2D transmitter, and then to a cellular transmitter, the two answers are 'INACTIVE' and 'OK', and both get to transmit the same amount of data. If I assign it the other way around, cellular transmitter first, I get 'OK' and then 'TERMINATE', and only the cellular transmitter gets to transmit packets.

This confuses me a lot: is this just a side effect of band reassignment not being supported? Or am I doing something utterly wrong?

Any and all insight would be greatly appreciated!
Reply all
Reply to author
Forward
0 new messages