RFSoC应用笔记 - RF数据转换器(8):RFSoC关键配置之RF-DAC内部解析(二)

本文转载自:Vuko-wxh的CSDN博客

前言

RFSoC中最重要的部分是射频直采ADC和DAC的配置,因此了解内部相关原理结构可以帮助我们更好理解相关功能配置参数含义。本文参考官方手册,主要对RF-DAC 奈奎斯特区操作、逆sinc滤波器以及数据通路的相关操作进行介绍。

RF-DAC 奈奎斯特区操作

每个 RF-DAC 都可以通过使用混合模式功能优化其在第二个奈奎斯特区的输出响应。 此功能将 RF-DAC 数据与采样时钟混合,因此增加了第二奈奎斯特区的输出功率,同时衰减了第一奈奎斯特区的输出功率。 如下图所示。

1.png

对于正常(非混合模式)操作,蓝线代表理想的 RF-DAC 输出 roll-off sinc 响应。 可以看出,在这种模式下,第二奈奎斯特区的输出图像将被严重衰减。 一个反 sinc 滤波器可用于补偿此模式下第一奈奎斯特区的滚降。

在 RF-DAC 混合模式下,红线代表理想的 RF-DAC 输出响应。 在这种模式下,第二奈奎斯特区的图像输出功率显着增加,并且在该区域的大部分区域内也具有近似平坦的响应。 奈奎斯特区可以在 Vivado IDE 中设置。 由于 sinc 响应衰减和可能的带宽滚降,通常不使用在高于 2 的奈奎斯特区操作 RF-DAC。

RF-DAC 逆 Sinc 滤波器

RF-DAC 的模拟输出响应遵循特征 sinx/x 或 sinc 形状。 对于需要在宽带宽上具有平坦输出响应的应用,可以使用反 sinc 滤波器来实现这一点。 反 sinc 滤波器是一个 11 抽头 FIR,可提供平坦响应,在高达 89% 的奈奎斯特时纹波小于 ±0.05 dB,或在高达 80% 的奈奎斯特时纹波为 ± 0.033 dB。 下图显示了反 sinc 性能。

2.png

蓝色线代表滤波器本身的频率响应。 可以看出,它随频率增加以补偿输出的 sinc 响应,如红线所示。 复合输出响应由黄色迹线给出,并显示高达 89% 奈奎斯特的平坦通带。 下图显示了校正响应的详细信息,纹波规格水平以红色突出显示。

3.png

反 Sinc 滤波器参数

4.JPG用于混合模式的反 Sinc 滤波器(第 3 代)

除了用于第一个 Nyquist 频段的反 Sinc 滤波器外,当 RF-DAC 在混合模式下运行时,也可以为第二个 Nyquist 频段提供一个反 Sinc 滤波器。 这是一个具有 9 个抽头的半带滤波器,在 80% 奈奎斯特频带内,平坦度 < ±0.033 dB。

混合模式的反 sinc 滤波器的系数和频率响应如下所示。 N(bit) 是系数的位宽; 用于归一化系数。

N(bit) = 10
Center Tap: 1066
First Half: 5,0,25,1

5.png

第二奈奎斯特频带中的反sinc滤波器的平坦度如下所示。

6.png

溢出

从反正弦频率响应中可以看出,滤波器增益 >1。 为确保滤波器输出不会溢出,必须回退输入信号幅度以考虑此增益因子。 反 sinc 模块具有自动溢出检测和饱和,如果检测到溢出,则使用 RFdc 驱动程序 API 的中断机制,使用 XRFDC_DAC_IXR_INVSNC_OF_MASK 中断对其进行标记。

RF-DAC 数字数据通路

tile 中的每个 RF-DAC 都具有许多优化的 DSP 功能,可用于实现数字上变频 (DUC) 和传输信号滤波。 这些功能包括:

  • Gen 1/Gen 2:信号插值功能——支持 1(旁路)、2、4 或 8 插值。

  • Gen 3:信号插值功能——支持插值1(旁路)、2、3、4、5、6、8、12、16、20、24、40和80(IMR模式)。

  • 使用 48 位频率分辨率数控振荡器 (NCO) 进行粗混(四分之一和半速率)或精混。

  • 补偿功能包含正交调制器校正 (QMC) 块和粗延迟调整块。

  • 包含逆正弦 FIR 滤波器的信号调理。

使用 Vivado IDE,可以使用或绕过单个、多个或所有 DSP 功能。下图显示了 RF-DAC 中的可用功能。 以下部分介绍了每个功能。

7.png

RF-DAC 插值滤波器(第 1 代/第 2 代)

需要插值滤波器来实现 DUC 过程的上采样和滤波部分。 实现的滤波器操作由三个低通 FIR 滤波器组成,每个滤波器都有一组预定的固定系数,如下图所示。 每个过滤器块可以被绕过,每个过滤器块的输出可以被路由到过滤器的输出。

  • 1x - 绕过所有滤波器级

  • 2x - 使用单级插值

  • 4x - 使用两级插值

  • 8x - 使用所有三个可用级插值

8.png

插值信号的输出是在较高采样率下呈现的原始信号的精确表示。 将在 F1 采样的信号上采样到更高的采样率 (N*F1) 会导致原始频谱的 N 次复制。 结果的低通滤波有助于去除不需要的复制,从而以所需的更高采样率保存原始信号。

插值滤波器操作模式(第 1 代/第 2 代)

9.JPG考虑到 FIR 滤波器的阶跃响应,每个滤波器级都可能溢出,尤其是在输入有满量程数据时。 每个滤波器级都有一个溢出状态信号和输出饱和,以检测溢出并保护数据通路。 当不使用过滤级时,溢出标志被拉低。 这些标志连接到数据路径中断机制。

插值滤波器使用

IP 核用于设置插值率。 这是一个 IP 内核设置,因为随着 PL 带宽的变化,改变插值率会直接影响物理接口。 启用的过滤器如下图所示。

10.png

I/Q 输入数据和混合至少需要 2 倍插值。 如果需要全带宽 I/Q 数据,两个 RF-DAC 数据转换器可以作为独立的实际流运行,分别包含 I 和 Q 数据。 使用 QMC 时无法进行相位调整。

RFdc 驱动程序 API 命令

RFdc 驱动程序 API 可用于使用以下代码获取在 Vivado® IDE 中设置的插值速率。

// Get Interpolation factor for Tile0, DUC Block1
int Tile = 0;
u32 Block = 1;
u32 Interpolation_Factor;
if( XRFdc_GetInterpolationFactor (ptr, Tile, Block, &Interpolation_Factor) == XST_SUCCESS) {
	xil_printf("DAC Tile%1d,%1d Interpolation Factor is: %d", Tile, Block,Interpolation_Factor);
}

插值滤波器详细信息(第 1 代/第 2 代)

插值滤波器链由三个 FIR 滤波器 FIR2、FIR1 和 FIR0 组成,可以启用它们以每级以两倍的因子连续插值。 滤波器传递函数如下图所示。

11.png12.png13.png

插值滤波器的滤波器系数如下表所示。

14.JPG

内插滤波器链可以在实数或 I/Q 模式下运行,具体取决于为 RF-DAC 接口选择的数据类型。

RF-DAC 插值滤波器(第 3 代)

下图显示了第 3 代中的插值滤波器级。

15.png

有四级插值滤波器级联; 每个插值阶段都可以独立绕过。 FIR1 级包含三个插值滤波器 - FIR1a (2x)、FIR1b (3x) 和 FIR1c (5x) - 对于指定的配置,只能启用其中一个。 FIR2、FIR3 和 FIR4 模块的插值因子均为 2。使用滤波器组合,以下列表显示了所有可能的插值因子:

1x(旁路)、2x、3x、4x、5x、6x、8x、10x、12x , 16 倍, 20 倍, 24 倍, 40 倍

插值滤波器详细信息(第 3 代)

以下显示了所有插值滤波器的系数和频率响应图; 这些都是半带滤波器,所以只列出了中心抽头值和前半部分。 N(bit) 是系数的位宽; 用于归一化系数。

DUC FIR 1a 系数:

16.png

DUC FIR 1b 系数:

17.png18.png

DUC FOR 1c 系数:

19.png

20.png

21.png

23.png

RF-DAC 数控振荡器和混频器

混频器功能有旁路(不混频)、粗混或细混三种模式。 精细混频自动启用用于生成载波频率的 NCO。 混频器支持完全正交混频,同时支持实数到 I/Q 和 I/Q 到 I/Q 模式。

24.png

粗调混合器:

  • 粗调混合器允许将数据与 0、Fs/2、Fs/4 或 –Fs/4 的载波混合。选择 0 仅在使用 RFdc 驱动程序 API 时可用。

  • 使用 0 载波进行混音会绕过混音器组件。

精细混频器:

  • 精细混频器允许数据在频率上任意上移或下移。

  • 频移量是通过对NCO 中产生的混频器频率进行编程来获得的。 精细混频器还支持 18 位相位调整。

  • 可以对NCO 进行编程以输出NCO 频率(Fc) 的cos、-cos、sin 或-sin。根据当前混频器模式选择 NCO 输出。

25.png

选择负正交时,Q 输入反相。

  • NCO 阶段可以使用 XRFdc_UpdateEvent 在图块内同步。

  • NCO 相位可以使用外部事件信号(SYSREF 或 MARKER)跨图块同步。

  • 为管理潜在的溢出,精细混频器输出包括 3 dBV 衰减,如上图所示。 无论 RFdc 驱动程序 API 中的 RF-DAC 设置如何,此衰减都设置为 -3 dBV(倍增因子 = 0.707)。 手动选择也是可能的,允许 0 dBV 或 -3 dBV。

混频器设置可以在内核中配置,或者使用 RFdc 驱动 API。 内核用于设置初始混频器设置(例如,混频器类型和混频器模式),RFdc 驱动 API 用于在运行时调整设置。 RFdc 驱动程序 API 和内核都根据提供的采样率和所需频率计算所需的寄存器设置。

(仅限第 3 代)启用 IMR 插值级 (x2) 时,NCO 的采样率 (Fs) 是 DAC 采样率的一半。

reference

PG269

最新文章

最新文章