支持多通道数据的CIC内插滤波器

支持多通道数据的CIC内插滤波器设计实例演示了怎样使用Altera® CIC MegaCore®功能来实现多个独立数据源的数字采样率上转换。

数字信号处理(DSP)系统通常需要采用多个并行通道进行工作。对于数字数据速率下转换或者上转换应用(如果不同的通道有相同的比率变化要求),没有为每一输入通道复制相同的硬件,而是时分共享低速硬件部分,这增强了对资源的重用。这就是Altera级联积分梳状(CIC)滤波器MegaCore功能多通道工作的概念。

在这一实例中,我们配置了CIC编译器支持多种接口,这样,我们发挥了内插单输入多输出(SIMO)模式能够节省资源的优势。系统总图如图1所示。关于CIC多通道支持的详细信息,请参考CIC编译器用户指南(PDF)。 

图1. 使用SIMO模式的CIC滤波器进行数字上转换实例结构图

特性

这一演示具有以下特性:

  • CIC滤波器经过配置有两个独立接口,以支持并行输入数据通道。这样,对于所有输入通道,CIC滤波器可以时间共享低速数据梳状滤波器部分。
  • Altera有限冲击响应(FIR)编译器经过配置,其反正弦频率响应补偿了CIC滤波器下降。
  • FIR编译器使用多周期可调(MCV)体系结构,重用了乘法器,进一步节省了资源。关于MCV体系结构的详细信息,请参考FIR编译器用户指南(PDF)
  • 提供了一个MATLAB脚本,设计CIC补偿滤波器,供您参考。脚本使用频率采样方法,设计了具有反正弦频率响应的FIR滤波器。为您画出了系统总响应,以验证关键系统规范,例如带通波纹和带阻衰减等。
  • Altera的Avalon®流接口用于将来自多个数据源的数据包数据在MegaCore功能之间进行传送。关于Avalon流接口的详细信息,请参考Avalon流接口规范。
  • 提供了Altera流数据包格式转换器,对多个数据通道正确的进行间插/去间插处理。

模型

设计实例的输入是两个独立的数据源。一个源信号是正弦波,另一个是余弦波。它们的载波频率都是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流接口反压并没有被激活,实际上可以被优化掉。可以看出,没有反压时,功能相同的设计能够以更高的速率工作,使用的资源更少,代价是源信号控制要稍微复杂一些。

下载这一实例中所使用的文件:

这一设计的使用在Altera硬件参考设计许可协议控制下,请遵循这些条款和条件。

参数

表1和表2列出了内插实例所使用的参数设置。

表1. CIC编译器参数

CIC参数

数值

滤波器类型

内插

级数

4

比率变化因子

4

差分延时

2

接口数量

2

每一接口的通道数量

1

输入数据宽度

16

输出数据宽度

16

Hogenauer裁剪

-

输出取整

融合

表2. FIR编译器参数

FIR参数

数值

抽取率规范

2倍内插

输入通道

2

输入位宽

有符号二进制8

输出位宽

全分辨率

系数缩放

器件系列

Stratix® II

结构

MCV

流水线级

2

数据存储

M4K

系数存储

M512

乘法器

DSP模块

每路输出数据的时钟

2

系数输入

来自文件

相关链接

关于在您工程中这一实例所使用的相关特性的详细信息,请访问:

 

设计实例免责声明

这些设计实例只限于用在Altera公司器件上,版权属于Altera。为方便使用,这些设计基于“as-is(原样提供)”的形式提供;因此,任何形式的授权、代理或者担保(无论是明确的,隐含的还是法定的),包括不受限制的使用、商业授权、无侵犯或者适用某一特殊用途等,Altera公司都不予以承诺。Altera公司明确表示不推荐,不建议以及不要求这些设计实例和其他任何非Altera产品一起使用。