Commits (8)
-
Kirill Smelkov authored
XLTE should be ready to be tried to be used for real now.
bda7ab21 -
Kirill Smelkov authored
- add Calc.cum to aggregate Measurements. - add ΣMeasurement type to represent result of this. It is very similar to Measurement, but every field comes accompanied with information about how much time there was no data for that field. In other words it is not all or nothing for NA in the result. For example a field might be present 90% of the time and NA only 10% of the time. We want to preserver knowledge about that 90% of valid values in the result. And we also want to know how much time there was no data. - amend kpidemo.py and kpidemo.ipynb to demonstrate this.
bf96c767 -
Kirill Smelkov authored
Adjust plain writer to append to log file instead of truncating it on the open. The rotating writers are already ok as they use "a" mode by default.
ce383492 -
Kirill Smelkov authored
If the parsed period was '60s' we were printing it back as '60.0s' on str. Fix it by using %g insted of %s.
70b4b71c -
Kirill Smelkov authored
Before this patch we were supporting only boolean option flags - with, for example, stats[rf] meaning stats query with {"rf": True} arguments. Now we add support for arbitrary types, so that it is possible to specify e.g. integer or string query options, as well as some boolean flag set to false. This should be good for generality. For backward compatibility the old way to implicitly specify "on" flags is continued to be supported.
bcfd82dd -
Kirill Smelkov authored
Do a package which provides calculations like EARFCN -> frequency, EARFCN -> band info, and to convert DL/UL EARFCN in between each other. I was hoping to find something ready on the net, but could find only pypi.org/project/nrarfcn for 5G, while for LTE everything I found was of lesser quality and capability. -> So do it myself. See package documentation for API details.
6cb9d37f -
Kirill Smelkov authored
Do a package for converting DL/UL NR-ARFCN in between each other and to convert DL NR-ARFCN to SSB NR-ARFCN. The API mimics xlte.earfcn added in 6cb9d37f. xlte.nrarfcn complements pypi.org/project/nrarfcn, which we use here under the hood. See package documentation for API details.
b8065120 -
Kirill Smelkov authored
Contrary to earfcn, where band can be automatically deduced from earfcn number because 4G bands never overlap, most functions in nrarfcn accept as input parameters both nr_arfcn and band, because 5G bands can and do overlap. As the result it is possible to invoke e.g. dl2ul with dl_nr_arfcn being outside of downlink spectrum of specified band. However in b8065120 I've made a thinko and handled such situation with simple assert which does not lead to useful error feedback from a user perspective, for example: In [2]: xnrarfcn.dl2ul(10000, 1) --------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Cell In[2], line 1 ----> 1 n.dl2ul(10000, 1) File ~/src/wendelin/xlte/nrarfcn.py:85, in dl2ul(dl_nr_arfcn, band) 83 if dl_lo == 'N/A': 84 raise AssertionError('band%r does not have downlink spectrum' % band) ---> 85 assert dl_lo <= dl_nr_arfcn <= dl_hi 86 ul_lo, ul_hi = nr.get_nrarfcn_range(band, 'ul') 87 if ul_lo == 'N/A': AssertionError: The issue here is that asserts can be used to only verify internal invariants, and that reported error does not provide details about which nrarfcn and band were used in the query. -> Fix this by providing details in the error reported to incorrect module usage, and by consistently raising ValueError for "invalid parameters" cases. The reported error for above example now becomes ValueError: band1: NR-ARFCN=10000 is outside of downlink spectrum
8e606c64
Showing
This source diff could not be displayed because it is too large. You can view the blob instead.
earfcn.py
0 → 100644
This diff is collapsed.
earfcn_test.py
0 → 100644
nrarfcn.py
0 → 100644
nrarfcn_test.py
0 → 100644