free5GRAN  V1.0
free5GRAN::phy::physical_channel Namespace Reference

Functions

void decode_pdcch (vector< complex< float >> pdcch_symbols, int *dci_bits, int agg_level, int *reg_index, int *reg_index_sorted, int pci)
 
void decode_pdsch (vector< complex< float >> pdsch_samples, double *unscrambled_soft_bits, int pci)
 
void decode_pbch (vector< complex< float >> pbch_symbols, int i_ssb, int pci, int *bch_bits)
 
void compute_pbch_indexes (vector< vector< vector< int >>> &ref, int pci)
 
void compute_pdcch_indexes (vector< vector< vector< int >>> &ref, free5GRAN::pdcch_t0ss_monitoring_occasions pdcch_ss_mon_occ, int agg_level, int *reg_bundles, int height_reg_rb)
 
void compute_pdsch_indexes (vector< vector< vector< int >>> &ref, bool dmrs_symbol_array[], int L, int lrb)
 

Function Documentation

◆ compute_pbch_indexes()

void free5GRAN::phy::physical_channel::compute_pbch_indexes ( vector< vector< vector< int >>> &  ref,
int  pci 
)

Compute PBCH and DMRS symbols indexes

Parameters
[out]refReference grid for RE demapper
[in]pciPhysical Cell ID

Definition at line 133 of file physical_channel.cpp.

◆ compute_pdcch_indexes()

void free5GRAN::phy::physical_channel::compute_pdcch_indexes ( vector< vector< vector< int >>> &  ref,
free5GRAN::pdcch_t0ss_monitoring_occasions  pdcch_ss_mon_occ,
int  agg_level,
int *  reg_bundles,
int  height_reg_rb 
)

Compute PDCCH and DMRS samples Position

Parameters
[out]refReference grid for RE demapper.
[in]pdcch_ss_mon_occSearch Space configuration
[in]agg_levelPDCCH candidate aggregation level
[in]reg_bundlesREG positions after CCE-to-REG interleaving
[in]height_reg_rbFrequency-domain REG height, in RB

Definition at line 172 of file physical_channel.cpp.

◆ compute_pdsch_indexes()

void free5GRAN::phy::physical_channel::compute_pdsch_indexes ( vector< vector< vector< int >>> &  ref,
bool  dmrs_symbol_array[],
int  L,
int  lrb 
)

Compute PDSCH and DMRS samples Position

Parameters
[out]refReference grid for RE demapper.
[in]dmrs_symbol_arrayTrue if symbol contains DMRS, false else
[in]LNumber of symbols for PDSCH
[in]lrbNumber of RB for PDSCH

Definition at line 201 of file physical_channel.cpp.

◆ decode_pbch()

void free5GRAN::phy::physical_channel::decode_pbch ( vector< complex< float >>  pbch_symbols,
int  i_ssb,
int  pci,
int *  bch_bits 
)

PBCH decoding

3GPP standard: TS 38.211 V15.2.0 Section 7.3.3

Details:

  • Demodulation
  • Scrambling
Parameters
[in]pbch_symbolsInput IQ data to be decoded
[in]i_ssbSS Block index
[in]pciCell PCI
[out]bch_bitsPBCH decoded bits

Definition at line 101 of file physical_channel.cpp.

◆ decode_pdcch()

void free5GRAN::phy::physical_channel::decode_pdcch ( vector< complex< float >>  pdcch_symbols,
int *  dci_bits,
int  agg_level,
int *  reg_index,
int *  reg_index_sorted,
int  pci 
)

PDCCH decoding

3GPP standard: TS 38.211 V15.2.0 Section 7.3.2

Details:

  • CCE to REG de-interleaving
  • Demodulation
  • Scrambling
Parameters
[in]pdcch_symbolsInput IQ data to be decoded
[out]dci_bitsPDCCH decoded bits
[in]agg_levelAggregation level
[in]reg_indexInterleaved REG indexes
[in]reg_index_sortedSorted interleaved REG indexes
[in]pciCell PCI

Definition at line 28 of file physical_channel.cpp.

◆ decode_pdsch()

void free5GRAN::phy::physical_channel::decode_pdsch ( vector< complex< float >>  pdsch_samples,
double *  unscrambled_soft_bits,
int  pci 
)

PDSCH decoding

3GPP standard: TS 38.211 V15.2.0 Section 7.3.1

Partial implementation: No layer mapping, antenna port mapping and VRB to PRB de-interleaving

Details:

  • Demodulation
  • Scrambling
Parameters
[in]pdsch_samplesInput IQ data to be decoded
[out]unscrambled_soft_bitsPDSCH decoded soft bits
[in]pciCell PCI

Definition at line 63 of file physical_channel.cpp.