Processing time optimization for SRS
- Add SRS in nr_ulsim;
- Add SRS time stats in nr_ulsim;
- Fix size of IQ channel_matrix of SRS;
- Remove calloc of report_tlv, prg_list and prgs;
- Generate SRS sequence only when needed.
Test example: time sudo LD_LIBRARY_PATH=. ./nr_ulsim -n10000 -m9 -r106 -s10 -P 1 -E 1
Before:
|__ RX SRS time 220.49 us (10000 trials)
|__ Generate SRS sequence time 12.74 us (10000 trials)
|__ Get SRS signal time 1.99 us (10000 trials)
|__ SRS channel estimation time 40.38 us (10000 trials)
|__ SRS timing advance estimation time 5.23 us (10000 trials)
|__ SRS report TLV build time 159.53 us (10000 trials)
|__ SRS beam report build time 0.00 us ( 0 trials)
|__ SRS IQ matrix build time 24.17 us (10000 trials)
real 0m31,277s
user 0m28,189s
sys 0m2,072s
Now:
|__ RX SRS time 50.71 us (10000 trials)
|__ Generate SRS sequence time 0.13 us (10000 trials)
|__ Get SRS signal time 1.91 us (10000 trials)
|__ SRS channel estimation time 40.70 us (10000 trials)
|__ SRS timing advance estimation time 5.28 us (10000 trials)
|__ SRS report TLV build time 2.19 us (10000 trials)
|__ SRS beam report build time 0.00 us ( 0 trials)
|__ SRS IQ matrix build time 1.99 us (10000 trials)
real 0m29,092s
user 0m26,994s
sys 0m1,035s