Commit Graph

6687 Commits

Author SHA1 Message Date
Xavier Arteaga 8de2870788 Added NR ue_dl, enb_dl and test 2020-12-12 15:58:34 +01:00
Xavier Arteaga 6b5c4148c8 DL Channel estimation results accepts nof RE 2020-12-12 15:58:34 +01:00
Xavier Arteaga ce330a6dfb OFDM's DC is optional 2020-12-12 15:58:34 +01:00
Xavier Arteaga c6a2e4578e Refactored PHY object arguments 2020-12-12 15:58:34 +01:00
Xavier Arteaga e621a1cde3 EVM buffer takes number of bits 2020-12-12 15:58:34 +01:00
Xavier Arteaga a278a49e42 Limit PDSCH-NR unit test 2020-12-12 15:58:34 +01:00
Xavier Arteaga bff71761a9 PDSCH-NR: Added single layer channel equalization 2020-12-12 15:58:34 +01:00
Xavier Arteaga 0138c3b856 PDSCH-NR fixed with unit test 2020-12-12 15:58:34 +01:00
Jesus Gomez 6defd2658c Solve Issue 2: Rate matching zeroes output data prior to soft-combine 2020-12-12 15:58:34 +01:00
Xavier Arteaga fb64c2a460 Initial NR PDSCH encode/decode 2020-12-12 15:58:34 +01:00
Xavier Arteaga 666ba7d590 Added unpacked bit sequence XOR 2020-12-12 15:58:33 +01:00
Xavier Arteaga 6df83c32b3 Added NR layer mapper and demapper 2020-12-12 15:58:33 +01:00
Xavier Arteaga 3060972514 Removed redundant softbuffer dependency 2020-12-12 15:58:33 +01:00
Xavier Arteaga 644758416e DL-SCH-NR adjust unit test 2020-12-12 15:58:33 +01:00
Xavier Arteaga d27f0819a8 Fix DL-SCH for NR 2020-12-12 15:58:33 +01:00
Xavier Arteaga 53282bdfbf Dl-SCH-NR: updated unit test 2020-12-12 15:58:33 +01:00
Xavier Arteaga 4e5edb5168 DL-SCH NR added traces and fixes 2020-12-12 15:58:33 +01:00
Xavier Arteaga 2aa7e43771 Implemented NR DL SCH decoder and unit test 2020-12-12 15:58:33 +01:00
Xavier Arteaga 3464dd3c0d Added MCS table string serializer 2020-12-12 15:58:33 +01:00
Xavier Arteaga 794d1b5c4b Added LDPC decoder RM interface 2020-12-12 15:58:33 +01:00
Xavier Arteaga fa691bb8e3 Fix softbuffer 2020-12-12 15:58:33 +01:00
Xavier Arteaga 27a3e87fb7 Initial DL-SCH encoding 2020-12-12 15:58:33 +01:00
Xavier Arteaga bc66942b8d Bit unpacking input to constant 2020-12-12 15:58:33 +01:00
Xavier Arteaga 9a320baf37 extended resource allocation for NR 2020-12-12 15:58:33 +01:00
Xavier Arteaga 766a43225d 5G FEC extension 2020-12-12 15:58:33 +01:00
Xavier Arteaga 30037d9223 Added guru softbuffer interface 2020-12-12 15:58:33 +01:00
Xavier Arteaga 8e8889032e Changed CRC input vector to constant 2020-12-12 15:58:33 +01:00
Xavier Arteaga 959f37ae81 SRSUE: Renamed PHY scell_state to cell_state 2020-12-12 15:58:33 +01:00
Xavier Arteaga 008ef3c10c Fixed override methods in MAC test 2020-12-12 15:58:33 +01:00
Xavier Arteaga 4b8cd7ce92 SRSUE: protect scell state 2020-12-12 15:58:33 +01:00
Xavier Arteaga 036026be04 SRSENB: CSI reports on active SCells only 2020-12-12 15:58:33 +01:00
Xavier Arteaga c5cb4d9984 SRSUE: Added time accurate SCell activation 2020-12-12 15:58:33 +01:00
Xavier Arteaga f64c268a69 SRSUE: Refactored MAC/RRC SCell Activation/Deactivation 2020-12-12 15:58:33 +01:00
Andre Puschmann ff5f215df9 rf_soapy: print warning when using the Lime with shorter sample rates
the Lime has better performance when using the default LTE sample
rates due to filterering being done in the LMS RF chip.

Print a warning when using the Lime with the non-default LTE rates.
2020-12-12 15:58:33 +01:00
Andre Puschmann 2c797fce1a phy_common: add method to check whether we use default LTE symbol size
helpful getter to check whether we've compiled in
or selected at run time to use default LTE sample rates
2020-12-12 15:58:33 +01:00
Andre Puschmann 35373d1385 enb,ue: add cmdline arg to enable usage of default LTE sample rate
some RF boards might have issues with the sharp filters that are needed
for the reduced sample rate operation that we use by default.

This switch allows to use the default LTE sampling rates and
configure this at run-time, not compile time.
2020-12-12 15:58:33 +01:00
Xavier Arteaga a6ac80cfbf Initial NR DL DCI Packing/Unpacking 2020-12-12 15:58:33 +01:00
Francisco Paisana fdec451a9d disable mcs>20 if eNB supports UL 64QAM but UE doesn't 2020-12-12 15:58:33 +01:00
Francisco Paisana bc00abeeb8 fix phy configuration of UL 64QAM 2020-12-12 15:58:33 +01:00
Francisco Paisana b369d6d5d5 consider enb sib config when activating UL 64QAM 2020-12-12 15:58:33 +01:00
Francisco Paisana bf7c587e4f add UL 64QAM support to eNB RRC and scheduler 2020-12-12 15:58:33 +01:00
Andre Puschmann 5f7f818abb pdu: fix bug in BSR table lookup
the bug causes the BSR to return a bsr_idx of 0, i.e. no data
pending, when the buff_size was reported to be 1 B only.

Instead, the UE should return BSR idx 1, i.e. between 0 < BSR <= 10.
2020-12-12 15:58:33 +01:00
Andre Puschmann e227fec3d8 pdu_test: add rigerous test for LBSR content
* make sure upper and lower edges of Table 6.1.3.1-1 in 36.321 are correct
* fix existing BSR test vectors (verified with Wireshark)
2020-12-12 15:58:33 +01:00
Andre Puschmann cd1ca4d095 mac_test: add LBSR test
the test checks the correct packing of an LBSR when a SDU couldn't
be added before. This happended because RLC couldn't provide a new PDU.
2020-12-12 15:58:33 +01:00
Andre Puschmann 286844b3dd mac_pdu: reset subheader state when deleting from PDU
when packing MAC PDUs, adding a new SDU might fail, for example
because RLC couldn't provide a new PDU. The muxer then needs
to delete the subheader from the PDU again.

When adding a padding BSR at the end, the same subheader is again
used to store the BSR, so any state in that subheader should be removed.

In the particular case, this was causing an issue when logging a LBSR
because the LCG buffer states are printed using the payload buffer,
which was still pointing to some memory that was used when trying
to add the new RLC PDU in the beginning.
2020-12-12 15:58:33 +01:00
Andre Puschmann 035d989737 pdu: fix unpacking of LCG2 of LBSR MAC CE
LBSR packing is fine but this makes the eNB do wrong things
because it thinkgs LCG2 has no or too much data to send.

LCG2 is our default LCG for DRB1. One occasion we saw the issue
is doing full rate TCP DL which requires quite a bit of ACK traffic
back to the sender. With the BSR for LCG2 being wrong, providing
UL grants was delayed and so the TCP DL throuhgput was very low.

In the log below we see that the buff_size[2]=1 so there is data to send.
Interestingly, the packing was correct so Wireshark displays it correctly.
But the unpacking not, as can be seen in the MAC log below which reports
0 buffer state for all LCGs

22:08:54.804792 [MAC ] [I] [ 5084] pdu_get: sdu_len=1212, channel.sched_len=1213, bsr.buff_size[2]=1
22:08:54.804840 [MAC ] [I] [ 5084] UL LCID=3 len=1212 LBSR: b=0 0 0 0
2020-12-12 15:58:33 +01:00
Xavier Arteaga cf55eb4c4f Improved comments 2020-12-12 15:58:33 +01:00
Xavier Arteaga e8f94c40b8 Added LDPC codeblock segmentation 2020-12-12 15:58:33 +01:00
Xavier Arteaga fc3d154fe3 Fix compilation 2020-12-12 15:58:33 +01:00
Xavier Arteaga 736e6db616 Initial resource allocation for NR 2020-12-12 15:58:33 +01:00