位置:51电子网 » 技术资料 » EDA/PLD

用CPLD实现FIR数字滤波器的设计

发布时间:2007/9/11 0:00:00 访问次数:544

    摘 要:介绍了一种利用ALTERA公司的复杂可编程逻辑器件(CPLD)快速卷积法实现数字滤波器的设计。
    关键词:CPLD 数字滤波器 信号处理


    当前,无论在军事还是民用方面,对于数字信号处理的实时性、快速性的要求越来越高。可编程逻辑器件(PLD)由于在速度和集成度的飞速提高,越来越多的电子系统采用可编程逻辑器件来实现数字滤波。
    Altera公司的FLEX10K是工业界第一个嵌入式的PLD,具有高密度、低成本、低功率等优点。器件的主要结构特点是除主要的逻辑阵列块(LAB)之外,首次采用了嵌入阵列块(EAB)。每个阵列块包含8个逻辑单元(LE)和一个局部互连。一个LE又由四输入查找表(LUT)、一个可编程寄存器和专用的载运和级联功能的信号通道所组成。
    在FLEX10K器件中,把每一组逻辑单元(8个LE)组成一个逻辑阵列块(LAB),所有的逻辑阵列块(LAB)排成行和列。在一行里还包含一个单一的EAB。多个LAB和多个EAB采用快速通道互相连接。
    嵌入式阵列块(EAB)是FLEX10K系列器件在结构设计上的一个重要部件。它是一个输入端口和输出端口都带有寄存器的一种灵活的RAM块,嵌入阵列块(EAB)组成的规模和灵活性对比较多的内存是适宜的。功能包括乘法器、向量的标准和误差矫正电路等。在应用中,这些功能又能够联合完成数字滤波器和微控制器的功能。
    采用可编程的带有只读平台的嵌入阵列块(EAB)在配置期间可执行逻辑功能并建立一个大的查找表(LUT),在这个查找表里用查找的结果执行组合逻辑函数,而不用计算它们。显然,用这种组合逻辑函数执行比通常在逻辑里应用算法执行要快,而且专用EAB容易应用,并且快速提供可能预测的延迟。
    本文介绍了应用Altera 公司的FLEX10K系列CPLD快速完成卷积的方法实现有限冲激响应(FIR)滤波器的设计。


    查表法实现卷积运算方法
    有限冲激响应(FIR)滤波器的基本结构如是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。数学上表示为:
   

    结构如图1所示。它由用一条均匀间隔抽头的延迟线上对抽头信号进行加权求和构成。

    根据上式,可以看出FIR数字滤波器涉及到大量的卷积运算,使用常规硬件实现时会占用大量的资源。通过充分利用FLEX10K系列芯片所具有的查表结构,将卷积运算转化为查表移位求和来实现。例如:对于式

    y = [ x(1) h(1) ]+[ x(2) h(2) ]+[ x(3) h(3) ] + [ x(4) h(4) ] (1)

    假设x和h 都是无符号整型二进制数,宽度两位,取值两位如下:

    h(1)= 01,h(2)= 11 ,h (3)= 10, h(4)= 11
    x(1)= 11,x(2)= 00, x (3)= 10, x(4)= 01
 
    从图2可以看到式(1)运算的实现。中间数据p1(n)中的4个数据实际上是乘数x(n)的最低位比特与h(n)相乘的结果,并且该值不是0就是h(n)。进一步考虑,中间数据p1和p2的值,既“100”和“011”是由不同的h(n)之和构成,而对h(n)的选择是由乘数x(n)的相同位的比特决定的。例如上图x(n)的最低位为1001,则p1的值为h(1) + h(4);其高位为1010,则p1的值为 h (1) + h(3)。因此利用Altera公司FLEX器件中的查找表(LUT)结构,预先将h(n)的各种组合存入查找表,则上例中的原需4次乘法 和3次加法的卷积运算转化为1次加法。图3显示了用查找表实现该例的结构。
    用查表法实现卷积运算时,有并行和串行两种结构。图3中为并行

    摘 要:介绍了一种利用ALTERA公司的复杂可编程逻辑器件(CPLD)快速卷积法实现数字滤波器的设计。
    关键词:CPLD 数字滤波器 信号处理


    当前,无论在军事还是民用方面,对于数字信号处理的实时性、快速性的要求越来越高。可编程逻辑器件(PLD)由于在速度和集成度的飞速提高,越来越多的电子系统采用可编程逻辑器件来实现数字滤波。
    Altera公司的FLEX10K是工业界第一个嵌入式的PLD,具有高密度、低成本、低功率等优点。器件的主要结构特点是除主要的逻辑阵列块(LAB)之外,首次采用了嵌入阵列块(EAB)。每个阵列块包含8个逻辑单元(LE)和一个局部互连。一个LE又由四输入查找表(LUT)、一个可编程寄存器和专用的载运和级联功能的信号通道所组成。
    在FLEX10K器件中,把每一组逻辑单元(8个LE)组成一个逻辑阵列块(LAB),所有的逻辑阵列块(LAB)排成行和列。在一行里还包含一个单一的EAB。多个LAB和多个EAB采用快速通道互相连接。
    嵌入式阵列块(EAB)是FLEX10K系列器件在结构设计上的一个重要部件。它是一个输入端口和输出端口都带有寄存器的一种灵活的RAM块,嵌入阵列块(EAB)组成的规模和灵活性对比较多的内存是适宜的。功能包括乘法器、向量的标准和误差矫正电路等。在应用中,这些功能又能够联合完成数字滤波器和微控制器的功能。
    采用可编程的带有只读平台的嵌入阵列块(EAB)在配置期间可执行逻辑功能并建立一个大的查找表(LUT),在这个查找表里用查找的结果执行组合逻辑函数,而不用计算它们。显然,用这种组合逻辑函数执行比通常在逻辑里应用算法执行要快,而且专用EAB容易应用,并且快速提供可能预测的延迟。
    本文介绍了应用Altera 公司的FLEX10K系列CPLD快速完成卷积的方法实现有限冲激响应(FIR)滤波器的设计。


    查表法实现卷积运算方法
    有限冲激响应(FIR)滤波器的基本结构如是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。数学上表示为:
   

    结构如图1所示。它由用一条均匀间隔抽头的延迟线上对抽头信号进行加权求和构成。

    根据上式,可以看出FIR数字滤波器涉及到大量的卷积运算,使用常规硬件实现时会占用大量的资源。通过充分利用FLEX10K系列芯片所具有的查表结构,将卷积运算转化为查表移位求和来实现。例如:对于式

    y = [ x(1) h(1) ]+[ x(2) h(2) ]+[ x(3) h(3) ] + [ x(4) h(4) ] (1)

    假设x和h 都是无符号整型二进制数,宽度两位,取值两位如下:

    h(1)= 01,h(2)= 11 ,h (3)= 10, h(4)= 11
    x(1)= 11,x(2)= 00, x (3)= 10, x(4)= 01
 
    从图2可以看到式(1)运算的实现。中间数据p1(n)中的4个数据实际上是乘数x(n)的最低位比特与h(n)相乘的结果,并且该值不是0就是h(n)。进一步考虑,中间数据p1和p2的值,既“100”和“011”是由不同的h(n)之和构成,而对h(n)的选择是由乘数x(n)的相同位的比特决定的。例如上图x(n)的最低位为1001,则p1的值为h(1) + h(4);其高位为1010,则p1的值为 h (1) + h(3)。因此利用Altera公司FLEX器件中的查找表(LUT)结构,预先将h(n)的各种组合存入查找表,则上例中的原需4次乘法 和3次加法的卷积运算转化为1次加法。图3显示了用查找表实现该例的结构。
    用查表法实现卷积运算时,有并行和串行两种结构。图3中为并行

相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!