基于中档FPGA多相滤波器的设计实现

发布者:雅致书香最新更新时间:2011-04-09 来源: elecfans关键字:FPGA  多相滤波器 手机看文章 扫描二维码
随时随地手机看文章
    在现代电子系统中,到处都可以看到数字信号处理( DSP )的应用,从MP3播放器、数码相机到手机。DSP设计人员的工具箱的支柱之一是有限脉冲响应( FIR )滤波器。FIR滤波器越长(有大量的抽头),滤波器的响应越好。然而这里有折衷的情况,由于大量的抽头增加了对逻辑的需求、增加了计算的复杂性,增加了功耗,以及可能引起饱和/溢出。

  多相技术可以用于实现滤波器,拥有与传统FIR滤波器可比的结果,而且使用了较少的逻辑、需要较少的计算资源、更低的功耗,并减少了可能的饱和/溢出。可用如今新型的小规模、中档的FPGA,如LatticeECP3 来实现这些滤波器。

  基本概念

  进入DSP世界可能会有些令人生畏,因此,让我们首先介绍一些简单的概念。对于数字系统,如音频,视频和无线领域,形成信号的结果是与采样率相关的。举例来说,以48 kHz(即每秒48000个样本)对专业音频信号进行采样。相比之下,消费者的CD播放机则使用44.1 kHz的采样率。

  多速率系统

  多速率系统使用多个采样速率。在某些情况下,运行于某个速率的系统的一部分需要一个原来以另外某个速率采样的信号(转换专业音频到消费者的CD音频就是一个例子)。在这种情况下,原始信号的速率必须根据需要增加或减少。

  或者针对特定的用途,也可能以比实际需要更高的速率对原来的数据进行了采样。因此,降低采样率,然后运行所得到的数据就可以大幅度降低数据吞吐量的要求,降低对存储器的要求,提高处理效率并降低功耗。

  向下采样和抽取

  让我们首先考虑降低采样率的问题。假设我们有一个信号,原来以我们称之为fHz的某一频率进行采样,如如图1所示。

  


  图1 用f Hz采样率对原始信号采样

  现在假设我们要降低采样率至原来频率的1/4。达到此目的一个方法来就是简单地扔掉每四个原始采样中的三个,如图2所示。

  

  图2 用1/4 f Hz采样率得到新的信号

  在数字信号处理中, “混叠现象”是指采样时造成不同的连续信号彼此难以区分的情况,它们互相“混叠”。 混叠现象也称为失真,或赝品,即源于采样重构的信号不同于原来的连续信号。

  如果我们丢弃了如上文所讨论的一些样本,由此得到的信号会含有混叠现象的赝品。作为一个简单的例子,考虑一个音频信号,可能含有人耳听不见的高频分量的乐曲。如果我们以过低的速率对这个信号采样(当我们丢弃一些样本时,实际上是我们正在做的事情),然后用数字模拟转换器重构这个乐曲,我们可以听到欠采样高频分量的低频混叠。

  为了避免这种情况,常见的做法是在丢弃不想要的样本之前,用低通滤波器去除不要的高频,如图3所示。

  

  图3 在丢弃任何样本前对这个信号进行滤波

  一般而言, “向下采样”只是指丢弃样本的处理而不执行滤波的操作。相比之下, “抽取”指的是降低采样率的整个过程,即执行滤波操作,然后丢弃样本。实际上, “向下采样” 、“下变频”和“抽取”往往交替使用。

  “抽取因子”是指输入采样率与输出采样率之比。通常用字母M来表示。在上面的例子中,输入速率是输出速率的4倍,所以M=4。

  向上采样和内插

  现在考虑的情况是,我们希望提高采样率。这样做的原因是为了使系统的另一部分与信号运行在更高的采样速率。假设我们从一个信号开始,即原来以我们称为fHz的某个频率进行采样的信号,如图4所示。

  

  图4 采样率为f Hz的原始信号

  现在假设我们要增加采样率为原来频率的4倍。我们开始在原始样本之间插入零值样本,以提高采样率,如图5所示。

  

  图5 用零值样本对原始信号进行扩充

  但现在有一个问题,因为新的零值样品添加了不要的频谱分量至信号。为了解决此问题,我们对这个新的信号进行了滤波,除去了不想要的分量,产生了更合适的采样值,如图6所示。

  

  图6采样率为4倍 fHz的最终信号

  从技术上讲, “ 向上采样 ”只是指插入零值样本的过程。相比之下, “内插”指的是增加采样率的整个过程,即插入零值样本,然后进行滤波操作1。实际上, “向上采样 ”、“向上转换”和“内插”往往交替使用。

  “内插因子”指的是输出采样率对输入采样率的比例。这通常用字母L来表示。在上面的例子中,输出速率4倍于输入速率,因此,L = 4 。这个过程的图形说明参见图7。

  

  图7 插入零值样本后对这个信号进行滤波

  重采样

  前面的讨论中,应该指出的是,抽取和内插因子可以假设为只有整数值。也就是说,我们只可以抽取或内插整数因子,而不是分数因子。例如,如果进行抽取,我们只能丢弃整数的样本(2个中的1个、3个中的1个、3个中的2个、3个4个中的3个,等等)。

  假设我们要修改信号的采样率,以便在两个子系统之间进行接口。如果子系统的采样率的比率是一个整数值,那么我们只需要执行抽取或内插。但是,如果采样率的比率是一个分数值,那么我们需要进行抽取和内插的组合,这样的过程称之为重采样。

  例如,如果用2.5因子进行重采样,首先我们用插值因子为5 ,然后用抽取因子2产生输出对输入采样率为5/2 = 2.5的采样率,如图8所示。

  

  图8 重采样(L= 5、M= 2 )

  在实践中,如图8所示的内插和抽取滤波器将组合在一起。术语“重采样因子”是指输出采样率和输入采样率之间的比例。不考虑涉及的频率,这可以表示为内插和抽取因子L/M之间的比例,在上面的例子中就是5/2 = 2.5。

  作为另一个例子,考虑重采样专业音频信号的过程,采样率为48千赫,对于消费者的音频设备,需要的采样率为44.1千赫。在这种情况下,重采样因子等于输出速率对输入速率之比: 44.1 kHz /48 kHz = 0.91875 。

  看看另一种方法,采样速率必须由48,000Hz改变到44100Hz,这意味着输入输出比为44100/48,000 = = 441 / 480 = 147 / 160。由于在147和160中没有公共的因子,我们只好就此止步,这意味着我们需要的内插因子为147 ,然后抽取因子为160,如图9所示。

  

  图9 对商业音频重采样(L= 147、M= 160 )

  再次说明,重采样因子可表示为内插和抽取因子L/M之间的比例,就是147/160 =0.91875 。毫不意外,这正是我们得到的与输入和输出采样率的比例完全相同的值,因为所需的内插和抽取因子源于这些比率。

  介绍FIR滤波器

  有两种基本类型的数字滤波器:有限脉冲响应( FIR )和无限脉冲响应( IIR)。

  IIR滤波器使用反馈,而且往往是模仿传统的模拟滤波器的响应。反馈的用途意味着他们的脉冲响应是递归的,并延伸到无限的时段。虽然可以用比FIR滤波器更少的计算来实施IIR滤波器,IIR滤波器可能有稳定性的问题,他们可能与用FIR滤波器完成的性能不匹配。

  相比之下, FIR滤波器没有反馈,这意味着它的脉冲响应在一个有限的时间范围之内。 FIR滤波器拥有优于IIR滤波器的几个优点,其中包括一个事实,即在整个频谱范围,他们有完全恒定的群时延,在所有频率范围内,不论滤波器的大小,他们是完全稳定的。

  通用FIR滤波器的图形表示如图10所示。在这种情况下,输入样本xn通过一系列的缓冲寄存器(这些都标记为z-1,对应延时单元的Z变换)。

  

  图10 经典FIR滤波器的通用表示

  滤波器的工作原理是用一系列的常数(称为抽头系数)乘以一系列最新的n个数据采样,并对所得到的数组的单元进行求和。通过改变系数和滤波器抽头数目的加权(值),FIR滤波器实际上可实现几乎任何所需的频率响应特性。

  问题是FIR滤波器可能需要大量的抽头(有时数百个),以实现其预定的目标。每一个抽头需要消耗逻辑资源的乘法器累加器( Mac )单元。另外在每个时钟,每个抽头执行消耗功率2的乘法和加操作。

  用多相FIR滤波器进行抽取

  多相滤波器的基本概念是把FIR滤波器分割成若干较小的单元,然后组合这些单元的结果。首先,让我们考虑一个基于常规8抽头FIR滤波器的抽取子系统的符号表示,如图11所示(为了使用这些例子,我们假设抽取因子为M = 4 )。

  

  图11 基于传统的8抽头FIR滤波器的抽取器的符号表示

  现在让我们假设主时钟正在以某一频率fHz运行。像往常一样,在滤波操作之后任何不要的样本将被丢弃,但这样做是低效率的,因为这意味着是以完全的时钟频率在进行滤波。用另一种方式来看这种操作,即在每个时钟时刻,每个抽头级执行乘法和加运算。

  相比多相实现的情况,我们可以将原来的8抽头FIR滤波器分为四个2抽头子滤波器,如图12所示。

  

  图12 基于4 × 2抽头多相滤波器的抽取器的符号表示

  假设同样的主时钟以f Hz的频率运行,我们可以想象输入数据流被送入一个旋转开关(当然,这可用标准的逻辑技术来实现)。第一个数据值送入第一个子滤波器;第二个数据值送入第二个子滤波器;第三个数据值送入第三个子滤波器;第四个数据值送入第四个子滤波器。然后,我们进行“循环”操作,以便第五个数据值送入第一个子滤波器;第六个数据值送入第二个子滤波器;等等。

  使用子滤波器减少了可能的饱和/溢出(发生任何饱和/溢出通常只需要在最后的函数求和时进行处理)。另外,使用子滤波器具有一个直接有效的优点,因为在执行滤波操作之前,我们有效地“抽取”了数据。这也意味着,我们的四个子滤波器中的每个都能有效地以F ÷ 4Hz的频率运行,如图13所示。

  

  图13 4 × 2抽头多相滤波器的运行情况

  除了任何寄存器和一般用途的逻辑,常规8抽头FIR滤波器中的每个抽头包含一个乘法器和一个加法器,当然为我们提供了总共8个乘法器和8个加法器。滤波器之后需要一些额外的逻辑,以便丢弃任何不想要的样本。

  同样,在我们最初的4 × 2抽头多相实现中的每一个抽头含有一个乘法器和一个加法器,再次为我们提供了总共8个乘法器和8个加法器。在多相实现中,需要实现“旋转开关”送入滤波器的逻辑数量大约相当于在常规8抽头FIR滤波器中丢弃不要的样本所需的逻辑。

  当然,多相实现还需要一些额外的逻辑和一个加法器累加来自四个子滤波器的结果。因此,最终的结果是,最初的多相实现需要比传统的8抽头FIR滤波器更多一点的逻辑。

  然而,对于传统的8位FIR滤波器,在每个时钟都要执行8次乘和8次加。相比最初的多相实现的情况,在任何主时钟时刻,只有一个子滤波器是工作的。由于在这个例子中每个子滤波器含有两个抽头,这意味着这个功能的滤波器部分在每个时钟只进行两次乘法和两次加法。

  当然,从四个子滤波器收集结果的求和功能还必须在每个主时钟进行加(在每4时钟周期开始时,这个累加器清零;它从四个子滤波器收集结果; 在每4时钟周期结束时,它产生一个新的值)。

  这意味着,最初的多相实现的每个子滤波器有效地以常规8抽头FIR滤波器1/ 4的频率运行。反过来,这意味着最初多相实现只在每个主时钟进行两次乘法和三次加法(包括加法器的加操作),从而大大节省了功耗。

  此外,在最初的多相实现中,由于四个子滤波器的每个只用了1/4的时间,这意味着在任何特定时间,我们实际上只需要其中的一个,这使我们更加完善了实现方法,如图14所示。

  

  图14 更完善的基于多相滤波器的抽取器实现方案

  在这种情况下,我们采用了单一的2抽头子滤波器,每个抽头含有乘法器和加法器。在每个主时钟,我们选择合适的系数对。每一个抽头需要额外的寄存器和用于维护的逻辑,但与减少的乘法器和加法器相比,与我们的最初多相实现相比,这是微不足道的。

  当然,在我们原来的多相实现中,我们仍然要在每个主时钟时刻执行两次乘法和三次加法,。这些抽取实现例子的总结如表1所示。

  表1抽取实现实例的总结

  

  利用多相FIR滤波器进行内插

  现在让我们来考虑内插的情况。首先让我们先考虑一个基于常规8抽头FIR滤波器的内插子系统的符号表示,如图15所示。

  

  图15传统的基于8抽头FIR滤波器的内插器的符号表示

  针对这些例子的用途,我们假设内插因子为L = 4,主时钟频率为FHz。正如先前所讨论的,向上采样(插入零值样本的过程)发生在滤波操作之前。

  现在让我们来考虑一个最初的多相实现,我们原来的8抽头FIR滤波器被分成四个2 抽头子滤波器,如图16所示。

  

  图16 基于4 × 2抽头多相滤波器的内插器的符号表示

  在这种情况下,相同的输入数据流面向所有的四个子滤波器,在子滤波器输出之间轮流产生主输出数据流。最终的结果是,多相实现含有如同我们的常规8抽头FIR滤波器相同数量的乘法器和加法器。然而,因为在内插之前进行了滤波,子滤波器只需要以1 / 4的主时钟频率运行,从而大大节省了功耗(这里主时钟用于子滤波器输出之间的采样)。

  此外,多相实现不需要向上采样(零值插入)的逻辑。当然,我们可以用完全运行于主时钟频率和复用系数的单个2抽头子滤波器取代原来的多相滤波器实现。

  内插实现的这些例子的总结见表2 。

  表2内插实现实例的总结

  

  总结

  DSP设计人员的工具箱的支柱之一是有限脉冲响应( FIR )滤波器。FIR滤波器越长(有大量的抽头),滤波器的响应越好。但是更多的抽头增加了逻辑要求、增加了计算的复杂性,增加了功耗,以及有更大可能的饱和/溢出。

  多相技术3可用于实现滤波器,提供可比较的结果,而使用较少的逻辑,需要更少的计算资源、消耗更低的功率,并减少了可能的饱和/溢出。

  所有这一切都意味着,多相基于滤波器的抽取器、内插器和重采样功能是非常适合用更小的中档FPGA来实现,如Lattice半导体公司的拥有SERDES功能的LatticeECP3系列,它具有高性能的sysDSP模块。它的特点是有dual-slice结构,具有级联/链接DSP slice和模块的功能,增强的DSP指令集使LatticeECP3系列能够引人注目地用于范围广泛的数字信号处理的应用,包括那些需要传统的FIR和基于多相的滤波功能。

关键字:FPGA  多相滤波器 引用地址:基于中档FPGA多相滤波器的设计实现

上一篇:基于SERDES收发器和CPRI的电信系统低延迟变化设计
下一篇:基于FPGA和DDS技术的软件无线电可控数字调制器的

推荐阅读最新更新时间:2024-05-02 21:20

Enclustra瑞苏盈科FPGA核心板在无线电视系统中的应用
无线电视系统的设计依赖于一些关键的技术和构建模块。FPGA(现场可编程门阵列)技术可以在无线电视应用中发挥重要作用,特别是在数字电视信号的传输和接收方面。 LiveTools Technology SA LiveTools Technology SA是一家成立于1997年的瑞士公司(之前名为Broadcast Services),在全球无线电视制作服务方面有着广泛的背景。它为电视信号传输链接提供了SoloRX紧凑型软件无线电接收器。 Enclustra(瑞苏盈科)于今年举办的EmbeddedWorld2003嵌入式展上,很荣幸邀请到来自瑞士的LiveTools,并展示了他们一款基于Enclustra ZX1 核心板所
[嵌入式]
Enclustra瑞苏盈科<font color='red'>FPGA</font>核心板在无线电视系统中的应用
基于FPGA和USB接口的验光仪控制系统设计方案
  1.引言   近些年来,近视已经严重影响了人们的健康。为了准确的了解近视患者眼睛的近视程度,为近视者配出更加合适的眼镜,验光仪器成为了眼镜零售行业必不可少的设备。目前市场上主流电脑验光仪并不能完全实现验光过程的自动化,问题主要表现在以下三个方面:   ①定位速度慢;②定位精度差;③自动化水平低.   为了解决以上问题,本设计对原有的电脑验光仪进行了改进,采用运行速率快,稳定性高的FPGA控制步进电机驱动芯片,实现了验光仪的三轴联动;运用行程开关实现了极点间的自动往返。为了保护电路安全,设计了板间的光电隔离电路;并且采用先进的USB技术使电脑和设备进行通信,增加了数据的传输率,提高了设备的可控性.   2.系统硬件整体设计   
[电源管理]
基于<font color='red'>FPGA</font>和USB接口的验光仪控制系统设计方案
Magna Electronics选用Actel ProASIC3 FPGA实现汽车视觉系统
低功耗单芯片FPGA技术为辅助驾驶应用提供高质量和可靠性 Actel 公司宣布Magna Electronics公司已选用Actel的 ProASIC3现场可编程门阵列 (FPGA) 来设计汽车视觉系统,为空间受限的汽车应用提供了低功耗、小封装,并且兼具高可靠性的解决方案。低功耗率的单芯片ProASIC3 FPGA能满足空间极度受约束且通风受限的应用要求。此外,这种高度集成的解决方案还可有效降低开发高级辅助驾驶系统的成本。 Magna Electronics副总裁兼总经理Fran?ois Truc 表示:“在提供消费者迫切需求的辅助驾驶系统技术时,我们需要具有先进精密功能,而外形尺寸又非常小的高可靠性元件。由于这些系统尺寸很小
[焦点新闻]
自顶向下基于DSP Builder的PID控制系统开发
在控制领域中,PID控制足最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。此外,随着控制理论的发展,专家系统、模糊逻辑、神经网络、灰色系统理论和传统的PID控制策略相结合又派生出各种新型的PID类控制器,形成庞大的PID家族,很多算法大大改进了传统P1D控制器的性能。然而,这些算法在工业中的实际应用范围却远远落后于传统PID算法,其中一个原因就足传统的单片机加分立元件构成的工业控制系统在实施更新更复杂的算法时,算法的复杂性或使得系统硬件设计调试更加复杂,或使得单片机内软件代码行增多,延时加大,开发周期变长。稳定性和可靠性在新系统设计时成为不能忽视的一个问题。 而近年来,微电子技术的迅速发
[工业控制]
嵌入式视觉应用前景明朗 汽车市场最有潜力
嵌入式视觉技术不再局限于高度专业化的应用,它在各类市场上拥有广阔的用武之地 十年前,嵌入式视觉技术主要用于比较少见、高度专业化的应用。今天,设计工程师们在越来越多新兴的工业、汽车和消费电子应用中为视觉应用找到了用武之地。制造商一直以来都依赖于工业应用中的机器视觉系统,但随着先进机器人技术和机器学习技术的涌现以及向工业4.0制造模式的转变,嵌入式视觉应用的疆土在逐步扩大。现代汽车采用的电子产品,尤其是高级驾驶辅助系统(ADAS)和车载信息娱乐系统的快速发展也为嵌入式视频应用带来了契机。无人机、游戏系统、监控和安防等消费电子解决方案的开发工程师看到了嵌入式视觉技术的优势。随着网络边缘应用领域对智能功能的需求不断上升,新兴的AI解决
[汽车电子]
基于FPGA无线传感器网络MAC控制器的设计
媒体访问控制(Medium Access Control,MAC)协议处于无线传感器网络协议的物理层和网络层之间。用于在传感器节点间公平有效地共享通信媒介。它完成载波侦听多路访问(CSMA/CA)的信道存取、协议格式成帧或解帧、自动应答、系统多周期定时和帧校验等功能。   不同传感网络的应用有着不同MAC协议,其中IEEE802.15. 4是最具代表性的协议。本文给出了用FPGA的控制逻辑来实现无线传感器网络MAC控制器的设计方法,并最终实现了符合IEEE802.15.4协议的控制器。   1 总体设计方案   无线传感器网络控制器的FPGA设计包括无线传感器网络MAC子层的FPGA设计、MAC子层与上层协议的接口设计以及
[嵌入式]
基于<font color='red'>FPGA</font>无线传感器网络MAC控制器的设计
基于FPGA的级联结构FFT处理器的优化设计
   0 引 言   数字信号处理主要研究采用数字序列或符号序列表示信号,并用数字计算方法对这些序列进行处理,以便把信号变换成符合某种需要的形式。在现代数字信号处理中,最常用的变换方法就是离散傅里叶变换(DFT),然而,它的计算量较大。运算时间长,在某种程度上限制了它的使用范围。快速傅里叶变换(FFT)的提出使DFT的实现变得接近实时,DFT的应用领域也得以迅速拓展。它在图像处理、语音分析、雷达、声纳、地震、通信系统、遥感遥测、地质勘探、航空航天、生物医学等众多领域都获得极其广泛的应用。随着FPGA技术的高速发展以及EDA技术的成熟,采用FPGA芯片实现FFT已经显示出巨大的潜力。   目前用FPGA实现的FFT处理器结构大致
[嵌入式]
基于<font color='red'>FPGA</font>的级联结构FFT处理器的优化设计
e络盟发起‘Spartan-6 FPGA设计迁移七步进阶’挑战赛
此次挑战赛旨在助力工程师将Spartan-6 FPGA设计迁移到7系列 中国上海,2022年4月29日 – 安富利旗下全球电子元器件产品与解决方案分销商e络盟通过其在线社区发起 ‘Spartan-6 FPGA设计迁移七步进阶’挑战赛 ,指导e络盟社区成员如何在当前元器件短缺的情况下从Spartan-6迁移到 Spartan-7 FPGA。 参赛者即日起即可报名参赛。比赛将从中评选出25名参赛选手,他们将免费获赠Arty S7开发板用于构建参赛项目。同时,比赛还将每两周陆续上线七项教育活动,以帮助参赛者更好地掌握从Spartan-6到Spartan-7的迁移过程。评委将根据参赛者参与的每项活动进行打分,并将在七项活动全部结束
[嵌入式]
e络盟发起‘Spartan-6 <font color='red'>FPGA</font>设计迁移七步进阶’挑战赛
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved