The following diagram shows the structure of the updated dynamic configuration packet.
The fields of the dynamic configuration packet v2.0 are detailed in the following table.
Field Name | Bits | Definition |
---|---|---|
RCID | 4 | RACH channel identifier (0-15). Must correspond to an enabled RACH channel. |
CCID | 4 | Component carrier identifier (0-15) from which to extract the RACH channel. |
Band | 2 | Band containing the CCID from which to extract the RACH channel. |
Decimation | 4 | Decimation setting for this PRACH capture. |
subFrameID | 4 | Subframe number for start of capture (0-9). |
slotID | 4 | Slot number for start of capture (0-7 depending on sub-carrier spacing, as described in static scheduling section above). |
Length | 6 | Duration of dynamic capture in slots. The PRACH capture will be of "length" slots. Length == 0 should not be used. |
frameStructure | 8 | The frameStructure, in conjunction with the CCID
configuration, determines the decimation rate applied to the PRACH
capture. Bits [7:4] determine the target FFT size for the captured output. Bits [3.0] determine the PRACH sub-carrier spacing (SCS). Refer to Table 3 and Table 4 for full details. Note: No
longer used by the DFE PRACH core, but might be required for the PRACH FFT
processing.
|
Preamble Control | 2 | This field can be set when PRACH channels are
adjacent in frequency domain. This reduces the total decimation applied
to the channel by a factor of 2x, 4x, or 8x.This alters the frequency
offset (if used) to calculate the center of adjacent preambles rather
than in the middle of a single preamble Note: No longer used by the DFE PRACH core, but might be required for the
PRACH FFT processing.
|
numSymb |
4 | numSymb is the number of FFTs required by the
dynamic capture. The core captures sufficient samples to drive numSym+1
FFTs, each of the length given by frameStructure[3:0]. The field is
diminished so a value of "0" capture 1 FFT, "1" captures 2 etc. Note: No longer used by the
DFE PRACH core, but
might be required by the FT PRACH.
|
cpLength | 17 | Cyclic prefix length. Note: No longer used by the DFE PRACH core, but might be required for the
PRACH FFT processing.
|
timeOffset | 17 | Time offset of PRACH from capture start
position. Note: Not used by the DFE PRACH core, but might be required for the
PRACH FFT processing.
|
FCW | 32 | Frequency Control Word. This sets the NCO phase increment applied per sample. |
SingleModCount | 32 | Dual Modulus settings allow precise control of the NCO frequency. The ratio of single mod could to dual mod count create a fractional phase increment. The single mod count sets the number of samples which use an increment of FCW. Setting Single mod count to 0 will apply FCW to all increments. |
DualModCount | 32 | The dual mod count sets the number of samples which use an increment of FCW+1. The NCO will apply "single mod count" increments of FCW followed by "dual mod count" of FCW+1. |
The decimation field sets the total decimation experienced by the CC samples during the PRACH capture. This value should match the values described in Table 1 table. If two or more frequency adjacent PRACH channels are extracted, the decimation rate must be scaled down accordingly. Any selected decimation rate must be chosen from the values defined in the following table.
Decimation | Selected Decimation Rate |
---|---|
0001 | 2X |
0010 | 4x |
0011 | 8X |
0100 | 16X |
0101 | 32X |
1000 | 3X |
1001 | 6X |
1010 | 12X |
1011 | 24X |
1100 | 48X |
1101 | 96X |
0000 | Reserved |
0110-0111 | Reserved |
1110-1111 | Reserved |
Bits [7:4] of the frameStructure field in the dynamic control packet are interpreted according to the following table:
frameStructure[7:4] | PRACH FFT Size |
---|---|
0000 | Reserved (no PRACH FFT processing) |
0001...0110 | Reserved |
0111 | 128 |
1000 | 256 |
1001 | 512 |
1010 | 1024 |
1011 | 2048 |
1100 | 4096 |
1101 | 1536 |
1110, 1111 | Reserved |
Bits [3:0] of the frameStructure field in the dynamic control packet are interpreted according to the following table:
frameStructure[3:0] | PRACH Subcarrier Spacing Δf |
---|---|
0000 | 15 kHz |
0001 | 30 kHz |
0010 | 60 kHz |
0011 | 120 kHz |
0100...1011 | Reserved |
1100 | 1.25 kHz |
1101 | Reserved |
1110 | 5 kHz |
1111 | 7.5 kHz (LTE only) |
The RACH channel ID and component carrier ID in the dynamic
configuration packet must match valid RCIDs and CCIDs in the current configuration. The
procedure for adding CCs and RACH channels when using dynamic scheduling is identical
the method already described for static scheduling, except that some of the arguments
passed to XDfePrach_AddRCCfg
and XDfePrach_UpdateRCCfg
are ignored when using dynamic
scheduling. In particular:
- The contents of the
XDfePrach_Schedule
structure are not used; - The
DecimationRate
andSCS
members of theXDfePrach_DDCCfg
structure are not used; - The
Frequency
member of theXDfePrach_NCO
structure are not used.
These settings are overridden by the values provided in the dynamic configuration packet.
Frequency
The Dynamic Control Packet allows direct control of the demodulation frequency used in the core. This is achieved by specifying how the phase accumulates, per sample, for the internal NCO.
The three fields in the new DCP are all concerned with setting the NCO phase accumulator. The NCO Configuration section describes how these three fields combine to create an approximation of a fractional phase accumulation. They are:
- FCW
- This specifies how much the NCO phase accumulator will increment by at every sample.
- Single Mod Count (S)
- This specifies the number of times the phase accumulator will increment by FCW.
- Dual Mod count (T-S)
- This specifies how many times the phase accumulator will increment by FCW+1.
Dual Mod count and Single mod count allow fractional phase increments to be specified. If the desired frequency FCWIdeal can be represented as an integer value plus rational fraction (FCW + (T-S)/T), then T samples of FCWIdeal:
So the dual mod fields provide a way to specify an FCW with a rational fractional increment, which has zero phase drift over T samples.
To convert to this from the legacy DCP, the first step is to calculate the desired frequency. This is given by:
Where the SCSPRACH value forms part of the FrameStructure field in the legacy packet.
Depending upon the mode of operation, it may be desired to add an "offset" to the desired frequency. This is to take account of the fact that the frequencyOffset in the legacy DCP can specify the "center" or "bottom" frequency (see Calculating Frequency Offset). The new DCP should always specify the center of the band that is being demodulated, so any offsetting must be included.
When the desired frequency is known, if can be used to calculate FCW:
Where fsample is the sample rate of the component carrier that the PRACH is being extracted from.
If FCWideal is an integer value it can be applied directly to FCW, and Single Mod Count and Dual Mod Count should be set to 0.
If it is not an integer value, floor (FCW) should be set in field FCW. The values S and T should be calculated from the fractional part and used to set Single Mod Count and Dual Mod Count. For the supported PRACH formats, any non-integer FCWideal will have a fractional part equal to 1/3 (Single Mod Count=2 and Dual Mod Count=1) or 2/3(Single Mod Count=1 and Dual Mod Count=2).