基于无误差概率计算的fir滤波器

文档序号:1616758 发布日期:2020-01-10 浏览:21次 >En<

阅读说明:本技术 基于无误差概率计算的fir滤波器 (FIR filter based on error-free probability calculation ) 是由 卢有亮 张恒源 王浩 赵成 卢鹏宇 陈瑜 唐豪 任伟 于 2019-09-25 设计创作,主要内容包括:本发明公开了一种基于无误差概率计算的FIR滤波器,该滤波器包括前向转换模块、无误差概率乘法器、无误差概率加法器和后向转化模块。本发明将输入的信号值转化到概率域上,然后利用概率计算方法对信号进行处理,最后对得到的概率域上的序列进行计数转换回二进制下得到最终的输出信号值,大大降低了滤波器所消耗的硬件资源,具有无误差、容错性能更好等优点。(The invention discloses an FIR filter based on error-free probability calculation, which comprises a forward conversion module, an error-free probability multiplier, an error-free probability adder and a backward conversion module. The invention converts the input signal value to the probability domain, then processes the signal by using the probability calculation method, and finally counts the sequence on the probability domain and converts the sequence back to the binary system to obtain the final output signal value, thereby greatly reducing the hardware resource consumed by the filter and having the advantages of no error, better fault-tolerant performance and the like.)

基于无误差概率计算的FIR滤波器

技术领域

本发明属于数字信号处理技术领域,尤其涉及一种基于无误差概率计算的FIR滤波器。

背景技术

数字滤波器是数字信号处理领域中常用的器件,也是现代通信系统中必不可少的组成部分,其中有限脉冲相应(Finite Impulse Response,FIR)滤波器因其可以设计成为任意幅频特性,同时保证精确、严格的线性相位特性,其单位抽样响应是有限长的,是一个稳定的系统,因此其是数字信号处理系统中最常用、最重要的滤波器之一。在数字芯片上实现FIR数字滤波器最主要的目标不仅是获取满足性能指标的滤波器系数,同时还要尽可能减少所消耗的硬件资源。

概率计算是一种全新的数值表征系统,用一组随机编码的脉冲序列来表示取值范围在[0,1]的数值。而在概率域下的加法和乘法计算则可以通过简单的逻辑门结构来实现。相较于传统的计算方法,概率计算具有电路复杂度低,容错能力强和资源消耗少等优势。

发明内容

本发明的主要目的在于提供一种基于无误差概率计算的FIR滤波器,将滤波系数和输入信号经过概率序列转换单元后,使用概率加法器和概率乘法器来实现传统二进制下的加法和乘法操作,最终再通过概率序列到二进制数值的后向转化单元完成滤波数据的输出。

为实现上述目的,本发明提供一种基于无误差概率计算的FIR滤波器,包括前向转换模块、无误差概率乘法器、无误差概率加法器和后向转化模块;

所述前向转换模块用于将输入信号和滤波系数进行归一化后分别转换为集中分布序列和均匀分布序列,并传输至无误差概率乘法器;

所述无误差概率乘法器用于将集中分布序列和均匀分布序列进行相与操作,得到无误差的概率乘法结果,并传输至无误差概率加法器;

所述无误差概率加法器用于将无误差的概率乘法结果的序列进行加法运算,得到无误差的概率加法结果,并传输至后向转化模块;

所述后向转化模块用于将滤波结果的概率序列转换为二进制数值,得到滤波结果。

进一步地,所述前向转换模块包括集中序列生成单元和均匀序列生成单元,所述集中序列生成单元用于将输入信号转换为集中分布序列,所述均匀序列生成单元用于将滤波系数转换为均匀分布序列。

进一步地,所述集中序列生成单元将输入数据转换为1集中在序列头部,0集中在序列尾部的长度为2n1*2n1的集中分布0,1序列。

进一步地,所述均匀序列生成单元将滤波系数根据二进制值c*2n2的每一位的权重生成相应的总长度为2n2*2n2均匀分布的0,1序列。

进一步地,所述无误差概率加法器将两个随机序列进行相或运算后计算得到有误差的结果,再进行相与运算计算得到误差补偿,两次运算的结果的和得到无误差概率加法计算的结果。

进一步地,具体包括1个集中序列生成单元、n-1个寄存器、n个均匀序列生成单元、n个无误差概率乘法器、n-1个无误差概率加法器及1个后向转化模块;所述集中序列生成单元与寄存器依次设置,并在连接端分别依次并联设置对应的无误差概率乘法器和无误差概率加法器;所述无误差概率乘法器的输入端连接对应的均匀序列生成单元,且末端的无误差概率加法器与后向转化模块连接。

本发明的有益效果是:本发明通过将滤波系数和输入数据转换到对应的概率域下,再分别转换为均匀分布序列和集中分布序列,将传统二进制下的乘法器和加法器使用概率乘法器和概率加法器替换,最后将最终计算出来的序列通过后向转换单元输出最终的滤波结果,大大降低了滤波器所消耗的硬件资源,具有无误差、容错性能更好等优点。

附图说明

图1是本发明的基于无误差概率计算的FIR滤波器结构示意图;

图2是本发明中的均匀序列生成单元示意图;

图3是本发明中的集中序列生成单元示意图;

图4是本发明中的无误差概率乘法器示意图;

图5是本发明中的无误差概率加法器示意图;

图6是本发明中的后向转化模块示意图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:

如图1所示,一种基于无误差概率计算的FIR滤波器,包括前向转换模块、无误差概率乘法器、无误差概率加法器和后向转化模块;

所述前向转换模块用于将输入信号和滤波系数进行归一化后分别转换为集中分布序列和均匀分布序列,并传输至无误差概率乘法器;

所述无误差概率乘法器用于将集中分布序列和均匀分布序列进行相与操作,得到无误差的概率乘法结果,并传输至无误差概率加法器;

所述无误差概率加法器用于将无误差的概率乘法结果的序列进行加法运算,得到无误差的概率加法结果,并传输至后向转化模块;

所述后向转化模块用于将滤波结果的概率序列转换为二进制数值,得到滤波结果。

本发明的前向转换模块主要实现输入信号值从二进制到概率域的转换,即将滤波系数ci与输入数据x转换到相同位宽下的概率值Pci和Pxi,具体为将输入数据x(x<2n1)和滤波系数c(c<2n2)进行归一化,转换为概率值Px,Pc(Px=x/2n1,Pc=c/2n1,n1>n2),然后再将Px,Pc进行变化变为Px=(x*2n1)/(2n1*2n1),Pc=(c*2n1)/(2n1*2n1)。

此外,前向转换模块还包括集中序列生成单元和均匀序列生成单元,所述集中序列生成单元用于将输入信号转换为集中分布序列,所述均匀序列生成单元用于将滤波系数转换为均匀分布序列。

如图2所示,集中序列生成单元输入n位输入数据Xn-1Xn-2...X1X0,输入数据中第i位位1就生成2i个1,序列总长度为2n,将所有的1放在序列头部,其余为O,从而实现将输入数据转换为1集中在序列头部,0集中在序列尾部的长度为2n1*2n1的集中分布0,1序列。

如图3所示,均匀序列生成单元输入n位输入数据Xn-1Xn-2...X1X0,针对其中的输入数据Xi,Xi为1生成对应的序列,Xi为O则序列全为O,将1循环右移2n-i-1-1位,输出最终的均匀分布序列,从而实现将滤波系数根据二进制值c*2n2的每一位的权重生成相应的总长度为2n2*2n2均匀分布的0,1序列。

通过前向转换模块的转换,这样生成的均匀分布序列和集中分布序列中1所占的比例是确定的不会出现误差。

以输入数据为12位的FIR滤波器为例,其中滤波系数的最大值为cmax(cmax<2n),若n<12,那么滤波系数都转化为12位位宽下的概率值,若n>12,则全部转化为n位位宽下的概率值,后面都以n<12为例进行说明。输入数据的概率值转化为Px=x/212=(x*212)/(212*212),滤波系数的概率值转化为Pci=ci/212=(ci*212)/(212*212),再分别将Px和Pci通过集中分布序列生成单元和均匀分布序列生成单元生成长度为224的集中分布序列PX和均匀分布序列PCi

如图4所示,本发明的无误差概率乘法器用于将由前述的前向转换模块生成的集中分布序列PX和均匀分布序列PCi进行相与操作,得到无误差的概率乘法结果。

如图5所示,本发明的无误差概率加法器用于将由无误差概率乘法器计算出来的序列进行加法运算,计算出最终的滤波结果,将两个随机序列进行相或运算后计算出有误差的结果,再进行相与的运算计算出误差补偿,两次运算的结果的和就是无误差概率加法计算的结果。

如图6所示,本发明的后向转化模块用于经过无误差概率计算得到最终的序列后,通过累加器对序列中的1进行计算就可以得到二进制下输出结果。

下面对本发明的基于无误差概率计算的FIR滤波器的具体结构作进一步详细说明。

如图1所示,本发明的基于无误差概率计算的FIR滤波器具体包括1个集中序列生成单元、n-1个寄存器D、n个均匀序列生成单元、n个无误差概率乘法器、n-1个无误差概率加法器及1个后向转化模块组成的n阶结构;所述集中序列生成单元与寄存器依次串联设置,并在集中序列生成单元与寄存器D及寄存器D与寄存器D之间的连接端分别依次并联设置对应的无误差概率乘法器和无误差概率加法器;各个无误差概率乘法器的输入端均连接对应的均匀序列生成单元,且第1阶的的无误差概率乘法器输直接与第二阶的无误差概率加法器连接,末端第n阶的无误差概率加法器与后向转化模块连接。

将生成的输入数据集中分布序列PX与滤波系数均匀分布序列PCi进行相与的操作就完成了输入数据x与滤波系数ci相乘的操作。

将每一阶延时寄存后的输入数据集中分布序列PX与对应的滤波系数均匀分布序列PCi相乘后就再通过加法操作将所有的乘积相加就完成了卷积的累加操作。

将每一阶乘法操作完成的乘积值进行或门操作就可以得到传统概率加法器下的加法值,再进行一次与门操作就可以得到误差补偿值,两个值组合就是无误差的概率和。

在通过所有的乘累加操作后,通过概率序列到二进制数值的后向转换单元,就可以将最终的滤波输出从概率域转换到二进制数值系统下得到最终的滤波结果。

从概率域到二进制数值系统的后向单元就是一个累加器,对概率序列中的1的个数进行累加,得到的最终值就是该概率序列在对应的二进制数值系统下对应值。

本发明通过将滤波系数和输入数据转换到对应的概率域下,再分别转换为均匀分布序列和集中分布序列,将传统二进制下的乘法器和加法器使用概率乘法器和概率加法器替换,最后将最终计算出来的序列通过后向转换单元输出最终的滤波结果。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数控带通滤波模块

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!