LTE Primopredajnik
Loading...
Searching...
No Matches
transmitter.pbch.PBCHEncoder Class Reference

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

Detailed Description

PBCHEncoder: kompletan enkoder za PBCH zadat iz projektne dokumentacije.

Parameters
----------
verbose : bool
    Ako je True, ispisuje informacije o svakom koraku enkodiranja.

Member Function Documentation

◆ _subblock_interleave_120()

np.ndarray transmitter.pbch.PBCHEncoder._subblock_interleave_120 ( self,
Sequence[int] bits_120 )
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.

◆ encode()

np.ndarray transmitter.pbch.PBCHEncoder.encode ( self,
Sequence[int] info_bits )
Kompletan PBCH encoding lanac:
    24 → 40 → 120 → 1920 → 960

◆ gold_sequence_pbch()

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]

◆ qpsk()

transmitter.pbch.PBCHEncoder.qpsk ( self,
bits )
Gray QPSK mapiranje: 0->+1, 1->-1 (po I i Q grani)

◆ rate_match()

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

Member Data Documentation

◆ _PERM_PATTERN

transmitter.pbch.PBCHEncoder._PERM_PATTERN
staticprotected
Initial value:
= np.array(
[1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31,
0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30],
dtype=int
)

◆ fec

transmitter.pbch.PBCHEncoder.fec
Initial value:
= ConvolutionalEncoder(
constraint_len=7,
generators_octal=(0o133, 0o171, 0o165),
tail_biting=True,
)

The documentation for this class was generated from the following file:
  • transmitter/pbch.py