Code Monkey home page Code Monkey logo

Comments (7)

jgiovatto avatar jgiovatto commented on September 23, 2024

Currently this is being set statically in:

https://github.com/adjacentlink/srsLTE-emane/blob/master/srsue/src/phy/phch_worker.cc

 void phch_worker::update_measurements()

We are working on integrating the emane snr info into these parameters in a future release.

from srslte-emane.

dannoman1988 avatar dannoman1988 commented on September 23, 2024

Very clear, thank you! However, if I can, I should ask you for another help in analyzing the code. I understood how the SNR is managed, but the setting of the MCS is not clear to me. I have verified, as you said, that the values are static and do not change with the SNR. But how, in which area of the code, are MCS values set? Thanks!!

from srslte-emane.

eschreiber-alink avatar eschreiber-alink commented on September 23, 2024

Have a look at the alloc_tbs function in scheduler_ue.cc:

https://github.com/adjacentlink/srsLTE-emane/blob/master/srsenb/src/mac/scheduler_ue.cc#L1201

from srslte-emane.

dannoman1988 avatar dannoman1988 commented on September 23, 2024

I'm sorry, but I'm afraid I have to ask you another help. In these days I have tried to analyze the code, but I'm not so familiar with C++.
As said, I have found the values of MCS and SNR at the level of srsLTE (2 for downlink, 16 for uplink, 40 dBm respectively by default): so, this means in downlink I'm using a QPSK modulation and a 16QAM in uplink.
Then I have seen the pcrcurveuri parameter, and the file pcr.xml with por values with respect to different SINR for eNB and UE.
I understood that a packet is discarded if its receiving power is below the receiver's sensitivity (and I have verified this: in the demonstrations, the receivers has a sensitivity of -107 dBm, if I set a pathloss higher than 107, packets are not received).
Instead I have not understand which are the modulations used in Emane. I mean, are they the same indicated in srsLTE, ie QPSK in downlink and 16QAM in uplink?
In this case, how could I verify for example that in downlink I'm experimenting a por of 50% with a SINR of 3.0 (as described in pcr.xml)? I have tried with rlcthruputtable of the eNodeB, expecting a number of NumPushFail equal to about half of NumPush, but NumPushFail remain to 0.
Thank you very much for your help!!

from srslte-emane.

eschreiber-alink avatar eschreiber-alink commented on September 23, 2024

EMANE does not implement physical layer modulation processes. Instead, it uses PCR curves to statistically determine the probability of a packet reception based on the received SINR of the packet and physical layer modulation parameters particular to a given waveform. For LTE, the PCR curves describe the probability that a single resource block is received based on its receive SINR and the modulation type for the physical channel contained in that block - the modulation type is carried in a header and known to the receiver. Users provide the PCR values in configuration. An example file is provided in the release:

https://github.com/adjacentlink/emane-model-lte/blob/master/demo/templates/enb/pcr.xml

Packet reception is determined by performing a pass/fail test on each resource block that comprises a message and then determining if enough resource blocks were received to channel decode the message based on the relative size of the transport block and the number of message resource elements. On the UE the implementation is here:

https://github.com/adjacentlink/emane-model-lte/blob/master/src/uemessageprocessor.cc#L158

from srslte-emane.

dannoman1988 avatar dannoman1988 commented on September 23, 2024

Ok, thank you... so, if I have well understood: the UE receiver knows the number of resource blocks (numResourceBlocks of line 170), the modulation type (modType of line 178) and the number of bits of the message to decode (numberOfBits of line 180). Then the receiver makes the tests with the two for cycle of lines 252 and 342, each of them on a "slot column" frequency by frequency of a subframe, right?

This message that you are talking about, and of which you test the reception in line 419, is a RLC PDU?

And I have to ask your help for the variables rbParams.res_ and numberChannelCodeREs, that sincerely I'm not able to understand what do they stand for.
I thought that rbParams.res_ would be the number of Resource Elements for each slot, but in this case should be equal to 6 or 7, instead of 20, 32 or 40 as I have seen in the log files.

Thank you!!

from srslte-emane.

dannoman1988 avatar dannoman1988 commented on September 23, 2024

To be precise, for "log files" I meant the emane.log file of the User Equipment, where i find lines like this one:

10:51:32.319071 DEBUG MACI 003 UEMessageProcessor::noiseTestChannelMessage: modType 2, sinr_dB 3.5, por 0.7, rand 0.3, rbParams.res_ 32

where rbParams.res_ assumes values that I did not expect.

Thank you very much for your help!

from srslte-emane.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.