|
LTE Primopredajnik
|
Public Member Functions | |
| __init__ (self, bool verbose=True, int pci=0, bool enable_scrambling=True) | |
| np.ndarray | crc16 (self, Sequence[int] bits) |
| np.ndarray | rate_match (self, Sequence[int] bits_120, int E=1920) |
| np.ndarray | gold_sequence_pbch (self, int c_init, int length) |
| qpsk (self, bits) | |
| np.ndarray | encode (self, Sequence[int] info_bits) |
Public Attributes | |
| verbose = verbose | |
| pci = int(pci) | |
| enable_scrambling = bool(enable_scrambling) | |
| fec | |
Protected Member Functions | |
| np.ndarray | _subblock_interleave_120 (self, Sequence[int] bits_120) |
Static Protected Attributes | |
| _PERM_PATTERN | |
PBCHEncoder: kompletan enkoder za PBCH zadat iz projektne dokumentacije.
Parameters
----------
verbose : bool
Ako je True, ispisuje informacije o svakom koraku enkodiranja.
|
protected |
LTE PBCH sub-block interleaver for 120 coded bits (rate 1/3). - Split into 3 streams d0,d1,d2 (each 40 bits) - For each stream: 32-column interleaver with dummy bits at the start, permute columns with _PERM_PATTERN, then read out column-wise. Returns 120 interleaved bits.
| np.ndarray transmitter.pbch.PBCHEncoder.encode | ( | self, | |
| Sequence[int] | info_bits ) |
Kompletan PBCH encoding lanac:
24 → 40 → 120 → 1920 → 960
| np.ndarray transmitter.pbch.PBCHEncoder.gold_sequence_pbch | ( | self, | |
| int | c_init, | ||
| int | length ) |
Gold scrambler za PBCH: - x1: init [1, 0, 0, ..., 0] - x2: init iz c_init (PCI), 31 bita - 1600 warm-up iteracija - c[n] = x1[n] XOR x2[n]
| transmitter.pbch.PBCHEncoder.qpsk | ( | self, | |
| bits ) |
Gray QPSK mapiranje: 0->+1, 1->-1 (po I i Q grani)
| np.ndarray transmitter.pbch.PBCHEncoder.rate_match | ( | self, | |
| Sequence[int] | bits_120, | ||
| int | E = 1920 ) |
PBCH rate matching = interleaving + repetition. Normal CP: 120 interleaved bits repeated 16 times -> 1920 Extended CP: repeat 14 times then append first 48 bits -> 1728
|
staticprotected |
| transmitter.pbch.PBCHEncoder.fec |