新闻中心

EEPW首页>元件/连接器>设计应用> 粒子探测器读出电路数字滤波器设计

粒子探测器读出电路数字滤波器设计

—— 实现了延迟单元数可调的延迟模块的设计
作者: 时间:2010-10-23 来源:电子产品世界 收藏

本文引用地址://m.amcfsurvey.com/article/113807.htm


  对四个子模块单独设计,再级联就可以得到整个滤波器的整体结构,最终的滤波器整体结构如图2所示,下面详细介绍各个模块的设计。

  H1(z)的结构设计

  结构设计指的是将线性常系数差分方程描述的系统用加法、乘以系数和延迟等基本运算模块的互联所组成的结构来表示。不同的结构,不仅需要的资源是不一样的,更重要的是,在数值精度有限的时候,它们在性能上可能有很大的差异,这个也是为什么要结构设计的原因。

  滤波器的结构有很多形式,例如对于IIR滤波器,就有直接Ⅰ型、直接Ⅱ型以及他们的转置形式,而这些形式又可以通过级联和并联组成更加复杂的结构。这些结构之间的差别在于:

  1. 直接Ⅰ型和直接Ⅱ型所需要的延迟单元数目为传递函数中分子和分母延迟单元数目之和,而它们的转置形式所需要的延迟单元数目为分子分母中延迟单元数目的最大者,所以直接Ⅰ型的转置形式和直接Ⅱ型的转置形式所需要的延迟单元较少。

  2. 直接Ⅰ型的转置形式和直接Ⅱ型的极点实现在前面,直接Ⅰ型和直接Ⅱ型的转置形式的则相反,零点实现在前面。实现一个极点相当于积分操作,输出有可能产生溢出,而零点相当于微分操作,输出可能产生较大的截断误差。这样,他们的先后次序对系统性能影响很大,需要根据输入信号的形式选择零极点的实现次序。

  对于()1Hz子模块,它有一个极点和一个零点,输入信号是指数衰减信号,如果先实现极点,那么就相当于对输入的指数衰减信号积分,必然会产生溢出,得到错误的结果,所以只能采用先实现零点的方式,也就是选择直接Ⅰ型或者是直接Ⅱ型的转置形式,考虑到减小延迟单元的个数,选择直接Ⅱ型的转置形式作为()1Hz子模块的实现结构,得到其结构图如图3所示。

  延迟数可调的延迟模块设计

  在子模块H2(z),H3(z)中,都含有延迟数很大的延迟单元kz−,lz−,为了适应不同的噪声环境,还需要延迟数目k,l是可调的,其实现结构如图4所示:

  如图4所示,延迟模块的核心是一个双口RAM,但是数据不是在寄存器中流动,而是通过改变写和读的地址来实现延迟的,它的实现原理可以总结为以下几点:

  ● 通过输入地址计数器控制依次写入数据;

  ● 通过输出地址计数器控制依次读出数据;

  ● 延迟单元个数由异步复位时对输入地址计数器和输出地址计数器赋初值的差异来确定。

  ● 由于输出不能有不确定的值,所以在每一次复位之后,如果输出地址计数器所指向的存储单元的值不确定,就输出0,否则输出地址计数器所指向的存储单元的值。这个需要一个复位计数器来控制是输出0还是M中的值。

  这样,只需要在复位之前设定 DelayNum的值,就可以在复位的时候对输入地址计数器和输出地址计数器赋值来设定延迟单元的延迟数为DelauNum。而且,这样的实现方式对于降低功耗也是是很有作用的,例如,对于一个延迟数是100的延迟单元,如果采用一般的实现方式,数据在寄存器中流动,那么每个时钟触发沿有100个寄存器需要读写,而采用上面所用的方式,只需要对两个寄存器指向的RAM单元读写就可以了,虽然增加了一些外围控制电路,但是开销相对很少。此外,由于可以采用工艺厂商提供的双口RAM宏单元,相对于寄存器组实现方式,可以大幅度降低芯片的面积和功耗。



评论


技术专区

关闭