Closed lhupalo closed 1 year ago
Hello guys,
To resume, I can't access some objects with the following syntax:
ueDev.Get(0)->GetNode()->GetObject<>()
I have checked and the internal mmwaveHelper UE NetDevice is the same of that I'm trying to find the beamforming model.
Every time that I try to find the BeamformingModel object, it returns a null pointer.
Examples:
ueDev.Get(0)->GetNode()->GetObject<MmWaveCodebookBeamforming>()
ueDev.Get(0)->GetNode()->GetObject<PhasedArrayModel>()->GetBeamformingVector()
And so on. Could you help me please?
BR
Hi, Can you please be more specific in terms of what you are trying to do with the beam indexes?
Hi Matteo,
We are studying how a ML model trained to find the best beam pair indexes would behave within ns-3 in comparison with the exhaustive search technique implemented on mmwave. This way, we need the beam indexes at every period to build a dataset and later train and evaluate the model.
If my understanding is correct, you wish to obtain a beam indexes dataset to train offline a ML model which you would then later import and evaluate in ns-3 ? Would it suffice in this case to log the indexes used by each user in a text file ?
For now, yes. But, beacuse I'm using the ns3-gym module integration the beam index variables are inaccessible to me. Later on, I will also have to change these indexes in simulation time to evaluate the accuracy of the models (or, even to use RL).
I think that the way is creating one setter and one getter to the beam indexes. And the setter would only work if the beamforming vectors are never updated by the algorithm (UpdateTime = 0). Does it make sense?
Later on, I will also have to change these indexes in simulation time to evaluate the accuracy of the models (or, even to use RL).
Got it, then you definitely need something different than a simple log.
I propose to continue this discussion on a separate thread (you can reach me by email at matteo.pagin.1@phd.unipd.it ) so that we can discuss separately how we can collaborate on this
Hello there!
I'm working with the codebook beamforming method, and my main goal is to get the codeword index both for UE and gNB, at a certain time. Ex.: (1, 20) at t = 0.123. I have a question.
I'm trying to solve my problem by creating a global structure that will contain the information and a function that will be scheduled over time that do something with these beam indexes.
But after all, I can't get these information. My codebook beamforming method is configured this way:
The problem that I am facing is: it seems that I am not able to reach the
BeamformingCodebook
information, I am getting "attempt to dereference zero pointer" message. For example:Could it be that the
mmwaveHelper
netDevice is different than the netDevice that i'm trying to get the information? I tried to look internally but can't find anything.By accessing the codebook, the codebook sizes and the current beamforming vectors of the devices at specific timestep, then I can easily find which beam index are under use. It was the only way I could think of to solve it....
Could you please give me some light?
Thank you!