LTE Primopredajnik
Loading...
Searching...
No Matches
transmitter.resource_grid Namespace Reference

Classes

class  ResourceGrid

Functions

np.ndarray create_resource_grid (int ndlrb=6, int num_subframes=1, bool normal_cp=True)
tuple[int, bool, int] _infer_grid_params (np.ndarray grid, int ndlrb)
None map_pss_to_grid (np.ndarray grid, np.ndarray pss_sequence, int symbol_index, int ndlrb=6)
None map_pbch_to_grid (np.ndarray grid, np.ndarray pbch_symbols, Iterable[int] pbch_symbol_indices, int ndlrb=6, Optional[np.ndarray] reserved_re_mask=None)

Detailed Description

resource_grid.py

Modul za kreiranje LTE resource grid-a i mapiranje PSS i PBCH simbola
u centar 6 RB (NDLRB = 6), u skladu sa poglavljima 7.5 i 7.6
knjige "Digital Signal Processing in Modern Communication Systems"
(A. Schwarzinger).

Ovaj modul koristi OOP pristup preko klase ResourceGrid, ali sadrži i
wrapper funkcije radi kompatibilnosti sa starim pozivima.

Function Documentation

◆ _infer_grid_params()

tuple[int, bool, int] transmitter.resource_grid._infer_grid_params ( np.ndarray grid,
int ndlrb )
protected
Interna pomoćna funkcija: iz oblika grida procjenjuje CP i broj subfrejmova.

Parametri
----------
grid : np.ndarray
    Ulazni resource grid.
ndlrb : int
    Broj downlink resource blokova.

Povratna vrijednost
-------------------
tuple
    Tuple (ndlrb, normal_cp, num_subframes).

Izuzeci
-------
AssertionError
    Ako broj podnosioca ne odgovara 12 * ndlrb.
ValueError
    Ako se na osnovu broja simbola ne može odrediti CP (14 ili 12).

◆ create_resource_grid()

np.ndarray transmitter.resource_grid.create_resource_grid ( int ndlrb = 6,
int num_subframes = 1,
bool normal_cp = True )
Kreira prazan LTE resource grid (kompatibilno sa starom verzijom).

Parametri
----------
ndlrb : int, opcionalno
    Broj downlink resource blokova (NDLRB).
num_subframes : int, opcionalno
    Broj subfrejmova u gridu.
normal_cp : bool, opcionalno
    Ako je True, koristi se normalni CP (14 simbola po subfrejmu),
    u suprotnom prošireni CP (12 simbola po subfrejmu).

Povratna vrijednost
-------------------
np.ndarray (complex128)
    Prazan resource grid dimenzija (12 * ndlrb, broj_OFDM_simbola).

Primjer
-------
>>> from transmitter.resource_grid import create_resource_grid
>>> grid = create_resource_grid(ndlrb=6, num_subframes=1, normal_cp=True)
>>> grid.shape
(72, 14)

◆ map_pbch_to_grid()

None transmitter.resource_grid.map_pbch_to_grid ( np.ndarray grid,
np.ndarray pbch_symbols,
Iterable[int] pbch_symbol_indices,
int ndlrb = 6,
Optional[np.ndarray] reserved_re_mask = None )
Wrapper funkcija za mapiranje PBCH simbola (radi kompatibilnosti).

Interno kreira ResourceGrid objekat, postavlja njegov `grid` na ulazni
i poziva `ResourceGrid.map_pbch`.

Parametri
----------
grid : np.ndarray (complex128)
    Resource grid dimenzija (12 * ndlrb, broj_OFDM_simbola).
pbch_symbols : np.ndarray (complex128)
    Jednodimenzionalni niz QPSK simbola.
pbch_symbol_indices : Iterable[int]
    Indeksi OFDM simbola u koje se PBCH mapira.
ndlrb : int, opcionalno
    Broj downlink resource blokova.
reserved_re_mask : np.ndarray (bool), opcionalno
    Maska rezervisanih RE (isti oblik kao grid).

Povratna vrijednost
-------------------
None
    Funkcija radi in-place i mijenja sadržaj `grid`.

Primjer
-------
>>> from transmitter.resource_grid import create_resource_grid, map_pbch_to_grid
>>> import numpy as np
>>> grid = create_resource_grid(ndlrb=6)
>>> pbch = np.ones(240, dtype=complex)
>>> map_pbch_to_grid(grid, pbch, pbch_symbol_indices=[7, 8, 9, 10], ndlrb=6)

◆ map_pss_to_grid()

None transmitter.resource_grid.map_pss_to_grid ( np.ndarray grid,
np.ndarray pss_sequence,
int symbol_index,
int ndlrb = 6 )
Wrapper funkcija za mapiranje PSS-a (radi kompatibilnosti sa starim kodom).

Interno kreira ResourceGrid objekat, postavlja njegov `grid` na ulazni
i poziva `ResourceGrid.map_pss`.

Parametri
----------
grid : np.ndarray (complex128)
    Resource grid dimenzija (12 * ndlrb, broj_OFDM_simbola).
pss_sequence : np.ndarray (complex128)
    PSS sekvenca dužine 62.
symbol_index : int
    Indeks OFDM simbola u koji se PSS mapira.
ndlrb : int, opcionalno
    Broj downlink resource blokova.

Povratna vrijednost
-------------------
None
    Funkcija radi in-place i mijenja sadržaj `grid`.

Primjer
-------
>>> from transmitter.resource_grid import create_resource_grid, map_pss_to_grid
>>> import numpy as np
>>> grid = create_resource_grid(ndlrb=6)
>>> pss = np.ones(62, dtype=complex)
>>> map_pss_to_grid(grid, pss, symbol_index=6, ndlrb=6)