rmartin5 / aqua-sim-ng

Aqua-Sim on NS3
81 stars 41 forks source link

How to use AquaSimMultiPathSignalCache? #11

Closed BigRabbit71 closed 5 years ago

BigRabbit71 commented 5 years ago

Hi Robert,

I have some problems with the AquaSimMultiPathSignalCache class:

  1. First of all, how could I change the default signal cache from AquaSimSignalCache to AquaSimMultiPathSignalCache? I tried several methods:
    Ptr<AquaSimMultiPathSignalCache> sC = CreateObject<AquaSimMultiPathSignalCache> ();
    asHelper.SetPhy ("ns3::AquaSimPhyCmn",
            "PT", DoubleValue (5), /* W */
            "Frequency", DoubleValue (3), /* kHz */
            "SignalCache", PointerValue (sC));

    or

    Ptr<AquaSimMultiPathSignalCache> sC = CreateObject<AquaSimMultiPathSignalCache> ();
    // or: Ptr<AquaSimSignalCache> sC = CreateObject<AquaSimSignalCache> ();
    Ptr<AquaSimNetDevice> newDevice = CreateObject<AquaSimNetDevice> ();
    newDevice->GetPhy()->SetSignalCache (sC);

sadly, neither are successful.

  1. Even if I have replaced the signal cache with the AquaSimMultiPathSignalCache, I will get a vector of various paths associated with MultiPathInfo structure from the GetPaths() function, but how to use it? There are many influences in physical layer caused by "multipath problem", more than path delay, path gain, such as bit error rate or something else.

You may be very busy with your research, I am really sorry to trouble you with these problems.

Would it be possible to give me some advice to use the AquaSimMultiPathSignalCache class in AquaSim-NG?

Thank you, and I look forward to hearing from you.

Best regards, Yiqian Xia

rmartin5 commented 5 years ago

Sorry for the late reply. Unfortunately I have transitioned past this project but will try my best to help.

  1. Have you reviewed the helper files? I don't recall exactly how they are set up but there may either be hard coded layers attributes within them or may be missing the component you are looking for.

  2. I believe Multi path signal cache had a relatively limited set of features. While the purpose was to integrate a more realistic simulation it did not progress far beyond basic functionality and usage. The general usage was implementing channel components (e.g. reflection and material absorption) to directly affect signal attenuation which can relate to BER or other components you are studying.

Hope this helps and good luck.