The output data on m_axis_dout_tdata is a signed two‑s complement 25‑bit
fixed‑point number for each I and Q component. The fixed‑point format of the output
is Q25.F, where F is the number of fractional bits. The value
of F depends on the input signal format, the LUT coefficient format, and the
OUT_SCALE register setting, as described in the following
table.
| Parameter | Symbol | Description |
|---|---|---|
| Input integer bits | N | Number of integer bits (excluding sign bit) in the input signal
(s_axis_din_tdata). For a Q16.15 formatted
input, N = 0. |
| LUT integer bits | P | Number of integer bits (excluding sign bit) in the LUT coefficient. For Q16.15 formatted LUT values, P = 0. |
| Output scale | S | Value programmed in the OUT_SCALE register (NLF1
offset 0x46, NLF2 offset 0x46). Valid range: 0 to 12. Increasing S
shifts the binary point right, increasing the number of fractional
bits and reducing the integer dynamic range. |
| Output fractional bits | F | F = 18 + S − N − P |
| Output integer bits | I | I = 6 − S + N + P (= 24 − F) |
The output format for a single grid configuration is:
Output format = Q25.F = Q25.(18 + S − N − P)
For a double grid configuration, the output format also depends
on the CASCADE_OUTPUT_BIT_SELECT register (offset 0x06):
| CASCADE_OUTPUT_BIT_SELECT | Operation | Output Format |
|---|---|---|
| 0 | Saturated sum of both NLF block outputs | Q25.(18 + S − N − P) |
| 1 | Floor average of both NLF block outputs | Q25.(17 + S − N − P) |
| Input Format | LUT Format | OUT_SCALE (S) | Output Format (Single Grid) |
|---|---|---|---|
| Q16.15 (N = 0) | Q16.15 (P = 0) | 0 | Q25.18 |
| Q16.15 (N = 0) | Q16.15 (P = 0) | 6 | Q25.24 |
| Q16.15 (N = 0) | Q16.13 (P = 2) | 0 | Q25.16 |
| Q16.15 (N = 0) | Q16.13 (P = 2) | 8 | Q25.24 |
Note: In the Q notation, Q25.F denotes a signed two‑s complement
25‑bit number with F fractional bits. The output is saturated to the full 25‑bit
signed range before it is presented on
m_axis_dout_tdata,
regardless of the value of F. The overflow status is reported on
m_axis_dout_tuser.Note: The
OUT_SCALE register controls the output
dynamic range. Use the co‑simulation environment to select the appropriate
OUT_SCALE value for the target application.