|
|
None | __init__ (self, Optional[RxValidationConfig] config=None) |
| np.ndarray | ensure_1d_time_axis (self, np.ndarray x) |
| float | mean_power (self, np.ndarray x) |
| float | rms (self, np.ndarray x) |
| np.ndarray | validate_rx_samples (self, np.ndarray rx_samples, Optional[bool] require_complex=None, Optional[int] min_num_samples=None, Optional[bool] check_finite=None) |
| Tuple[np.ndarray, float] | normalize_rms (self, np.ndarray x, float target_rms=1.0) |
| float | db2lin (self, float db) |
| float | lin2db (self, float x, Optional[float] floor_db=None) |
RxUtils – pomoćne funkcije za prijemnik: validacija, snaga/RMS,
normalizacija i konverzije dB↔linear.
Ova klasa je namjerno "čista" (bez LTE-specifičnih detalja) i služi
kao stabilna baza za PSS korelaciju, FFT i PBCH ekstrakciju.
Parameters
----------
config : RxValidationConfig, optional
Pravila validacije i preferirani dtype.
Primjeri
--------
>>> import numpy as np
>>> from rx.utils import RxUtils
>>> u = RxUtils()
>>> x = (np.random.randn(2048) + 1j*np.random.randn(2048)).astype(np.complex64)
>>> x = u.validate_rx_samples(x, min_num_samples=128)
>>> y, scale = u.normalize_rms(x, target_rms=1.0)
>>> float(u.rms(y))
1.0
| np.ndarray receiver.utils.RxUtils.validate_rx_samples |
( |
| self, |
|
|
np.ndarray | rx_samples, |
|
|
Optional[bool] | require_complex = None, |
|
|
Optional[int] | min_num_samples = None, |
|
|
Optional[bool] | check_finite = None ) |
Validira RX uzorke (dtype/NaN/Inf/min dužina/snaga) i vraća signal
u kompleksnom dtype-u (po konfiguraciji).
Napomena: podrazumijevamo da je **zadnja osa vrijeme**.
Parameters
----------
rx_samples : np.ndarray
Ulazni signal (1D/2D/ND). Zadnja osa je vrijeme.
require_complex : bool, optional
Override za config.require_complex.
min_num_samples : int, optional
Override za config.min_num_samples.
check_finite : bool, optional
Override za config.check_finite.
Returns
-------
np.ndarray
Validirani signal, kompleksan dtype (config.out_dtype ili complex128).
Raises
------
TypeError
Ako se traži kompleksan signal, a ulaz nije kompleksan.
ValueError
Ako signal sadrži NaN/Inf, premalo uzoraka ili praktično nultu snagu.