having two simultaneous propagation Model

72 views
Skip to first unread message

shahin

unread,
Feb 2, 2012, 8:43:16 AM2/2/12
to omnetpp
Hello,

let's say I need two propagation model LogNormalShadowingModel +
RayleighModel. How can I do this? is there a way to have more than one
propagation model added to my simulation? At the moment I am using the
line below and I can use one of the propagation models at one time.

*.channelControl.propagationModel= ""

Regards,
Shahin

Alfonso Ariza Quintana

unread,
Feb 2, 2012, 10:46:07 AM2/2/12
to omn...@googlegroups.com
You can, but you need to modify the file Radio.cc

// this is the parameter of the channel controller (global)
std::string propModel =
getChannelControlPar("propagationModel").stdstringValue();
if (propModel == "")
propModel = "FreeSpaceModel";

You need to read the propagation model for every node

-----Mensaje original-----
From: shahin
Sent: Thursday, February 02, 2012 2:43 PM
To: omnetpp
Subject: [Omnetpp-l] having two simultaneous propagation Model

Hello,

*.channelControl.propagationModel= ""

Regards,
Shahin

--
Sent from the OMNeT++ mailing list. To configure your membership,
visit http://groups.google.com/group/omnetpp

shahin

unread,
Feb 6, 2012, 8:29:11 AM2/6/12
to omnetpp
Can you explain little bit more? I had a look at Radio.cc but I don't
know how to add more propagation model. How can I have two propagation
model together. Let's say Rice Model and Log Normal Shadowing. I need
them both to be active as the properties of communication channel. In
real communication environment there always needs to be a shadowing
model + Fading model. The .ini file just allows me to choose one
propagation model and I can not have another one working on top of
that. Please give me more detail on how to do this.

Regards

On Feb 2, 3:46 pm, Alfonso Ariza Quintana <aariza...@hotmail.com>
wrote:
> You can, but you need to modify the file Radio.cc
>
> // this is the parameter of the channel controller (global)
> std::string propModel =
> getChannelControlPar("propagationModel").stdstringValue();
> if (propModel == "")
>     propModel = "FreeSpaceModel";
>
> You need to read thepropagationmodelfor every node
>
> -----Mensaje original-----
> From: shahin
> Sent: Thursday, February 02, 2012 2:43 PM
> To: omnetpp
> Subject: [Omnetpp-l] havingtwosimultaneouspropagationModel
>
> Hello,
>
> let's say I needtwopropagationmodelLogNormalShadowingModel +
> RayleighModel. How can I do this? is there a way to have more than onepropagationmodeladded to my simulation? At the moment I am using the
> line below and I can use one of thepropagationmodels at one time.

Alfonso Ariza Quintana

unread,
Feb 6, 2012, 11:24:33 AM2/6/12
to omn...@googlegroups.com

the propagation is a property of the receptor radio, you can have different
propagation models for every receptor, it’s only necessary to change the
Radio.cc initialize method.

-----Mensaje original-----
From: shahin
Sent: Monday, February 06, 2012 2:29 PM
To: omnetpp
Subject: [Omnetpp-l] Re: having two simultaneous propagation Model

Shahin Shariat

unread,
Feb 9, 2012, 11:19:39 AM2/9/12
to omn...@googlegroups.com
Dear Alfonso,

I do understand that propagation is a property of the receptor radio and I understand what is happening in the initialize method of the Radio.cc but I honestly don't get where should I make the change necessary. If you could please be more clear about what I can do I would really appreciate it.

I believe this is the only part in the initialize method that I need to change:


 std::string propModel = getChannelControlPar("propagationModel").stdstringValue();
        if (propModel == "")
            propModel = "FreeSpaceModel";

        receptionModel = (IReceptionModel *) createOne(propModel.c_str());
        receptionModel->initializeFrom(this);

Let's say I need RayLeighModel + LogNormalShadowingModel and I need them to be activated on all my nodes in the network. What changes should I make?

Regards,
Shahin.
Reply all
Reply to author
Forward
0 new messages