CN113726311A - 脉冲信号滤波电路及电子设备 - Google Patents
脉冲信号滤波电路及电子设备 Download PDFInfo
- Publication number
- CN113726311A CN113726311A CN202110967433.4A CN202110967433A CN113726311A CN 113726311 A CN113726311 A CN 113726311A CN 202110967433 A CN202110967433 A CN 202110967433A CN 113726311 A CN113726311 A CN 113726311A
- Authority
- CN
- China
- Prior art keywords
- data
- circuit
- buffer
- filtering
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0225—Measures concerning the multipliers
- H03H17/0226—Measures concerning the multipliers comprising look-up tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
本申请公开了一种脉冲信号滤波电路及电子设备。该脉冲信号滤波电路包括输入缓存控制逻辑电路和至少一个滤波单元电路;滤波单元电路包括依次连接的输入缓存电路、时域滤波电路和空域滤波电路;输入缓存电路与输入缓存控制逻辑电路相连接;输入缓存控制逻辑电路用于控制所述输入缓存电路对输入的脉冲信号进行缓存;时域滤波电路用于对来自输入缓存电路的数据进行时域滤波;空域滤波电路用于对来自时域滤波电路的数据进行空域滤波。本申请的脉冲信号滤波电路包括多路滤波单元电路,能够实现对脉冲信号的多路并行滤波,降低了脉冲滤波的功耗,提高了信息处理速度和吞吐量,减小了电路的体积和功耗,能够很好地满足实际应用的需要。
Description
技术领域
本申请涉及信号处理技术领域,具体涉及一种脉冲信号滤波电路及电子设备。
背景技术
神经脉冲信号是生物神经元感知、传递和处理信息的基本载体,具有信息存储量小、计算能效高等优点。仿生脉冲信号模拟生物神经元的计算模式,以仿生脉冲信号处理信息。技术人员一直致力于优化仿生脉冲信号处理过程,以便提高信息处理速度和吞吐量。
发明内容
本申请的目的是提供一种脉冲信号滤波电路及电子设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种脉冲信号滤波电路,包括输入缓存控制逻辑电路和至少一个滤波单元电路;所述滤波单元电路包括依次连接的输入缓存电路、时域滤波电路和空域滤波电路;所述输入缓存电路与所述输入缓存控制逻辑电路相连接;
所述输入缓存控制逻辑电路用于控制所述输入缓存电路对输入的脉冲信号进行缓存;
所述时域滤波电路用于对来自所述输入缓存电路的数据进行时域滤波;
所述空域滤波电路用于对来自所述时域滤波电路的数据进行空域滤波。
在本申请的一些实施例中,所述输入缓存电路包括数据选择器、缓冲器和缓存块,所述数据选择器的第一输入端接收所述脉冲信号,输出端与所述缓冲器的输入端相连接,所述缓冲器的输出端分别与所述数据选择器的第二输入端和所述缓存块相连接。
在本申请的一些实施例中,所述时域滤波电路包括时域滤波控制逻辑电路以及分别由所述时域滤波控制逻辑电路所控制的时间记忆计算模块、轴突神经递质数据处理模块、轴突脉冲发放概率处理模块、数据选择器和时序滤波输出缓存器;
所述时间记忆计算模块用于根据所述缓存块的数据获取时间记忆数据;
所述轴突脉冲发放概率处理模块用于根据所述时间记忆数据获取轴突脉冲发放概率;
所述轴突神经递质数据处理模块用于根据所述时间记忆数据和所述轴突脉冲发放概率获取轴突神经递质数据;
所述数据选择器用于根据所述缓存块的数据以及所述轴突神经递质数据选择出符合预设时序滤波条件的数据;
所述时序滤波输出缓存器用于存储所述符合预设时序滤波条件的数据。
在本申请的一些实施例中,所述时间记忆计算模块包括时间记忆缓存器、滤波选择电路和突触衰减查找表,所处突触衰减查找表用于接收来自所述时间记忆缓存器的数据,所述滤波选择电路用于对来自所述时间记忆缓存器的数据进行调整以及选择,将选择出的数据写入所述时间记忆缓存器;
所述轴突脉冲发放概率处理模块包括轴突脉冲发放概率缓存器和第一数据调整更新电路,所述第一数据调整更新电路用于根据来自所述突触衰减查找表的数据对所述轴突脉冲发放概率缓存器中的数据进行调整以及更新;
所述轴突神经递质数据处理模块包括轴突神经递质缓存器和第二数据调整更新电路,所述第二数据调整更新电路用于根据来自所述突触衰减查找表的数据以及来自所述轴突脉冲发放概率处理模块的数据对所述轴突神经递质缓存器中的数据进行调整以及更新;所述第二数据调整更新电路的数据输入所述数据选择器。
在本申请的一些实施例中,所述空域滤波电路包括空域滤波控制逻辑电路以及分别由所述空域滤波控制逻辑电路所控制的数据读取电路、滤波选择电路、数据缓冲累加电路和历史记忆缓存电路,所述数据读取电路、所述滤波选择电路、所述数据缓冲累加电路和所述历史记忆缓存电路依次相连接;所述历史记忆缓存电路与所述数据读取电路相连接;所述数据读取电路与所述时序滤波输出缓存器相连接;
所述数据读取电路用于读取所述时序滤波输出缓存器的数据;
所述滤波选择电路用于对来自所述数据读取电路的数据进行选择,选择出符合预设条件的数据;
所述数据缓冲累加电路用于对所述符合预设空域滤波条件的数据进行累加计算,得到计算结果;
所述历史记忆缓存电路用于对所述计算结果进行调整,存储调整后的计算结果,还用于存储数据读取电路的数据。
在本申请的一些实施例中,所述数据读取电路包括相等判别器、依次连接的行计数器、第一比较器和第一数据选择器、以及依次连接的列计数器、第一比较器和第二数据选择器,所述行计数器、所述相等判别器和所述第一数据选择器依次连接;所述第一数据选择器的输出端连接所述第二数据选择器的输入端;所述第一数据选择器的输入端连接所述时序滤波输出缓存器。
在本申请的一些实施例中,所述滤波选择电路包括权重缓存器、第一行脉冲缓存器、第二行脉冲缓存器、第三数据选择器、第四数据选择器、第五数据选择器和加法电路;所述加法电路用于对所述第三数据选择器、所述第四数据选择器和所述第五数据选择器的输出数据进行求和;所述权重缓存器分别连接所述第三数据选择器、所述第四数据选择器和所述第五数据选择器的输入端;所述第二数据选择器分别连接所述第一行脉冲缓存器以及所述第三数据选择器;所述第一行脉冲缓存器分别连接所述第四数据选择器和所述第二行脉冲缓存器;所述第二行脉冲缓存器连接所述第五数据选择器。
在本申请的一些实施例中,所述数据缓冲累加电路包括第一缓冲器、第二缓冲器、第三缓冲器以及累加电路,所述累加电路用于计算所述第一缓冲器的输出值、所述第二缓冲器的输出值和所述第三缓冲器的输出值与所述历史记忆缓存电路的历史时刻记忆之和,并输出所述和与阈值的比较结果。
在本申请的一些实施例中,所述历史记忆缓存电路包括第二比较器、第三比较器、乘法器、减法器、第六数据选择器、第七数据选择器、滤波输出缓存块和历史记忆存储器;历史记忆存储器分别与所述列计数器、所述行计数器和第六数据选择器相连接;所述第二比较器分别与滤波输出缓存块和第六数据选择器相连接;所述乘法器与所述第六数据选择器相连接;所述第七数据选择器与所述第六数据选择器相连接;所述减法器分别与所述第三比较器和所述第七数据选择器相连接。
在本申请的一些实施例中,所述脉冲信号滤波电路还包括滤波输出缓存器,所述滤波输出缓存器用于存储由所述空域滤波电路所输出的数据。
根据本申请实施例的另一个方面,提供一种用于进行脉冲信号滤波的电子设备,包括上述任一项所述的脉冲信号滤波电路。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的脉冲信号滤波电路,包括多路滤波单元电路,能够实现对脉冲信号的多路并行滤波,降低了脉冲滤波的功耗,提高了信息处理速度和吞吐量,减小了电路的体积和功耗,能够很好地满足实际应用的需要。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请的一个实施例的脉冲信号滤波电路的架构框图;
图2示出了本申请的一个实施例中的输入缓存电路的结构图;
图3示出了本申请的一个实施例中的时域滤波电路的结构图;
图4示出了本申请的一个实施例中的空域滤波电路的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
优化仿生脉冲信号处理过程,可以考虑从模型优化和架构设计两个方面进行改善,以解决现有技术脉冲信号处理能效低、速度慢的问题。
如图1所示,本申请的一个实施例提供了一种脉冲信号滤波电路,包括输入缓存控制逻辑电路和至少一个(本实施例中以25个为例)滤波单元电路;滤波单元电路包括依次连接的输入缓存电路、时域滤波电路、空域滤波电路和滤波输出缓存器;输入缓存电路与输入缓存控制逻辑电路相连接;输入缓存控制逻辑电路用于控制输入缓存电路对输入的脉冲信号进行缓存;时域滤波电路用于对来自输入缓存电路的数据进行时域滤波;空域滤波电路用于对来自时域滤波电路的数据进行空域滤波。滤波输出缓存器用于存储由空域滤波电路所输出的数据。
如图2所示,外部脉冲阵列送入25个输入缓存电路。每个输入缓存电路依次连接时域滤波电路和空域滤波电路。空域滤波电路的计算结果送入对应的滤波输出缓存器。整个电路包括25路并行运行的滤波单元电路。每两路滤波单元电路之间相互独立,每一路滤波单元电路内部的输入缓存电路、时域滤波电路和空域滤波电路之间以流水线模式运行。滤波单元电路的数目还可以根据实际需要采用其他数目。多路滤波单元电路并行处理的电路结构,能够降低脉冲滤波的功耗,提高处理速度和数据吞吐量。
输入缓存电路包括数据选择器、缓冲器和缓存块,数据选择器的第一输入端接收所述脉冲信号,输出端与缓冲器的输入端相连接,缓冲器的输出端分别与数据选择器的第二输入端和缓存块相连接。
如图2所示,输入缓存电路包括数据选择器(MUX)、缓存缓冲器和缓存块(ram),数据选择器的输出端与缓存缓冲器的输入端相连接,缓存缓冲器的输出端分别与数据选择器的输入端和缓存块相连接。其中,MUX表示数据选择器。
外部数据以64位宽度输入,在控制逻辑电路控制下,以流水线模式送入25个缓存缓冲器(buffer)。每个缓存buffer为64位宽度。缓存buffer收到输入数据后开始移位,每个时钟周期移动一个比特,移位后的数据通过数据选择器存入缓存buffer。与此同时,缓存buffer最前端(最低位)的数据在时钟驱动下写入缓存块ram。每64个时钟周期完成一个缓存buffer到缓存块ram的输入。当缓存buffer的最后一个比特写入缓存块后,控制逻辑将新的64比特数据写入缓存buffer。重复这一过程,直到100000个比特脉冲数据输入到缓存块。
时域滤波电路包括时域滤波控制逻辑电路以及分别与时域滤波控制逻辑电路相连接的时间记忆计算模块、轴突神经递质数据处理模块、轴突脉冲发放概率处理模块、数据选择器和时序滤波输出缓存器。
时间记忆计算模块、轴突神经递质数据处理模块和轴突脉冲发放概率处理模块两两连接,轴突神经递质数据处理模块和时间记忆计算模块分别与数据选择器相连接;数据选择器与时序滤波输出缓存器相连接;时间记忆计算模块与缓存块相连接;时间记忆计算模块用于根据缓存块的数据获取时间记忆数据;轴突脉冲发放概率处理模块用于根据时间记忆数据获取轴突脉冲发放概率;轴突神经递质数据处理模块用于根据时间记忆数据和轴突脉冲发放概率获取轴突神经递质数据;数据选择器用于根据缓存块的数据以及轴突神经递质数据选择出符合预设时序滤波条件的数据;时序滤波输出缓存器用于存储符合预设时序滤波条件的数据。
时域滤波电路的电路架构如图3所示,包括时域滤波控制逻辑电路以及分别与时域滤波控制逻辑电路相连接的时间记忆计算模块A、轴突神经递质数据处理模块B、轴突脉冲发放概率处理模块C、数据选择器3和时序滤波输出缓存器。时域滤波控制逻辑电路控制数据的读写及计算等各个环节。为了清晰,图3将控制逻辑单独画为一个模块,同时省略与其他电路部分的连接线。整个模块可按照流水线模式高效运行。
时间记忆计算模块A包括MUX1、MUX2、比较器4、时间记忆缓存器、突触衰减查找表LUT1-2、缓冲器buffer-f和缓冲器buffer-d等。MUX1、MUX2和比较器4构成滤波选择电路。滤波选择电路用于对来自所述时间记忆缓存器的数据进行调整以及选择,然后将选择出的数据写入所述时间记忆缓存器,具体包括:当来自输入缓存电路的脉冲信号为低电平时,从时间记忆缓存器读出数据,判断是否超出预设的最大值C0,若否,则对读出的数据加一,再写入时间记忆缓存器。
轴突神经递质数据处理模块B包括轴突神经递质缓存器、缓冲器12、乘法器6、乘法器8、加法器7、加法器9、减法器10、绝对值运算器11、比较器5和阈值存储器等。轴突神经递质缓存器输出的数据存入缓冲器12中。乘法器6、乘法器8、加法器7、加法器9、减法器10、绝对值运算器11、比较器5和阈值存储器构成了第一数据调整更新电路,第一数据调整更新电路用于对来自缓冲器12的数据进行调整,并利用调整后的数据更新轴突神经递质缓存器中的数据,具体包括:轴突神经递质缓存器的数据,通过乘法器6与脉冲不发放概率相乘、通过加法器7减一后,与buffer-d中缓存的结果相乘,然后通过加法器9加一,得到当前时刻的神经递质变量,利用该当前时刻的神经递质变量更新轴突神经递质缓存器中的数据。
轴突脉冲发放概率处理模块C包括轴突脉冲发放概率缓存器、缓冲器13、缓冲器14、加法器15、乘法器16、加法器17、加法器18、乘法器19和加法器20等。缓冲器13、缓冲器14、加法器15、乘法器16、加法器17、加法器18、乘法器19和加法器20构成第二数据调整更新电路。第二数据调整更新电路用于根据来自所述突触衰减查找表的数据对所述轴突脉冲发放概率缓存器中的数据进行调整,并利用调整后的数据更新所述轴突脉冲发放概率缓存器中的数据,具体包括:读取轴突脉冲发放概率缓存器的上一时刻的脉冲发放概率数据,存储到缓冲器13,将缓冲器13中的上一时刻的脉冲发放概率数据取相反数后存储于缓冲器14,缓冲器14中存储的相反数通过加法器15加一之后,通过乘法器16与常数C1相乘,再通过加法器17与常数C2相加,再通过加法器18与上一时刻的脉冲发放概率数据相加得到一个和,然后通过乘法器19将该和与突触时序衰减信号相乘,通过加法器20将得到的积加上常数C3得到当前时刻的脉冲发放概率,将当前时刻的脉冲发放概率送入轴突脉冲发放概率缓存器更新所述轴突脉冲发放概率缓存器中的上一时刻的脉冲发放概率数据。
输入缓存电路的缓存块分别连接MUX2的一个输入端和MUX3的一个输入端;MUX2的输出端连接时间记忆缓存器,用于将数据写入时间记忆缓存器以更新时间记忆缓存器中的数据;时间记忆缓存器的输出分别连接MUX1的输入端、比较器4的一个输入端和突触衰减查找表LUT1-2,预设常数C0分别输入MUX1的一个输入端和比较器4的另一个输入端,比较器4的输出端连接到MUX1的一个输入端,MUX1的输出加1后输入到MUX2的一个输入端,MUX2的另一个输入端输入1。MUX3的输出端连接时域滤波输出缓存器。突触衰减查找表LUT1-2分别连接两个缓冲器buffer-f和buffer-d。LUT1-2的查找结果存放于两个缓冲器buffer-f和buffer-d中。轴突神经递质缓存器与缓冲器12相连接,缓冲器12、乘法器6、加法器7、乘法器8、加法器9、减法器10、绝对值运算器11、比较器5和MUX3的一个输入端依次相连接;缓冲器12与减法器10相连接;阈值存储器与比较器5的一个输入端相连接;缓冲器14、加法器15、乘法器16、加法器17、加法器18、乘法器19、加法器20、轴突脉冲发放概率缓存器和缓冲器13依次相连接,缓冲器13的输出数据减一后输入缓冲器14;缓冲器buffer_f与乘法器19相连接;缓冲器buffer_d与乘法器8相连接;缓冲器13与加法器18相连接。为了满足电路时序要求,可以在时间记忆计算模块A、轴突神经递质数据处理模块B、轴突脉冲发放概率处理模块C的各个功能单元之间添加一个或多个缓存器。
时间记忆计算模块A,用于当输入脉冲信号为高电平时,控制逻辑将“1”写入时间记忆缓存;当输入脉冲信号为低电平时,控制逻辑将时间记忆缓存的结果读出,并加一,然后再写入时间记忆模块。数据选择器MUX1可保证时间记忆不超出预设的最大值(即C0)。读出的时间记忆数据作为单输入双输出查找表电路(即LUT1-2)的查找索引端。该电路具体实现方式包括单不限于查找表逻辑、ram等。查找结果为存放于两个buffer中(即buffer-f和buffer-d)。
轴突神经递质缓存器的数据被读出后,经过与脉冲不发放概率“相乘”和“减一”两个操作后,与buffer-d缓存的结果“相乘”,然后再“加一”,得到当前时刻的神经递质变量。该变量一方面用于更新神经递质缓存器,另一方面用于与前一时刻的神经递质缓存器中的神经递质量进行对比,当二者的差值超过阈值时,触发比较器输出一个脉冲。该脉冲被保存于滤波输出缓存器。
控制逻辑模块控制读取轴突脉冲发放概率缓存器的数据并输入到buffer-u1,然后取相反数存储于buffer-u2。buffer-u2的结果“加一”之后,一个分支与轴突剩余递质相乘,计算新的轴突递质量;另一分支与常数C1“相乘”,与常数C2“相加”,再“加上”上一时刻的脉冲发放概率,然后与突触时序衰减信号“相乘”,最后“加”常数C3,得到当前时刻的脉冲发放概率,并将其送入轴突脉冲发放概率缓存器。
空域滤波电路包括空域滤波控制逻辑电路以及分别由空域滤波控制逻辑电路所控制的数据读取电路、滤波选择电路和数据缓冲累加电路,数据读取电路、滤波选择电路和数据缓冲累加电路依次相连接;数据读取电路与时序滤波输出缓存器相连接;
数据读取电路用于读取时序滤波输出缓存器的数据;
滤波选择电路用于对来自数据读取电路的数据进行选择,选择出符合预设条件的数据;
数据缓冲累加电路用于对符合预设条件的数据进行累加计算,并输出计算结果。
时域滤波电路采用的计算压缩方法包括以查找表替代滤波模型的指数运算,以及用定点数运算替代浮点数运算的技术方案。时域滤波电路用于实现脉冲滤波的计算压缩方法,通过查找表运算来替代指数运算。如下计算公式:
从公式(1)和公式(2)可知,时域滤波电路需要计算指数项和,导致消耗计算资源多、计算延迟高。其中,Δt n 表示第n个时间步距上一个脉冲发放之间的时间,u n+1,u n ,r n+1和r n 表示当前脉冲发放前后神经递质释放概率和轴突上可用的神经递质剩余量。U指示单个动作电位引起的神经递质释放概率的增加量。F表示单个动作电位后神经递质释放量衰减至0的时间常数,D是单个动作电位后神经递质剩余量恢复至1的时间常数。u f 为不发放脉冲的概率参数。本申请实施例提出使用查找表模型计算这两项。具体来说,预先计算出公式(1)和(2)中和在Δt n =0,1,2,…,K,K+1,…,N的值存入查找表,然后根据需要检索出Δt时刻的衰减因子。
本申请实施例通过定点数运算替代浮点数运算,将公式(1)和(2)中的查找表结果转化为定点数,从而减小查找表的计算模型所需的存储资源消耗。可选择的定点数包括但不限于8位整数、24位小数的定点数(总数据宽度为32位),4位整数、12位小数的定点数(总数据宽度为16位)等。此外,公式(1)和(2)中的乘法器使用相应的定点数乘法器,滤波参数、脉冲发放概率和神经递质余量也使用定点数表示。以定点数和定点乘法器替代浮点数和浮点乘法器可减小计算资源需求和计算延迟。以查找表替代滤波模型的指数运算,以及用定点数运算替代浮点数运算的技术方案大幅降低了指数运算的计算复杂度,从而提高了滤波速度,用定点数替代浮点数可降低对计算设备的算力和功耗需求。
空域滤波电路的电路架构如图4所示。空域滤波电路包括空域滤波控制逻辑电路以及依次连接的数据读取电路、滤波选择电路、数据缓冲累加电路和历史记忆缓存电路,历史记忆缓存电路还与数据读取电路相连接。数据读取电路、滤波选择电路、数据缓冲累加电路和历史记忆缓存电路分别用字母D、E、F和G来标记。数据读取电路、滤波选择电路、数据缓冲累加电路和历史记忆缓存电路分别与空域滤波控制逻辑电路相连接。空域滤波控制逻辑电路用于控制数据读取电路、滤波选择电路、数据缓冲累加电路和历史记忆缓存电路分别实现各自的功能。
数据读取电路包括列计数器21、比较器22、行计数器23、比较器24、相等判别器25、MUX26和MUX27。时域滤波电路的时序滤波输出缓存器中输出的数据输入MUX26的输入端。相等判别器25用于判别行计数器23所输出的数据是否与0相等。列计数器21连接比较器22的输入端,预设常数C_W输入比较器22的另一输入端,比较器22的输出端连接MUX27的第一个输入端(即数据选择控制端),MUX26的输出端连接MUX27的第二个输入端,0输入MUX27的第三个输入端;行计数器23分别连接比较器24的输入端和相等判别器25的输入端;相等判别器25的另一输入端输入0;比较器24的另一输入端输入预设常数C_BH。
滤波选择电路包括权重缓存器rom、行脉冲缓存器36、行脉冲缓存器37、MUX28、MUX29、MUX30、加法器31和加法器32。权重缓存器rom分别连接MUX28、MUX29和MUX30的一个输入端;MUX27的输出端分别连接MUX28的控制信号输入端和行脉冲缓存器36;行脉冲缓存器36分别连接MUX29的一个输入端和行脉冲缓存器37;行脉冲缓存器37连接MUX30的一个输入端;MUX28、MUX29和MUX30分别有一个输入端输入0;MUX28的输出端和MUX29的输出端分别连接加法器31;MUX30的输出端和加法器31分别连接加法器32。
数据缓冲累加电路包括第一缓冲器、第二缓冲器、第三缓冲器以及累加电路,所述累加电路用于计算所述第一缓冲器的输出值、所述第二缓冲器的输出值、所述第三缓冲器的输出值和历史记忆缓存电路的历史记忆数据之和,并输出所述和与阈值的比较结果。如图4所示,数据缓冲累加电路包括三个缓冲器以及依次相连接的加法器33、加法器34,分别为Buffer_S1、Buffer_S2和Buffer_S3。加法器32的输出端连接Buffer_S3的输入端。Buffer_S3的输出端分别连接Buffer_S2的输入端和加法器33的输入端;Buffer_S2的输出端分别连接Buffer_S1的输入端和加法器33的输入端;Buffer_S1的输出端连接加法器的输入端;Buffer_S0的输出端连接加法器35的输入端,S1、S2和S3分别为Buffer_S1、Buffer_S2和Buffer_S3的输出值。
历史记忆缓存电路包括比较器40、比较器45、乘法器41、减法器42、MUX43、MUX44、滤波输出缓存块和历史记忆存储器。历史记忆存储器分别与列计数器21、行计数器23、加法器35和MUX43相连接。比较器40与加法器35相连接,比较器40用于比较加法器35的输出与预设阈值Threshold的大小,并将比较结果分别输入滤波输出缓存块和MUX43。加法器35分别与乘法器41和减法器42相连接。乘法器41与MUX43相连接。MUX44与MUX43相连接。减法器42分别与比较器45和MUX44相连接。历史记忆缓存电路用于对数据缓冲累加电路输出的计算结果进行调整,存储调整后的计算结果,还用于存储来自列计数器21和行计数器23的数据。来自列计数器21和行计数器23的数据存储入历史记忆存储器。
由于本实施例中将输入缓存分成了25路并行运行,相邻的两路之间有一行数据重合。因此,本实施例预先将每一路的前一路最后一行数据和后一路的第一行数据缓存。通过行计数器与两个固定值的比较,选择对应的数据送入滤波选择电路。当列计数器超过一行时,将零补充到行脉冲缓存器。当前两行脉冲数据缓存到行脉冲缓存器之后,第三行的脉冲一方面作为数据选择器的选择端,选择缓存的滤波权重或零,另一方面送入第一个行脉冲缓存器;同时第一个行脉冲缓存器的最后一个比特数据一方面作为权重或0的数据选择器的选择端,另一方面送入第二个行脉冲缓存器。这种计算架构重复使用脉冲数据,大幅降低对带宽的需求。控制逻辑电路控制滤波选择电路的三个数据选择器的输出结果累加到Buffer_S3,同时Buffer_S3的结果以流水线模式逐步送入Buffer_S2,Buffer_S2送入Buffer_S1。那么Buffer_S3与Buffer_S2和Buffer_S1的累加和就是部分滤波结果。当前时刻滤波结果加上历史时刻的记忆,得到总的累加值。该总累加值与阈值比较之后得到滤波输出。滤波输出值被写入滤波输出缓存块。总的累加值经过与C_tr相乘之后被衰减,然后送入MUX的一个输入端(记为分支1);同时,总的累加值减去C_mn的值,与C_ml比较,经过另外一个MUX选择,二者之中较小的值连接到第二个MUX的第二个输入端(记为分支2);该MUX通过最终滤波输出选通,当滤波输出为“1”时,分支1被用于更新历史记忆缓存器,否则分支2被用于更新历史记忆缓存器。这种流水线计算方式即增加了数据复用率,又降低了功耗,提升了吞吐量。
一种用于进行脉冲信号滤波的电子设备,包括上述任一实施方式的脉冲信号滤波电路。
本申请实施例的电路和电子设备适用于卫星、无人车、手机等对高速度和低功耗有需求的场景。
本申请实施例提出的脉冲信号滤波电路通过并行化提升了脉冲滤波速度,通过流水线重复使用数据和中间结果,从而减小了访问缓存的带宽需求,避免了冗余计算,可以达到减小用于脉冲信号滤波的装置、设备或模型的体积和功耗,增加信息处理速度和吞吐量等效果。
需要说明的是:
本申请所使用的术语“第一”、“第二”、“第三”等可在本文中用于描述各种对象,但这些对象不受这些术语限制。这些术语仅用于将一个对象与其他对象区分。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示例一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种脉冲信号滤波电路,其特征在于,包括输入缓存控制逻辑电路和至少一个滤波单元电路;所述滤波单元电路包括依次连接的输入缓存电路、时域滤波电路和空域滤波电路;所述输入缓存电路与所述输入缓存控制逻辑电路相连接;
所述输入缓存控制逻辑电路用于控制所述输入缓存电路对输入的脉冲信号进行缓存;
所述时域滤波电路用于对来自所述输入缓存电路的数据进行时域滤波;
所述空域滤波电路用于对来自所述时域滤波电路的数据进行空域滤波。
2.根据权利要求1所述的脉冲信号滤波电路,其特征在于,所述输入缓存电路包括数据选择器、缓冲器和缓存块,所述数据选择器的第一输入端接收所述脉冲信号,输出端与所述缓冲器的输入端相连接,所述缓冲器的输出端分别与所述数据选择器的第二输入端和所述缓存块相连接。
3.根据权利要求2所述的脉冲信号滤波电路,其特征在于,所述时域滤波电路包括时域滤波控制逻辑电路以及分别由所述时域滤波控制逻辑电路所控制的时间记忆计算模块、轴突神经递质数据处理模块、轴突脉冲发放概率处理模块、数据选择器和时序滤波输出缓存器;
所述时间记忆计算模块用于根据所述缓存块的数据获取时间记忆数据;
所述轴突脉冲发放概率处理模块用于根据所述时间记忆数据获取轴突脉冲发放概率;
所述轴突神经递质数据处理模块用于根据所述时间记忆数据和所述轴突脉冲发放概率获取轴突神经递质数据;
所述数据选择器用于根据所述缓存块的数据以及所述轴突神经递质数据选择出符合预设时序滤波条件的数据;
所述时序滤波输出缓存器用于存储所述符合预设时序滤波条件的数据。
4.根据权利要求3所述的脉冲信号滤波电路,其特征在于,所述时间记忆计算模块包括时间记忆缓存器、滤波选择电路和突触衰减查找表,所处突触衰减查找表用于接收来自所述时间记忆缓存器的数据,所述滤波选择电路用于对来自所述时间记忆缓存器的数据进行调整以及选择,将选择出的数据写入所述时间记忆缓存器;
所述轴突脉冲发放概率处理模块包括轴突脉冲发放概率缓存器和第一数据调整更新电路,所述第一数据调整更新电路用于根据来自所述突触衰减查找表的数据对所述轴突脉冲发放概率缓存器中的数据进行调整以及更新;
所述轴突神经递质数据处理模块包括轴突神经递质缓存器和第二数据调整更新电路,所述第二数据调整更新电路用于根据来自所述突触衰减查找表的数据以及来自所述轴突脉冲发放概率处理模块的数据对所述轴突神经递质缓存器中的数据进行调整以及更新;所述第二数据调整更新电路的数据输入所述数据选择器。
5.根据权利要求3所述的脉冲信号滤波电路,其特征在于,所述空域滤波电路包括空域滤波控制逻辑电路以及分别由所述空域滤波控制逻辑电路所控制的数据读取电路、滤波选择电路、数据缓冲累加电路和历史记忆缓存电路,所述数据读取电路、所述滤波选择电路、所述数据缓冲累加电路和所述历史记忆缓存电路依次相连接;所述历史记忆缓存电路与所述数据读取电路相连接;所述数据读取电路与所述时序滤波输出缓存器相连接;
所述数据读取电路用于读取所述时序滤波输出缓存器的数据;
所述滤波选择电路用于对来自所述数据读取电路的数据进行选择,选择出符合预设条件的数据;
所述数据缓冲累加电路用于对所述符合预设空域滤波条件的数据进行累加计算,得到计算结果;
所述历史记忆缓存电路用于对所述计算结果进行调整,存储调整后的计算结果,还用于存储数据读取电路的数据。
6.根据权利要求5所述的脉冲信号滤波电路,其特征在于,所述数据读取电路包括相等判别器、依次连接的行计数器、第一比较器和第一数据选择器、以及依次连接的列计数器、第一比较器和第二数据选择器,所述行计数器、所述相等判别器和所述第一数据选择器依次连接;所述第一数据选择器的输出端连接所述第二数据选择器的输入端;所述第一数据选择器的输入端连接所述时序滤波输出缓存器。
7.根据权利要求6所述的脉冲信号滤波电路,其特征在于,所述滤波选择电路包括权重缓存器、第一行脉冲缓存器、第二行脉冲缓存器、第三数据选择器、第四数据选择器、第五数据选择器和加法电路;所述加法电路用于对所述第三数据选择器、所述第四数据选择器和所述第五数据选择器的输出数据进行求和;所述权重缓存器分别连接所述第三数据选择器、所述第四数据选择器和所述第五数据选择器的输入端;所述第二数据选择器分别连接所述第一行脉冲缓存器以及所述第三数据选择器;所述第一行脉冲缓存器分别连接所述第四数据选择器和所述第二行脉冲缓存器;所述第二行脉冲缓存器连接所述第五数据选择器。
8.根据权利要求7所述的脉冲信号滤波电路,其特征在于,所述数据缓冲累加电路包括第一缓冲器、第二缓冲器、第三缓冲器以及累加电路,所述累加电路用于计算所述第一缓冲器的输出值、所述第二缓冲器的输出值和所述第三缓冲器的输出值与所述历史记忆缓存电路的历史时刻记忆之和,并输出所述和与阈值的比较结果。
9.根据权利要求8所述的脉冲信号滤波电路,其特征在于,所述历史记忆缓存电路包括第二比较器、第三比较器、乘法器、减法器、第六数据选择器、第七数据选择器、滤波输出缓存块和历史记忆存储器;历史记忆存储器分别与所述列计数器、所述行计数器和第六数据选择器相连接;所述第二比较器分别与滤波输出缓存块和第六数据选择器相连接;所述乘法器与所述第六数据选择器相连接;所述第七数据选择器与所述第六数据选择器相连接;所述减法器分别与所述第三比较器和所述第七数据选择器相连接。
10.根据权利要求1所述的脉冲信号滤波电路,其特征在于,所述脉冲信号滤波电路还包括滤波输出缓存器,所述滤波输出缓存器用于存储由所述空域滤波电路所输出的数据。
11.一种用于进行脉冲信号滤波的电子设备,其特征在于,包括如权利要求1-10中任一所述的脉冲信号滤波电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967433.4A CN113726311B (zh) | 2021-08-23 | 2021-08-23 | 脉冲信号滤波电路及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967433.4A CN113726311B (zh) | 2021-08-23 | 2021-08-23 | 脉冲信号滤波电路及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113726311A true CN113726311A (zh) | 2021-11-30 |
CN113726311B CN113726311B (zh) | 2022-05-06 |
Family
ID=78677264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110967433.4A Active CN113726311B (zh) | 2021-08-23 | 2021-08-23 | 脉冲信号滤波电路及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113726311B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1541482A (zh) * | 2001-08-14 | 2004-10-27 | ���dz� | 用于数字视频信号的运动自适应降噪预处理 |
CN101651641A (zh) * | 2008-08-13 | 2010-02-17 | 中兴通讯股份有限公司 | 一种终端设备基带处理***中的匹配滤波电路装置及方法 |
US20160233850A1 (en) * | 2013-04-19 | 2016-08-11 | Institute Of Automation, Chinese Academy Of Sciences | Parallel filtering method and corresponding apparatus |
CN107979712A (zh) * | 2016-10-20 | 2018-05-01 | 上海富瀚微电子股份有限公司 | 一种视频降噪方法及装置 |
CN111756352A (zh) * | 2020-05-18 | 2020-10-09 | 北京大学 | 脉冲阵列时域滤波方法、装置、设备及存储介质 |
CN111986116A (zh) * | 2020-08-25 | 2020-11-24 | Oppo广东移动通信有限公司 | 视频降噪方法和装置、电子设备、计算机可读存储介质 |
-
2021
- 2021-08-23 CN CN202110967433.4A patent/CN113726311B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1541482A (zh) * | 2001-08-14 | 2004-10-27 | ���dz� | 用于数字视频信号的运动自适应降噪预处理 |
CN101651641A (zh) * | 2008-08-13 | 2010-02-17 | 中兴通讯股份有限公司 | 一种终端设备基带处理***中的匹配滤波电路装置及方法 |
US20160233850A1 (en) * | 2013-04-19 | 2016-08-11 | Institute Of Automation, Chinese Academy Of Sciences | Parallel filtering method and corresponding apparatus |
CN107979712A (zh) * | 2016-10-20 | 2018-05-01 | 上海富瀚微电子股份有限公司 | 一种视频降噪方法及装置 |
CN111756352A (zh) * | 2020-05-18 | 2020-10-09 | 北京大学 | 脉冲阵列时域滤波方法、装置、设备及存储介质 |
CN111986116A (zh) * | 2020-08-25 | 2020-11-24 | Oppo广东移动通信有限公司 | 视频降噪方法和装置、电子设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113726311B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210357736A1 (en) | Deep neural network hardware accelerator based on power exponential quantization | |
CN110070178B (zh) | 一种卷积神经网络计算装置及方法 | |
CN107169563B (zh) | 应用于二值权重卷积网络的处理***及方法 | |
CN106126481A (zh) | 一种计算引擎和电子设备 | |
CN109104197B (zh) | 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法 | |
CN113298237B (zh) | 一种基于fpga的卷积神经网络片上训练加速器 | |
CN113033769B (zh) | 一种概率计算神经网络方法和异步逻辑电路 | |
KR101929847B1 (ko) | 희소행렬 연산 방법과 장치 | |
CN113726311B (zh) | 脉冲信号滤波电路及电子设备 | |
CN113313244B (zh) | 面向加法网络的近存储神经网络加速器及其加速方法 | |
CN111626412A (zh) | 复数神经网络的一维卷积加速装置及方法 | |
CN113240101B (zh) | 卷积神经网络软硬件协同加速的异构SoC实现方法 | |
CN111047037B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115860080B (zh) | 计算核、加速器、计算方法、装置、设备、介质及*** | |
CN111626399B (zh) | 卷积神经网络计算装置、数据计算方法 | |
CN116011534A (zh) | 一种基于fpga的通用卷积神经网络加速器实现方法 | |
WO2021140730A1 (ja) | 演算装置、認識装置および制御装置 | |
CN114254740B (zh) | 卷积神经网络加速计算方法、计算***、芯片及接收机 | |
CN114897133A (zh) | 一种通用可配置的Transformer硬件加速器及其实现方法 | |
CN114707649A (zh) | 一种通用卷积运算装置 | |
CN113392963A (zh) | 基于fpga的cnn硬件加速***设计方法 | |
CN113780545A (zh) | 神经网络激活函数的通用拟合方法及装置 | |
CN113986194A (zh) | 基于预处理的神经网络近似乘法器实现方法及装置 | |
CN112734021A (zh) | 一种基于位稀疏计算的神经网络加速方法 | |
CN114708639B (zh) | 一种基于异构脉冲神经网络的人脸识别的fpga芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |