impl_defs.h File Reference

Go to the source code of this file.

Data Structures

struct  TX_VARS
 Data structure for transmission. More...
struct  RX_VARS
 Data structure for reception. More...
struct  PHY_MEASUREMENTS
 Measurement Variables. More...
struct  PHY_RESOURCES
 Physical Resource Descriptor. More...
struct  PHY_CONFIG
 Static Configuration Structure. More...
struct  SACH_DIAGNOSTICS
 SACH Diagnostics structure. More...
struct  PHY_VARS
 Top-level PHY Data Structure. More...

Defines

#define ZERO   0
#define ONE   1
#define FALSE   0
#define TRUE   1
#define MINUSONE   (-1)
#define WORD_SIZE   32
#define NUMBER_OF_OFDM_CARRIERS   (PHY_config->PHY_framing.Nd)
#define NUMBER_OF_SYMBOLS_PER_FRAME   (PHY_config->PHY_framing.Nsymb)
#define LOG2_NUMBER_OF_OFDM_CARRIERS   (PHY_config->PHY_framing.log2Nd)
#define NUMBER_OF_ZERO_CARRIERS   (PHY_config->PHY_framing.Nz)
#define NUMBER_OF_USEFUL_CARRIERS   (NUMBER_OF_OFDM_CARRIERS-NUMBER_OF_ZERO_CARRIERS)
#define NUMBER_OF_USEFUL_CARRIERS_BYTES   (NUMBER_OF_USEFUL_CARRIERS>>2)
#define HALF_NUMBER_OF_USEFUL_CARRIERS   (NUMBER_OF_USEFUL_CARRIERS>>1)
#define HALF_NUMBER_OF_USEFUL_CARRIERS_BYTES   (HALF_NUMBER_OF_USEFUL_CARRIERS>>2)
#define FIRST_CARRIER_OFFSET   (HALF_NUMBER_OF_USEFUL_CARRIERS+NUMBER_OF_ZERO_CARRIERS)
#define NUMBER_OF_OFDM_SYMBOLS_PER_SLOT   16
#define SLOTS_PER_FRAME   (NUMBER_OF_SYMBOLS_PER_FRAME/NUMBER_OF_OFDM_SYMBOLS_PER_SLOT)
#define CHBCH_PDU_SIZE   144
#define MRBCH_PDU_SIZE   19
#define MRSCH_INDEX   3
#define EXTENSION_TYPE   (PHY_config->PHY_framing.Extension_type)
#define NUMBER_OF_OFDM_CARRIERS_BYTES   NUMBER_OF_OFDM_CARRIERS*4
#define HALF_NUMBER_OF_USER_CARRIERS_BYTES   NUMBER_OF_USEFUL_CARRIERS/2
#define CYCLIC_PREFIX_LENGTH   (PHY_config->PHY_framing.Nc)
#define CYCLIC_PREFIX_LENGTH_SAMPLES   (CYCLIC_PREFIX_LENGTH*2)
#define CYCLIC_PREFIX_LENGTH_BYTES   (CYCLIC_PREFIX_LENGTH*4)
#define OFDM_SYMBOL_SIZE_SAMPLES   ((NUMBER_OF_OFDM_CARRIERS + CYCLIC_PREFIX_LENGTH)*2)
#define OFDM_SYMBOL_SIZE_SAMPLES_MAX   4096
#define OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES   (OFDM_SYMBOL_SIZE_SAMPLES/2)
#define OFDM_SYMBOL_SIZE_SAMPLES_NO_PREFIX   ((NUMBER_OF_OFDM_CARRIERS)*2)
#define OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX   (OFDM_SYMBOL_SIZE_SAMPLES_NO_PREFIX/2)
#define OFDM_SYMBOL_SIZE_BYTES   (OFDM_SYMBOL_SIZE_SAMPLES*2)
#define OFDM_SYMBOL_SIZE_BYTES_NO_PREFIX   (OFDM_SYMBOL_SIZE_SAMPLES_NO_PREFIX*2)
#define SLOT_LENGTH_BYTES   (OFDM_SYMBOL_SIZE_BYTES * NUMBER_OF_OFDM_SYMBOLS_PER_SLOT)
#define SLOT_LENGTH_BYTES_NO_PREFIX   (OFDM_SYMBOL_SIZE_BYTES_NO_PREFIX * NUMBER_OF_OFDM_SYMBOLS_PER_SLOT)
#define FRAME_LENGTH_SAMPLES   (NUMBER_OF_SYMBOLS_PER_FRAME*OFDM_SYMBOL_SIZE_SAMPLES)
#define FRAME_LENGTH_COMPLEX_SAMPLES   (FRAME_LENGTH_SAMPLES/2)
#define FRAME_LENGTH_SAMPLES_NO_PREFIX   (NUMBER_OF_SYMBOLS_PER_FRAME*OFDM_SYMBOL_SIZE_SAMPLES_NO_PREFIX)
#define FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX   (FRAME_LENGTH_SAMPLES_NO_PREFIX/2)
#define NB_RACH   1
#define RACH_TIME_ALLOC   (0x01)
#define RACH0_FREQ_ALLOC   (0xffff)
#define SYMBOLS_PER_TIME_ALLOC   4
#define TIME_ALLOC_TO_SLOT_SHIFT   6
#define NUMBER_OF_SACH   (3)
#define NUMBER_OF_FREQUENCY_GROUPS   16
#define NUMBER_OF_RACH_FREQUENCY_GROUPS   16
#define NUMBER_OF_RACH_SYMBOLS   1
#define NUMBER_OF_CARRIERS_PER_GROUP   (NUMBER_OF_USEFUL_CARRIERS/NUMBER_OF_FREQUENCY_GROUPS)
#define NUMBER_OF_SACH_DATA_CARRIERS_PER_GROUP   (NUMBER_OF_CARRIERS_PER_GROUP-NUMBER_OF_SACH_PILOTS)
#define NUMBER_OF_CLUSTERS   2
#define NUMBER_OF_TERMINALS_PER_CLUSTER   7
#define NUMBER_OF_FREQBANDS   4
#define NUMBER_OF_CHSCH_SYMBOLS   (PHY_config->PHY_chsch[0].Nsymb)
#define NUMBER_OF_CHSCH   (4)
#define NUMBER_OF_CHSCH_SYMBOLS_MAX   (4)
#define NUMBER_OF_SCH_SYMBOLS   (PHY_config->PHY_sch[0].Nsymb)
#define NUMBER_OF_SCH_SYMBOLS_MAX   (4)
#define NUMBER_OF_MRSCH_SYMBOLS   (PHY_config->PHY_sch[1].Nsymb)
#define NUMBER_OF_CHBCH_SYMBOLS   (PHY_config->PHY_chbch[1].Nsymb)
#define NUMBER_OF_CHBCH_PILOTS   (PHY_config->PHY_chbch[1].Npilot)
#define NUMBER_OF_MRBCH_SYMBOLS   (PHY_config->PHY_mrbch.Nsymb)
#define NUMBER_OF_MRBCH_PILOTS   (PHY_config->PHY_mrbch.Npilot)
#define CHBCH_FREQUENCY_REUSE_FACTOR   (PHY_config->PHY_chbch[1].FreqReuse)
#define CHBCH_FREQUENCY_REUSE_IND   (PHY_config->PHY_chbch[1].FreqReuse_Ind)
#define LOG2_NUMBER_OF_CHBCH_PILOTS   4
#define LOG2_NUMBER_OF_MRBCH_PILOTS   3
#define INTDEPTH_CHBCH   (PHY_config->PHY_chbch[1].IntDepth)
#define CHBCH_PILOT_SPACING   (NUMBER_OF_USEFUL_CARRIERS/NUMBER_OF_CHBCH_PILOTS/CHBCH_FREQUENCY_REUSE_FACTOR)
#define FIRST_CHBCH_PILOT_OFFSET   (FIRST_CARRIER_OFFSET + (CHBCH_PILOT_SPACING>>1))
#define SYMBOL_OFFSET_CHBCH   (PHY_config->PHY_chbch[1].symbol)
#define SYMBOL_OFFSET_CHSCH   (PHY_config->PHY_chsch[0].symbol)
#define SYMBOL_OFFSET_MRBCH   (PHY_vars->tx_rx_switch_point+7)
#define SYMBOL_OFFSET_MRSCH   (PHY_vars->tx_rx_switch_point+6)
#define SYMBOL_OFFSET_RACH_SCH   (NUMBER_OF_SYMBOLS_PER_FRAME-SYMBOLS_PER_TIME_ALLOC-1)
#define SAMPLE_OFFSET_CHBCH   (SYMBOL_OFFSET_CHBCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES)
#define SAMPLE_OFFSET_CHSCH   (SYMBOL_OFFSET_CHSCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES)
#define SAMPLE_OFFSET_MRSCH   (SYMBOL_OFFSET_MRSCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES)
#define SAMPLE_OFFSET_MRBCH   (SYMBOL_OFFSET_MRBCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES)
#define SAMPLE_OFFSET_CHBCH_NO_PREFIX   (SYMBOL_OFFSET_CHBCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX)
#define SAMPLE_OFFSET_CHSCH_NO_PREFIX   (SYMBOL_OFFSET_CHSCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX)
#define SAMPLE_OFFSET_MRBCH_NO_PREFIX   (SYMBOL_OFFSET_MRBCH*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX)
#define NUMBER_OF_SACH_SYMBOLS_MAX   (NUMBER_OF_SYMBOLS_PER_FRAME)
#define NUMBER_OF_SACH_PILOTS   (PHY_config->PHY_sach.Npilot)
#define LOG2_NUMBER_OF_SACH_PILOTS   3
#define SACH_PILOT_SPACING   (1+(NUMBER_OF_USEFUL_CARRIERS/NUMBER_OF_SACH_PILOTS))
#define FIRST_SACH_PILOT_OFFSET   (FIRST_CARRIER_OFFSET + (SACH_PILOT_SPACING>>1))
#define NUMBER_OF_GUARD_RACH_SYMBOLS   4
#define NUMBER_OF_GUARD_SYMBOLS_END   4
#define NUMBER_OF_UL_CONTROL_SYMBOLS   8
#define NUMBER_OF_DL_SACH_SYMBOLS   (TX_RX_SWITCH_SYMBOL-(NUMBER_OF_CHSCH_SYMBOLS*NUMBER_OF_CHSCH)-NUMBER_OF_CHBCH_SYMBOLS)
#define NUMBER_OF_UL_SACH_SYMBOLS   (NUMBER_OF_SYMBOLS_PER_FRAME-TX_RX_SWITCH_SYMBOL-NUMBER_OF_UL_CONTROL_SYMBOLS-NUMBER_OF_GUARD_SYMBOLS_END)
#define FIRST_DL_SACH_SYMBOL   (NUMBER_OF_CHBCH_SYMBOLS+(NUMBER_OF_CHSCH_SYMBOLS*NUMBER_OF_CHSCH))
#define FIRST_UL_SACH_SYMBOL   (NUMBER_OF_UL_CONTROL_SYMBOLS+TX_RX_SWITCH_SYMBOL)
#define TX_RX_SWITCH_SYMBOL   (NUMBER_OF_SYMBOLS_PER_FRAME>>1)
#define RX_PRECISION   (16)
#define LOG2_RX_PRECISION   (4)
#define RX_OUTPUT_SHIFT   (4)
#define SAMPLE_SIZE_BYTES   2
#define FRAME_LENGTH_BYTES   (FRAME_LENGTH_SAMPLES * SAMPLE_SIZE_BYTES)
#define FRAME_LENGTH_BYTES_NO_PREFIX   (FRAME_LENGTH_SAMPLES_NO_PREFIX * SAMPLE_SIZE_BYTES)
#define FFT_SCALE_FACTOR   8
#define DMA_BLKS_PER_SLOT   (SLOT_LENGTH_BYTES/2048)
#define SLOT_TIME_NS   (SLOT_LENGTH_SAMPLES*(1e3)/7.68)
#define TARGET_RX_POWER   43
#define TARGET_RX_POWER_MAX   48
#define TARGET_RX_POWER_MIN   36
#define MAX_RF_GAIN   150
#define MIN_RF_GAIN   96
#define PHY_SYNCH_OFFSET   ((OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES)-1)
#define PHY_SYNCH_MIN_POWER   1000
#define PHY_SYNCH_THRESHOLD   100
#define FIRST_SACH_SLOT   8
#define MAX_CHBCH_ERRORS   100
#define CHSCH_AMP   1024
#define SCH_AMP   1024
#define MRSCH_AMP   1024
#define ONE_OVER_SQRT2_Q15   23170
#define LOG2_CHSCH_RX_F_AMP   7
#define PLATON_TX_SHIFT   4
#define PERROR_SHIFT   10
#define BIT8_TX_SHIFT   2
#define BIT8_TX_SHIFT_DB   12
#define CHBCH_RSSI_MIN   -75
#define NB_STREAMS_MAX   4
 Maximum number of parallel streams per slot.
#define NB_GROUPS_MAX   16
 Maximum number of frequency groups per slot.
#define NB_CNTL_BYTES_MAX   8
 Maximum number of control bytes per slot.
#define NB_DATA_BYTES_MAX   256
 Maximum number of data bytes per slot.
#define MAX_NUM_TB   32
#define MAX_TB_SIZE_BYTES   128
#define QAM16_n1   20724
 First Amplitude for QAM16 ($ 2^15 \times 2/\sqrt{10}$).
#define QAM16_n2   10362
 Second Amplitude for QAM16 ($ 2^15 \times 1/\sqrt{10}$).
#define QAM64_n1   10112
 First Amplitude for QAM64 ($ 2^14 \times 4/\sqrt{42}$).
#define QAM64_n2   5056
 Second Amplitude for QAM64 ($ 2^14 \times 2/\sqrt{42}$).
#define QAM64_n3   2528
 Third Amplitude for QAM64 ($ 2^14 \times 1/\sqrt{42}$).
#define SACCH_SIZE_BYTES   (sizeof(UL_SACCH_PDU)+4)
 Size of SACCH PDU in Bytes.
#define SACCH_SIZE_BITS   (SACCH_SIZE_BYTES<<3)
 Size of SACCH PDU in Bytes.
#define MAX_SACH_SIZE_BYTES   1024
#define SACH_ERROR   1
#define SACCH_ERROR   2
#define SACH_MISSING   3
#define SACH_PARAM_INVALID   10
#define PHY_RESOURCES_SIZE   sizeof(PHY_RESOURCES)
#define NB_CNX_CH   8
#define NB_RAB_MAX   4

Enumerations

enum  STATUS_RX {
  STATUS_RX_OFF, STATUS_RX_ON, STATUS_RX_SYNCING, STATUS_RX_CANNOT_SYNC,
  STATUS_RX_DATA_PROBLEM, STATUS_RX_LOST_SYNC, STATUS_RX_ABORT, STATUS_RX_TOO_LATE,
  STATUS_RX_CLOCK_STOPPED
}
enum  STATUS_TX {
  STATUS_TX_OFF, STATUS_TX_ON, STATUS_TX_INPUT_CORRUPT, STATUS_TX_ABORT,
  STATUS_TX_TOO_LATE, STATUS_TX_CLOCK_STOPPED
}
enum  MODE { SYNCHED, SYNCHING, NOT_SYNCHED }
enum  SCH_t { CHSCH, SCH }
 SCH Channel Enumerator. More...
enum  CHBCH_RX_t {
  MMSE, MMSE_SIC, ML, ML_SIC,
  SINGLE
}


Generated on Thu May 14 10:34:28 2009 for OPENAIR by  doxygen 1.4.7