XDfePrach_NCO - XDfePrach_NCO - 2.0 English - PG391

RFSoC DFE PRACH LogiCORE IP Product Guide (PG391)

Document ID
PG391
Release Date
2025-11-26
Version
2.0 English
NCO Configuration Structure.

Declaration

typedef struct
{
  u32 PhaseOffset;
  u32 PhaseAcc;
  u32 DualModCount;
  u32 DualModSel;
  s32 UserFreq;
  s32 Frequency;
  u32 FreqSingleModCount;
  u32 FreqDualModCount;
  u32 FreqPhaseOffset;
  u32 NcoGain;
} XDfePrach_NCO;
Table 1. Structure XDfePrach_NCO Member Description
Member Description
PhaseOffset [0-2^18-1] Phase offset value which can be applied to the NCO phase accumulator
PhaseAcc [0-2^32-1] Initial Phase accumulator value, used to set the NCO phase accumualtor to a specific phase when a capture is initiated on the channel.

This is the value the internal phase accumulator will start on when a capture begins.

DualModCount [0-2^32-1] The phase accumulator allows for dual modulus accumulation to create fractional frequencies.

This requires an internal Modulus counter, which tracks the number of samples at FCW and the number at "FCW+1". This field allows the value of that counter to be initialized when a capture begins.

DualModSel [0,1] The Modulus counter can either be in the "Single Mod" part of the count, where the phase accumulator increments by FCW; Or in the "Dual Mod", where the phase increments by "FCW+1".

This Initialization field determines which of the two counts the Modulus counter begins in when the capture begins. 0 starts in Single Mod Count and 1 starts in Dual Mod.

UserFreq [-(2^23)-2^23] User defined frequency in half PRACH channel RE.

UserFreq should be set equal to the PRACH channel center frequency.

Frequency [0-2^32-1] Frequency control word (FCW).

The FCW value that determines how much the phase accumulator increases by on each sample. This value is not used by the API when operating in Dynamic mode. It is supplied directly by the FCW field in the DCP.

FreqSingleModCount [0-2^32-1] Single modulus cycle count (S).

Determines how many samples the Modulus counter spends in the Single Mod count, where the phase increments by FCW. If this is set to 0, FreqDualModCount is ignored and the phase always increments by FCW. This value is not used by the API when operating in Dynamic mode. It is supplied directly by the SingleModCount field in the DCP.

FreqDualModCount [0-2^32-1] Dual modulus cycle count (T-S).

Determines how many samples the Modulus counter spends in the Dual Mod count, where the phase increments by FCW+1. This value is not used by the API when operating in Dynamic mode. It is supplied directly by the DualModCount field in the DCP.

FreqPhaseOffset [0-2^18-1] Phase offset
NcoGain [0-3] Scaling of NCO output (0=0dB, 1=-3dB, 2=-6dB, 3=-9dB)