option FRACTIONAL FREQUENCY REUSE (FFR)

Asked by betty

I would like to know if the simulator has the option of implementing FRACTIONAL FREQUENCY REUSE (FFR) ?? thanks

Question information

Language:
English Edit question
Status:
Answered
For:
IMTAphy Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jan (jan-ellenbeck) said :
#1

Yes, that is possible.

Revision history for this message
betty (bettyna1996) said :
#2

the simulator has already incorporated the fractional frequency reuse or you need to add ??? help me . thanks

Revision history for this message
Maciej Muehleisen (mue-comnets) said :
#3

Hi,

you find the downlink scheduling strategies under modules/phy/imtaphy/src/ltea/mac/scheduler/downlink/ . RoundRobin should be the easiest one and can serve as starting point. Besides choosing the user to schedule, the scheduler also decides which PRBs should be assigned and which TX power.

What is little more tricky is to find out which users are "cell-edge" and "cell-center". I have code for that and can share it if you want to have a closer look at IMTAPhy.

You must also assure the overall assigned TX power is not above the total transmit power limit.

Revision history for this message
betty (bettyna1996) said :
#4

Thanks for giving me your help, but I wonder if the simulator allows cell division in central and edge zone

Revision history for this message
Maciej Muehleisen (mue-comnets) said :
#5

You can sort all UTs served by a Base Station according to their pathloss, the p% with worst pathloss are then the cell edge users.

This code will do the trick (user is any user served by any base station but the code will do the choosing for all users of that base station:

#include <IMTAPHY/Link.hpp>

imtaphy::LinkManager* linkManager_ = imtaphy::TheIMTAChannel::Instance().getLinkManager();
std::set<wns::node::Interface*> weakest_;

    imtaphy::Link* serv = linkManager_->getServingLinkForMobileStation(node2station_[user]);
    imtaphy::LinkMap lm = linkManager_->getServedLinksForBaseStation(serv->getBS());

    std::multimap<wns::Power, wns::node::Interface*> interf;
    std::multimap<wns::Ratio, wns::node::Interface*> wbl;
    imtaphy::LinkMap::iterator it;
    std::cout << lm.size() << "\n";
    for(it = lm.begin(); it != lm.end(); it++)
    {
        wns::node::Interface* node = it->second->getMS()->getNode();
wns::node::Interface*>(iMap_[node], node));
        wbl.insert(std::pair<wns::Ratio, wns::node::Interface*>(it->second->getWidebandLoss(), node));
    }

    int amount = fraction_ * double(lm.size());
    std::multimap<wns::Ratio, wns::node::Interface*>::reverse_iterator iiter;
    cnt = 0;
    for(iiter = wbl.rbegin(); iiter != wbl.rend() && cnt < amount; iiter++, cnt++)
    {
        weakest_.insert(iiter->second);
    }

Can you help with this problem?

Provide an answer of your own, or ask betty for more information if necessary.

To post a message you must log in.