具有多通道数据支持的 CIC 插值滤波器设计示例演示了如何使用 CIC MegaCore 功能为多个独立数据源实施数字采样率上变频。
数字信号处理 (DSP) 系统通常需要使用多个并行通道。对于数字数据速率下变频或上变频应用(如果不同通道具有相同的速率变化要求),无需为每个输入通道复制相同的硬件,低速率硬件部分的时间共享可以提供重要的资源重用。这是级联积分器梳状 (CIC) 滤波器 MegaCore 功能的多通道操作概念。
在此示例中,我们将 CIC 编译器配置为支持多个接口,以便我们可以在单输入多输出 (SIMO) 模式下利用资源节省以进行插值。图 1 展示了整个系统图。有关 CIC 多通道支持的更多信息,请参阅 CIC 编译器用户指南 (PDF)。
特性
本演示具有以下特点:
- CIC 滤波器配置为具有两个独立接口以支持并行输入数据通道。这可以让 CIC 滤波器可以分时所有输入通道的低数据梳状滤波器部分。
- 有限脉冲响应 (FIR) 编译器配置为具有反向 sinc 频率响应,以补偿 CIC 滤波器下垂。
- FIR 编译器使用多周期变量 (MCV) 架构,该架构重用乘法器并提供额外的资源节省。有关 MCV 架构的更多信息,请参阅 FIR 编译器用户指南 (PDF)。
- 我们提供了一个设计 CIC 补偿滤波器的 MATLAB 脚本供您参考。该脚本使用频率采样方法来设计具有反向 sinc 频率响应的 FIR 滤波器。绘制了整体系统响应,以验证关键系统规格,例如通带纹波和阻带衰减。
- Avalon® 流接口用于在 MegaCore 功能之间传输来自多个数据源的数据包数据。有关 Avalon 流接口的更多信息,请参阅 Avalon 流接口规范。
- 包含 Avalon 流数据包格式转换器,以便正确交错/去交错多个数据通道。
模型
设计示例的输入是两个独立的数据源。一个源信号是正弦波,另一个是余弦波。两者的载波频率均为 2.5 MHz。部分输入信号被高频附加噪声所破坏。数据源生成连续数据;因此 Avalon 流接口的 startofpacket 和 endofpacket 信号被配置为指示流数据。
输入数据源每 8 个时钟周期生成一个有效样本,对应于 10 MHz 的等效数据速率和 12.5% 的总线利用率。数据包格式转换器将数据源进行交错,总线利用率翻了一倍。FIR 滤波器排除了 CIC 滤波器来为 CIC 滤波器频率下降提供预处理,并且还额外增加了 2 倍的上采样。其输出总线利用率变为 50%。CIC 滤波器实施了大部分的速率变化,在这种情况下,将采样增加 4 倍。它被配置为具有 SIMO 结构,其中交错输入信号在进入 CIC 滤波器时分时梳状滤波器部分。产生了两个独立的输出接口来分割交错的多通道输入数据。CIC 滤波器输出采样率为 80 MHz,两个输出通道的总线利用率均为 100%。请注意,此上变频链中 Avalon 流接口的背压并未激活,实际上可以对其进行优化。可以证明,在没有背压的情况下,相同的功能设计可以以更复杂的源信号控制为代价,以更高的速度运行,并使用更少的资源。
下载本示例中使用的文件:
该设计的使用受英特尔® 设计示例许可协议中条款和条件的管理和约束。
参数
表 1 和表 2 列出了插值示例中使用的参数设置。