lte,phy: Add CFR to srsue LTE UL
This commit adds the configuration steps needed to enable
and configure the CFR module for the srsue's uplink signal.
Parsing of the CFR manual threshold has been streamlined.
This adds flexible plugin-like loading of the individual RF
implementations (zmq, uhd, soapy,...) as per availability at runtime.
Unlike before, the binary application is not terminated if the
dependencies of individual RF interfaces are not installed on the
executing system. To do this, the plugins are not linked by the linker
at compile time, but opened at runtime via dlopen() and dropped in case
of failure due to missing dependencies.
* Add CFR module to the phy lib
* Add dynamic threshold with PAPR estimation
* Add a CFR unit test, CFR module improvements and refactoring.
Swap the gain normalization before the CFR.
* Add CFR config interface to srsenb
* Add CFR support to pdsch_enodeb
* Add DL PAPR measurement to eNB.
Co-authored-by: Cristian Balint <cristian.balint@gmail.com>
* Add test coverage to srsran_vec_gen_clip_env
It comes with the following changes:
* Add RF frontend API function "srslte_rf_open_file()"
* Open file-based RF via explicit call of custom
"rf_file_open_file()", instead of "srslte_rf_open_multi()"
function pointer as for regular devices.
* Introduce device name "file"
* Introduce new SRSLTE_ERROR_RX_EOF error code
* ZMQ: make update_rates() static to resolve conflicts
The API of functions srsran_ch_awgn_X was causing confusion between
noise variance and standard deviation. Also, in the complex-valued case,
the noise variance did not take into account the fact that the signal is
two-dimensional.
All uses of these functions are modified accordingly.
* Make filename const in filesink
* Sine generation returns the next phase
* Avoid malloc/free in radio class
* Implement Tx gain in ZMQ
* Initial ratio RT gain test
* UHD: use timed Tx gain commands to align changes to subframes
* Minor improvement in test_radio_rt_gain
* Fix compilation
* Check RF gain thread id before joining
* Remove redundant zero initialization.
Co-authored-by: Fabian Eckermann <fabian@srs.io>
* Fix a race condition when accessing the NR PHY cfg by the RRC and phy workers.
Rework how the phy cfg is handled, now workers have their own copy that gets updated after a reconfig moving it out of the state class.
* Default initialize sf_len member in sf_worker for consistency.
* Asynchronous NR PHY configuration
* Fix compilation
* Corrected method override and fix unitialised value
* Added carrier equal comparison to avoid aligment byte padding comparison
Co-authored-by: faluco <borja.ferrer@softwareradiosystems.com>