Commit Graph

2439 Commits

Author SHA1 Message Date
Andre Puschmann 955960f22d write decoded PSSCH symbols to file with PHY debug enabled 2020-04-27 21:01:46 +02:00
luis_pereira87 baf0ad5bf4 PSSCH implementation 2020-04-27 21:01:46 +02:00
David Rupprecht 4e283ec942 Standalone decoders for nas and rrc in asn1 test. Thanks Dirk 2020-04-27 21:01:03 +02:00
Andre Puschmann 95bc7b48df ue_dl_nbiot: fix storing of softbits after first decoding failed
memcpy wasn't using sizeof(float)
2020-04-27 21:00:36 +02:00
Andre Puschmann 4c242f8d77 ue_dl_nbiot: remove fixme's 2020-04-27 21:00:36 +02:00
Andre Puschmann 9132446e6b npdsch_ue: rename global variables 2020-04-27 21:00:36 +02:00
Andre Puschmann e52577ecd3 npdsch_enodeb: rename too short global variable 2020-04-27 21:00:36 +02:00
Andre Puschmann dd04f45ca0 rename global rf object in examples to radio
LGTM complains about global variables with short names (foo)
2020-04-27 21:00:36 +02:00
yagoda 8e0b106c22 fixing some warnings from LGTM 2020-04-27 20:59:40 +02:00
Andre Puschmann 5d92111586 pcap: adding SL-SCH support 2020-04-27 15:54:54 +02:00
Andre Puschmann 5a95af6ce1 ofdm: move var init into loop 2020-04-27 15:54:54 +02:00
Andre Puschmann a82b2da2dd dft_precoding: add helper to get largest valid PRB 2020-04-27 15:54:54 +02:00
Andre Puschmann 04051a5cd0 soapy: add missing error messages for some soapy calls 2020-04-27 15:32:38 +02:00
Andre Puschmann 42bb387dae benchmark_radio: added option to change sampling rate during experiment
this patch adds the -y paramter that changes the sampling rate
during a radio benchmark to stress-test the API

it turned out that some devices/drivers are very prone to
sampling rate changes. since this happens during UE operation
when the UE is searching for cells, we need to make sure
the driver/device supports that operation.
2020-04-27 15:32:38 +02:00
Justin Tallon 3a258c16be
fixing a time alignment issue in the case where the number of samples… (#1255)
* fixing a time alignment issue in the case where the number of samples supplied by the frontend is differnt to the number requested
2020-04-27 15:13:53 +02:00
Francisco Paisana b506e29b72 removed common ce_typeenum 2020-04-24 11:55:53 +01:00
Francisco Paisana 372126deac created ul-sch and mch lcid types 2020-04-24 11:55:53 +01:00
Francisco Paisana 367a190829 created dl-sch lcid type 2020-04-24 11:55:53 +01:00
Andre Puschmann 13b59b42c7 npdcch: replace fixme with todo 2020-04-24 12:21:17 +02:00
Andre Puschmann a98a94e74b fix some non-critical warnings found by Coverity scan 2020-04-23 20:58:46 +02:00
Xavier Arteaga 58803d1b3e Added UL EARFCN map and UE PHY interface cleanup 2020-04-23 09:00:45 +02:00
Xavier Arteaga 7291a5db91 Implement on the fly sequence generation 2020-04-23 09:00:15 +02:00
Xavier Arteaga 89dcd6339f More LGTM fixes 2020-04-22 18:01:43 +02:00
Xavier Arteaga 60c4daccab Removed redundant code 2020-04-22 18:01:43 +02:00
Xavier Arteaga 01e224348c Fix compilation for NR HL 2020-04-22 18:01:43 +02:00
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 2020-04-22 18:01:43 +02:00
Xavier Arteaga 562590e595 Fix LGTM warnings 2020-04-22 18:01:43 +02:00
Pedro Alvarez ad0abe740b Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity. 2020-04-22 17:44:00 +02:00
Francisco Paisana 5db2c62530 comments for handover commands 2020-04-22 13:34:37 +01:00
Francisco Paisana 7a132f9ccd more enb interface comments 2020-04-22 13:34:37 +01:00
Francisco Paisana 0526ae8ab1 updated rrc mobility parsing. added some utility methods 2020-04-22 12:57:11 +01:00
Francisco Paisana 64557740fc use mac_buffer_state interface to schedule CEs in scheduler 2020-04-22 11:34:08 +01:00
Francisco Paisana ec94819f08 changed mechanism for conres ce scheduling to be controlled by rrc 2020-04-22 11:34:08 +01:00
Francisco Paisana d183d64409 added allocate_rnti method to mac. Useful both during PRACH and handover UE resource allocation 2020-04-22 11:34:08 +01:00
Francisco Paisana 6ddedd5972 moved pdu to common mac folder 2020-04-22 10:06:08 +01:00
Xavier Arteaga c26a70c8da Fix compilation 2020-04-20 18:28:35 +02:00
Andre Puschmann 80bdb0ea17 soapy: fix compilation on Soapy version < 6 2020-04-20 17:17:33 +02:00
Xavier Arteaga a7525d3e12 Fix somememory leaks 2020-04-20 16:10:27 +02:00
Xavier Arteaga e6792cf9b7 Refactored OFDM and added half CP window offset in UL Demodulator 2020-04-20 16:10:27 +02:00
Xavier Arteaga 4756319e8f Reduce PHY logging 2020-04-20 16:10:01 +02:00
Xavier Arteaga 11a2d2cc4a Fix and tidy up time offset in srsue 2020-04-20 16:10:01 +02:00
Andre Puschmann 34bc192f70 soapy: fix bug in selecting soapy device 2020-04-19 21:08:31 +02:00
Andre Puschmann b6ffc8de85 benchmark_radio: add device name argument 2020-04-19 21:08:31 +02:00
Andre Puschmann e7f28a57f3 soapy: reuse device args again as stream args 2020-04-19 21:08:31 +02:00
Andre Puschmann 8f79619efe soapy: disable LimeSDR specific modifciations
this turns off some Lime specific tweaks that we did, for example
turning off streaming before changing the sampling rate.

those are now implemented inside the LimeSuite (as of 20.01)
and are no longer required here

patch also disable the explicit BW setting and async background thread
2020-04-19 21:08:31 +02:00
Andre Puschmann 7587490c96 npdsch_ue: fix compilation on Ubuntu 16.04 2020-04-19 21:07:41 +02:00
Andre Puschmann ca8be29219 nbiot_ue: fix compile error 2020-04-19 12:03:51 +02:00
Andre Puschmann 0b756ac27d convert #warning macro to pragma to avoid compile error 2020-04-18 12:14:23 +02:00
Andre Puschmann c145d80547 nbiot: address review comments 2020-04-17 23:12:11 +02:00
Andre Puschmann 09ee7588b0 npdsch_ue: decode SIB1 and extract scheduling params for SIB2/3
also extend GUI and show JSON formated system information
2020-04-17 23:12:11 +02:00
Andre Puschmann e76e31e652 adding NB-IoT DL shared channel, UE DL object and PHY examples 2020-04-17 23:12:11 +02:00
Andre Puschmann 890436e07f remove uneeded include 2020-04-17 23:12:11 +02:00
Andre Puschmann dcb9004a71 zmq: refactor zmq argument parsing, allow zero indexing
It allows to provide an index for tx_port, rx_port, tx_freq and rx_freq even
for the first (and possibly only) port. So for example a MIMO config would be this for example:

tx_port0=tcp://*:2001,tx_port1=tcp://*:2003,rx_port0=tcp://localhost:2000,rx_port1=tcp://localhost:2002
2020-04-17 20:47:20 +02:00
Francisco Paisana df0da116ce removed enter state visitor, and srslte::same_state return special case in fsms 2020-04-17 17:09:48 +01:00
Francisco Paisana 63142899d1 simplified some of the fsm sfinae conditions 2020-04-17 17:09:48 +01:00
Francisco Paisana 6322e447e9 fixed issue with subfsm revisits not starting in initial substate 2020-04-17 17:09:48 +01:00
Francisco Paisana e1dc9cae15 added extra comments 2020-04-17 11:38:24 +01:00
Francisco Paisana 28467d568d eliminated old way to schedule tasks using the heap 2020-04-17 11:38:24 +01:00
Francisco Paisana d40dcd28f3 removed uneeded swap method 2020-04-17 11:38:24 +01:00
Francisco Paisana b5abba41a3 use normal polymorphism to create vtable 2020-04-17 11:38:24 +01:00
Francisco Paisana e2b10307ea changed inplace_task name to move_callback 2020-04-17 11:38:24 +01:00
Francisco Paisana ee50ed08c2 allow inplace task to be called in const contexts 2020-04-17 11:38:24 +01:00
Francisco Paisana 8d1beb42bd fix leak in inplace task destructor 2020-04-17 11:38:24 +01:00
Francisco Paisana 1061f2144b add consts 2020-04-17 11:38:24 +01:00
Francisco Paisana cd9c722aa0 avoid branching in inplace_task 2020-04-17 11:38:24 +01:00
Francisco Paisana ef834b3c60 changed inplace_task file name 2020-04-17 11:38:24 +01:00
Francisco Paisana a6b7c5d1d2 inplace task now uses small buffer optimization for bigger captures 2020-04-17 11:38:24 +01:00
Francisco Paisana 4b2b76cf01 created inplace task to avoid mallocs in task enqueuing 2020-04-17 11:38:24 +01:00
Xavier Arteaga fa776b1243 minor changes 2020-04-17 10:23:11 +02:00
Xavier Arteaga d76c77c188 Optimized PR sequence generator 2020-04-17 10:23:11 +02:00
Xavier Arteaga 375ac1388a Implemented SSE bit pack vector 2020-04-17 10:23:11 +02:00
Xavier Arteaga 24466fd242 Added PR sequence unit test/benchmark 2020-04-17 10:23:11 +02:00
luis_pereira87 653a1e0619 Added PSBCH Extended CP 2020-04-15 21:59:14 +02:00
Andre Puschmann ba4d0aa860 remove blacklisted ARM PHY tests
issue causing decoding failure for QAM256 are fixed now so blacklist can go away
2020-04-15 21:58:55 +02:00
Andre Puschmann 6dc9c8f26a fix compile error when RF is not enabled
void sig_int_handler(int signo) was declared in this case
but never used.
2020-04-15 13:42:26 +02:00
Andre Puschmann 8e7b49b949 pscch: fix PSCCH memory allocation and failing tests
the missing mem zero'ing caused the unit test to fail on some
machines where the memory wasn't initialized by default.

for d and d16 allocate the maximum number of bits, not
only the max length of a DCI
2020-04-15 13:42:26 +02:00
Andre Puschmann 20d9a83dac fix printfs of 64bit numbers when compiling for 32 bit
this caused issues when compiling in 32bit on RPi2
2020-04-15 13:42:26 +02:00
Andre Puschmann e495c4d553 vector: add uint8 zero'ing function 2020-04-15 13:42:26 +02:00
Andre Puschmann 8f72d4c55e simd: fix compilation error under NEON 2020-04-15 13:42:26 +02:00
Xavier Arteaga 11a8db202a Removed PDSCH traces 2020-04-15 11:39:57 +02:00
Xavier Arteaga 04c47e2b47 Added srsue argument for enabling EVM calculation 2020-04-15 11:39:57 +02:00
Xavier Arteaga 210ce0ac48 Fix modulation table 2020-04-15 11:39:57 +02:00
Xavier Arteaga 93771126ed More clear PDSCH CP function 2020-04-15 11:39:57 +02:00
Xavier Arteaga 71476d1079 Minor phy_dl_test modification 2020-04-15 11:39:57 +02:00
Xavier Arteaga 2bca321d4d Fix NEON 16 bit turbodecoder 2020-04-13 20:43:51 +02:00
Xavier Arteaga dc6128617b Fix SSE 16 bit turbodecoder 2020-04-13 20:43:51 +02:00
Xavier Arteaga 029f8c1562 Removed redundant test cases 2020-04-13 20:43:51 +02:00
Xavier Arteaga e25acdfd1d AWGN channel: same behaviour for all CPU architectures 2020-04-13 20:43:51 +02:00
Francisco Paisana c38a3721a6 added nbiot asn1 lib 2020-04-13 20:40:15 +02:00
Xavier Arteaga a0fb150e58 Fix memory issues in PSCCH decoder 2020-04-13 20:39:15 +02:00
yagoda eed6240a4b adding expected results to the viterbi test for neon 2020-04-13 20:36:44 +02:00
Francisco Paisana 3fda3dc50a fix compilation issue 2020-04-12 15:54:59 +01:00
Francisco Paisana 3773029d9e fix compilation bug 2020-04-10 22:30:59 +01:00
Francisco Paisana c09f76ed6c unified stack task defer method 2020-04-10 22:30:59 +01:00
Andre Puschmann d35c9e2b89 nas: add support ot UE test loop mode B
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
2020-04-10 21:18:43 +02:00
Xavier Arteaga 2fd018ead1 Minor change 2020-04-10 17:48:53 +02:00
Xavier Arteaga 5b7493cab5 Added 256QAM modulation tables to scheduler 2020-04-10 17:48:53 +02:00
Xavier Arteaga a4225b189b SRSENB: Added initial UE capability parser 2020-04-10 17:48:53 +02:00
Xavier Arteaga 5e45e63519 Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA 2020-04-10 15:58:25 +02:00
Xavier Arteaga 784bf81a1a Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA 2020-04-10 15:58:25 +02:00
Xavier Arteaga cb6a8444df Added srsLTE helper for determining number of RI bits 2020-04-10 15:58:25 +02:00
Tiago Alves 47145c18b7 sidelink: refactor channel estimation 2020-04-10 14:58:18 +02:00
Francisco Paisana 4ac07e5abb simplified power off state transition 2020-04-09 18:57:18 +01:00
Francisco Paisana ff988127fe wrote nas fsm test 2020-04-09 18:57:18 +01:00
Francisco Paisana 977a1acc5e eliminated unhandled_event special function. Use react instead. 2020-04-09 18:57:18 +01:00
Francisco Paisana 6e34dadce2 reverted back to tuples to store fsm state_list 2020-04-09 18:57:18 +01:00
Francisco Paisana dbbeb1ec3b fix log order 2020-04-09 18:57:18 +01:00
Francisco Paisana 4036a6887a clean up enter/exit state methods 2020-04-09 18:57:18 +01:00
Francisco Paisana 8d3427e88a removed namespacing from state printing 2020-04-09 18:57:18 +01:00
Francisco Paisana b699e0e490 enter/exit moved outside of the states, into the fsm. Now i just use the type_name function to get a state name 2020-04-09 18:57:18 +01:00
Francisco Paisana 4a4827a603 created a method to detect unhandled events 2020-04-09 18:57:18 +01:00
Francisco Paisana ec3ef4474e created a simple procedure fsm 2020-04-09 18:57:18 +01:00
Francisco Paisana 1aae510e9d enter/exit are now being called in order 2020-04-09 18:57:18 +01:00
Francisco Paisana 2e15514d00 fix enter/exit calls 2020-04-09 18:57:18 +01:00
Francisco Paisana dd377becaa small fixes in state transitions 2020-04-09 18:57:18 +01:00
Francisco Paisana dc0427804f clean up comments and add some util functions 2020-04-09 18:57:18 +01:00
Francisco Paisana 7dc1489ea7 reintroduced optional enter/exit methods for each state 2020-04-09 18:57:18 +01:00
Francisco Paisana 7c76a64238 fix move/copy correctness 2020-04-09 18:57:18 +01:00
Francisco Paisana be5a33f9b7 deleted unused fsm methods 2020-04-09 18:57:18 +01:00
Francisco Paisana 6675e92806 implement fsm based on choice type 2020-04-09 18:57:18 +01:00
Francisco Paisana 018f9e7db2 implement visit pattern 2020-04-09 18:57:18 +01:00
Francisco Paisana 278a1686fb creation of choice/variant type 2020-04-09 18:57:18 +01:00
Francisco Paisana a2ade9edd1 break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder 2020-04-09 10:10:04 +01:00
Francisco Paisana 2950d26daa remove asn1 namespace from srsue files 2020-04-09 10:10:04 +01:00
Andre Puschmann 9307a54512 pdcp: adding enable_security_timed() method
this is an extension to the currently available security
configuration and activation methods provided by PDCP.
The new call allows to specify a Rx and Tx SN after which the
entire security config, i.e. integrity and ciphering, should
be enabled.

this is mainly required for the PDCP entity of the conformance
testing SS but could potentially also be used by the eNB
to enable security for PDCP after sending the SecModeCommand
for example.

the extra call was added to not break the existing API.
2020-04-09 10:55:13 +02:00
Pedro Alvarez f4d648b26e Removed rx_count state variable from PDCP LTE entity. Updated get_bearer_status(...) acordingly. Added get_last_submitted_rx_count() getter. 2020-04-09 10:55:13 +02:00
Andre Puschmann 70b13198b2 pdcp: update local rx_count variable when accepting incoming PDU
before the SN was read but the rx_count was never updated.
when get_dl_count() or get_bearer_status() were called, invalid
values were returned
2020-04-09 10:55:13 +02:00
Andre Puschmann 447c740bb5 pdcp: streamline PDCP info logs with RLC style 2020-04-09 10:55:13 +02:00
Francisco Paisana 7932a6bed7 allow the use of move_tasks in procedures 2020-04-08 14:55:33 +01:00
Daniel Willmann 925225dbeb Implement Close UE Test Loop/Complete messages
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
2020-04-04 22:51:43 +02:00
Andre Puschmann 057844d7d6 signal_handler: increase alarm timeout to 5s and use raise instead of exit()
it seems that exit() causes problems when threads couldn't be stopped
properly, which is the reason why we have to call alarm() in the first place.
therefore, send a SIGKILL to our process and make sure we don't leave any
zombie threads running.
2020-04-03 22:22:04 +02:00
Xavier Arteaga 9a2b0b7cc7 Standard vector allocation uses vector library 2020-04-02 20:49:58 +02:00
Xavier Arteaga 25312e81b4 SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object 2020-04-02 13:52:23 +02:00
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 2020-04-02 13:52:23 +02:00
Francisco Paisana c661025cda fix log tti, and print a warning when the ul_harq tti does not match existing ones 2020-04-01 15:02:21 +01:00
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 2020-03-31 13:42:06 +01:00
Andre Puschmann 6911ee3004 soapy: add macro to disable stream stopping before changing sample rate 2020-03-31 12:32:52 +02:00
Andre Puschmann d32b4d5529 fix benchmark_radio example 2020-03-31 12:32:52 +02:00
Andre Puschmann 62e4bd9469 log_ptr: fix issue if accessing log_ptr that was reset already
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()

i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
2020-03-31 12:32:52 +02:00
Andre Puschmann ed646de7f1 soapy: fix segfault when launching and no device args where provided 2020-03-31 12:32:52 +02:00
Andre Puschmann c82e7d313a soapy: fix stream setup for new Soapy API
this caused an issue when compiling with latest SoapySDR drivers
that changed API for setupStream
2020-03-31 12:32:52 +02:00
Andre Puschmann 94c6034339 nas: rename start_attach_request to start_attach_proc
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
2020-03-30 11:23:40 +02:00
Andre Puschmann 0e76b9ed15 nas: set NAS key set identifier to no key available when attaching with IMSI 2020-03-28 21:24:13 +01:00
Andre Puschmann 890f346808 pdcp: fixing LTE rx test
the test was introducing two lost SN and the number of expected SDUs
wasn't changed. Changed now counters, etc to only drop one SN.
2020-03-27 10:54:19 +01:00
Francisco Paisana 67f6eebf61 fix rlc stress test to reflect threading in stack 2020-03-26 20:11:35 +00:00
Francisco Paisana 575475962f the rlc um rx does not need a mutex bc it is always called in the stack thread 2020-03-26 20:11:35 +00:00
Ismael Gomez 8e07547909 Fix device_args in x300 when setting master_clock 2020-03-26 19:12:17 +01:00
Andre Puschmann 175f7fd587 pdcp: turn warning of PDCP duplicate into debug message 2020-03-26 14:21:14 +00:00
Andre Puschmann 5e9aa38551 pdcp: add test for reception of dublicate PDU 2020-03-26 14:21:14 +00:00
Xavier Arteaga cca3cccfbe Improved fading model generation 2020-03-26 08:23:07 +01:00