CN111125616B - 一种二维离散傅里叶变换运算电路及运算方法 - Google Patents
一种二维离散傅里叶变换运算电路及运算方法 Download PDFInfo
- Publication number
- CN111125616B CN111125616B CN201911251230.4A CN201911251230A CN111125616B CN 111125616 B CN111125616 B CN 111125616B CN 201911251230 A CN201911251230 A CN 201911251230A CN 111125616 B CN111125616 B CN 111125616B
- Authority
- CN
- China
- Prior art keywords
- fourier transform
- matrix
- row
- column
- memristor array
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种二维离散傅里叶变换运算电路及运算方法,包括:均为行输入、列输出的m个行运算核和n个列运算核,处理器;每个行运算核基于忆阻器阵列对待运算矩阵中该行运算核对应的行向量进行傅里叶变换,得到该行各元素新的取值;第j个行运算核的第i列输出端口连接至第i个列运算核的第j行输入端口,每个列运算核用于基于忆阻器阵列,对接收的各元素所构成的列向量进行傅里叶变换,得到该列各元素傅里叶变换值;处理器将各列各元素傅里叶变换值按待运算矩阵中的相对位置关系,构成傅里叶变换矩阵。本发明引入忆阻器搭建傅里叶变换运算电路,以实现矢量‑矩阵乘法,可在不使用外部存储器的条件下直接完成二维矩阵的离散傅里叶变换,极大降低运算成本。
Description
技术领域
本发明属于模拟电路领域,更具体地,涉及一种二维离散傅里叶变换运算电路及运算方法。
背景技术
傅里叶变换是一种信号分析方法,可以分析信号的组成成分,在对信号进行傅里叶变换后,信号可以展开为一连串的正弦信号的组合。其目的是将信号由其时域表示转换为频域表示,而将离散序列由其时域表示转换为其频域表示,所用的就是离散傅里叶变换,其变换结果也是离散的。
傅里叶变换不仅能用来分析一维序列,也能用来分析二维序列,即图像,对它进行傅里叶变换得到的也是它的频谱数据。对于数字图像这种离散的信号,频率大小表示信号变化的剧烈程度或者说是信号变化的快慢。频率越大,变化越剧烈,频率越小,信号越平缓,对应到图像中,高频信号往往是图像中的边缘信号和噪声信号,而低频信号包含图像变化频繁的图像轮廓及背景等信号。同时,由于图像是二维离散数据,对图像的离散傅里叶变换也是二维的,即二维离散傅里叶变换,操作上是先对行进行一维离散傅里叶变换,在行变换结果上对列进行一维离散傅里叶变换。
传统的基于CMOS器件的计算离散傅里叶变换采用的是冯·诺伊曼计算架构,因架构中存储与计算分离,数据需要在存储器与处理器之间频繁传输,产生巨大的功耗和延时。随着CMOS器件性能日益优化,总线上的数据传输问题日益严重,极大地限制了计算机的计算性能,即冯·诺伊曼瓶颈。虽然利用了快速傅里叶变换算法来计算离散傅里叶变换,但这仅仅是算法上的改变,无法有效突破冯·诺依曼瓶颈。
发明内容
本发明提供一种二维离散傅里叶变换运算电路及运算方法,用以解决现有傅里叶变换运算需要存储过程数据而存在运算成本高的技术问题。
本发明解决上述技术问题的技术方案如下:一种二维离散傅里叶变换运算电路,包括:均为行输入、列输出的m个行运算核和n个列运算核,处理器,m、n均为正整数;
每个行运算核用于基于忆阻器阵列,对待运算矩阵中该行运算核对应的行向量进行傅里叶变换,得到该行各元素新的取值;
第j个行运算核的第i列输出端口连接至第i个列运算核的第j行输入端口,每个列运算核用于基于忆阻器阵列,对接收的各元素所构成的列向量进行傅里叶变换,得到该列各元素傅里叶变换值,j=1,…,m,i=1,…,n;
所述处理器用于将各列各元素傅里叶变换值按照所述待运算矩阵中的相对位置关系,构成傅里叶变换矩阵。
本发明的有益效果是:本发明在傅里叶变换中引入忆阻器,忆阻器具有高速、低功耗、易集成以及与CMOS工艺相兼容等优点,被视为下一代非易失性存储技术,由于其具有多级电导调控特性,可以通过电导存储运算用的数据矩阵,以实现矢量-矩阵乘法,因此可实现存算一体。本发明基于忆阻器搭建硬件电路,电路采用多个运算核合理连接的方式取消了传统傅里叶变换硬件架构中大量的数据传输流程,可在不使用外部存储器的条件下直接完成二维矩阵的离散傅里叶变换,减少了电路复杂度,减少了一次数据传输的过程,降低了电路功耗,同时相比起传统的利用快速傅里叶算法结合FPGA加速的方式,该电路也有效的降低了时间复杂度,实现了存储与计算的融合,大幅节约了能耗和计算时间。因此,本发明是一种高效、低成本的二维离散傅里叶运算电路,可有效突破冯·诺伊曼瓶颈的突破。
上述技术方案的基础上,本发明还可以做如下改进。
进一步,各所述忆阻器阵列的大小大于或等于所述待运算矩阵的大小。
本发明的进一步有益效果是:忆阻器阵列可大于待运算矩阵,以广泛引用于多种尺寸的待运算矩阵,运算兼容性强。
进一步,所述运算电路还包括:设置于每个所述运算核的输入端口处的开关控制器,用于基于实际需要,控制该运算核的开断。
本发明的进一步有益效果是:为每个运算核的输入端口设置开关控制,可以基于实际待运算的二维矩阵大小和运算需要,控制各别运算核的开断,应用灵活性高。
进一步,所述处理器包括:
模数转换器,用于将各列各元素的所述傅里叶变换值映射为模拟量;
处理单元,用于将各模拟量按照所述待运算矩阵中的相对位置关系,构成傅里叶变换矩阵。
进一步,每个运算核中的所述忆阻器阵列包括:结构相同且输入均为该运算核接收的行向量或列向量的第一m×n忆阻器阵列和第二m×n忆阻器阵列;
其中,第二m×n忆阻器阵列的每个列连接端口通过一个反向放大器连接至第一m×n忆阻器阵列对应的列输出端口,以构成该忆阻器阵列的等效电导矩阵。
进一步,每个所述第一m×n忆阻器阵列和每个所述第二m×n忆阻器阵列均为十字交叉型结构。
本发明的进一步有益效果是:十字交叉型结构简单并且具有很高的集成密度。
进一步,每个所述等效电导矩阵中各电导的取值为所述待运算矩阵对应的傅里叶变换系数矩阵中对应位置的系数值。
本发明的进一步有益效果是:将傅里叶变换系数直接映射至忆阻器阵列中各电阻的电导,方便快捷。
进一步,所述待运算矩阵为待傅里叶变换的二维矩阵通过线性映射而得到的电流矩阵。
本发明的进一步有益效果是:本发明采用电流信号作为运算核的输入,可以简化运算电路结构,有效降低运算成本。
进一步,每个所述运算核还包括:多个运算放大器和多个电压电流变换器;
每个所述第二m×n忆阻器阵列的每个行连接端口通过一个运算放大器连接至该第二m×n忆阻器阵列的相同编码的列输出端口,用于基于电流行向量运算得到该行该列下的电压信号,同时该列输出端口还连接一个电压电流转换器,用于将该电压信号转换为电流信号,即为所述傅里叶变换值。
本发明的进一步有益效果是:本发明在上述运算核的连接关系的基础上,采用运算放大器和电压电流转换电路,使得不需要外部存储器存储行的运算结果就可直接进行列运算,减少了电路复杂度,减少了一次数据传输的过程,减少了AD/DA转换流程,降低了电路功耗。其中,电路采用电压电流转换电路而非电流电压转换电路,可有效简化运算电路结构,以进一步优化电路结构,可为实现大规模图像的二维离散傅里叶变换提供了高效、低成本的运算架构。
本发明还提供一种二维离散傅里叶变换运算方法,包括:
将待傅里叶变换的二维矩阵线性映射为电流矩阵;
将所述电流矩阵中每行向量分别输入如上所述的任一种二维离散傅里叶变换运算电路中该行对应的行运算核;
基于所述二维离散傅里叶变换运算电路,得到傅里叶变换矩阵,完成所述二维矩阵的离散傅里叶变换运算。
本发明的有益效果是:本发明在对二维矩阵进行傅里叶变换时采用如上所述运算电路,该运算电路基于忆阻器进行傅里叶变换,由于忆阻器具有高速、低功耗、易集成以及与CMOS工艺相兼容等优点,其具有多级电导调控特性,可以通过电导存储运算用的数据矩阵,以实现矢量-矩阵乘法,因此可实现存算一体。本发明方法基于忆阻器搭建的硬件电路,由于电路中采用多个运算核合理连接的方式取消了传统傅里叶变换硬件架构中大量的数据传输流程,可在不使用外部存储器的条件下直接完成二维矩阵的离散傅里叶变换,减少了电路复杂度,减少了一次数据传输的过程,降低了电路功耗,同时相比起传统的利用快速傅里叶方法结合FPGA加速的方式,采用该电路可有效降低时间复杂度,实现存储与计算的融合,大幅节约运算能耗和时间,可靠性高。
附图说明
图1为本发明实施例提供的一种二维离散傅里叶变换运算电路的结构示意图;
图2为本发明实施例提供的忆阻器阵列结构示意图;
图3为本发明实施例提供的反向放大器的结构示意图;
图4为本发明实施例提供的运算放大器的结构示意图;
图5为本发明实施例提供的电压电流转换器的结构示意图;
图6为本发明实施例提供的运算核的结构示意图;
图7为本发明实施例提供的忆阻器阵列进行矢量-矩阵乘法运算示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例一
一种二维离散傅里叶变换运算电路,如图1所示,包括:均为行输入、列输出的m个行运算核和n个列运算核,处理器,m、n均为正整数;
每个行运算核用于基于忆阻器阵列,对待运算矩阵中该行运算核对应的行向量进行傅里叶变换,得到该行各元素新的取值;
第j个行运算核的第i列输出端口连接至第i个列运算核的第j行输入端口,每个列运算核用于基于忆阻器阵列,对接收的各元素所构成的列向量进行傅里叶变换,得到该列各元素傅里叶变换值,j=1,…,m,i=1,…,n;
处理器用于将各列各元素傅里叶变换值按照待运算矩阵中的相对位置关系,构成傅里叶变换矩阵。
需要说明的是,如图2所示,所述的忆阻器阵列,阵列的行线为数据的输入线,阵列的列线为数据输出线。相同的,若将阵列的列线作为数据的输入线,那么将阵列旋转90度,仍是将阵列的行线作为数据的输入线。
具有傅里叶变换系数矩阵和待运算数据矩阵(例如二维图像的像素矩阵),傅里叶变换系数矩阵为多行多列的结构,其规模可小于或等于运算核中的各忆阻器阵列规模,待运算数据矩阵也为多行多列结构,其规模应与傅里叶变换系数矩阵相等。
关于第j个行运算核的第i列输出端口连接至第i个列运算核的第j行输入端口,具体的,例如将运算核编组为行运算组和列运算组,行运算组和列运算组均含有m个运算核,每个运算核含有n个输入线,行运算组与列运算组的输入线编号为(h,p)(h小于等于m,p小于等于n),同理行运算组的输出线编号为(r,k)(r小于等于m,n小于等于k)将行运算组的第(r,k)条输出线连接到列运算组的第(h,p)条输入线上,r、k、h、p直接满关系r=p,k=h。
每个行运算核用于基于忆阻器阵列,对待运算矩阵中该行运算核对应的行向量进行傅里叶变换,得到该行各元素新的取值,即忆阻器阵列用于完成待运算向量与离散傅里叶变换系数矩阵之间的矢量-矩阵乘法,以首先对待运算数据矩阵的行进行一维离散傅里叶变换。按照矩阵转置规律,在第j个行运算核的第i列输出端口连接至第i个列运算核的第j行输入端口的转置连接基础上,每个列运算核用于基于忆阻器阵列,对接收的各元素所构成的列向量进行傅里叶变换,得到该列各元素傅里叶变换值,实现在行变换结果的基础上,对列进行一维离散傅里叶变换。
本实施例在傅里叶变换中引入忆阻器,忆阻器具有高速、低功耗、易集成以及与CMOS工艺相兼容等优点,被视为下一代非易失性存储技术,由于其具有多级电导调控特性,可以通过电导存储运算用的数据矩阵,以实现矢量-矩阵乘法,因此可实现存算一体。本实施例基于忆阻器搭建硬件电路,电路采用多个运算核合理连接的方式取消了传统傅里叶变换硬件架构中大量的数据传输流程,可在不使用外部存储器的条件下直接完成二维矩阵的离散傅里叶变换,减少了电路复杂度,减少了一次数据传输的过程,降低了电路功耗,同时相比起传统的利用快速傅里叶算法结合FPGA加速的方式,该电路也有效的降低了时间复杂度(O(1)),实现了存储与计算的融合,大幅节约了能耗和计算时间。因此,本电路是一种高效的二维离散傅里叶运算电路,可有效突破冯·诺伊曼瓶颈的突破。
优选的,各上述忆阻器阵列的大小大于或等于上述待运算矩阵的大小。
优选的,上述运算电路还包括:设置于每个运算核的输入端口处的开关控制器,用于基于实际需要,控制该运算核的开断。
优选的,上述处理器包括:模数转换器,用于将各列各元素的傅里叶变换值映射为模拟量;处理单元,用于将各模拟量按照待运算矩阵中的相对位置关系,构成傅里叶变换矩阵。
优选的,每个运算核中的忆阻器阵列包括:结构相同且输入均为该运算核接收的行向量或列向量的第一m×n忆阻器阵列和第二m×n忆阻器阵列;其中,第二m×n忆阻器阵列的每个列连接端口通过一个反向放大器连接至第一m×n忆阻器阵列对应的列输出端口,以构成该忆阻器阵列的等效电导矩阵。
优选的,每个第一m×n忆阻器阵列和每个第二m×n忆阻器阵列均为十字交叉型结构。
阵列的规模应匹配所需转换二维矩阵(如二维图像)的规模,阵列为十字交叉型结构,忆阻器处于阵列的十字交叉点上,阵列的行线上可作为电流输入,阵列的列线可作为电压输出。
优选的,各运算核对应的等效电导矩阵相等,每个上述等效电导矩阵中各电导的取值为待运算矩阵对应的傅里叶变换系数矩阵中对应位置的系数值。
忆阻器阵列中具备多阶可调控的电导,通过施加连续脉冲,可逐步调节器件的电导参数,并当达到某一阶电导时,该电导参数具有一定的保持特性。具体的,可通过线性关系,将器件的电导参数映射至傅里叶变换系数,且应保证忆阻器所含的电导阶数大于等于n×n的离散傅里叶变换系数矩阵中的独立元素的个数,电导与离散傅里叶变换系数矩阵中的独立元素一一对应。
考虑到无论是离散正弦变换参数还是离散余弦变换参数均处于(0,1)之间,将忆阻器电导归一化至0-1之间,器件电导与变换系数之间的映射关系为线性映射关系。由于离散傅里叶变换矩阵含有负值,则通过差动的方式实现来实现负系数。具体分析为,设傅里叶变换系数为w,线性变换系数为l,则w=1·(G2-G1),其中,G1、G2为第一m×n忆阻器阵列和第二m×n忆阻器阵列对应位置处的器件电导值。设器件电导的归一化结果为G0…Gs…Gm;若实现0系数,则采用0=1·(G0-G0),实现正系数采用wp=1·(Gs-G0),实现负系数采用wn=1·(G0-Gs)。
在傅里叶变换数学表达方面,考虑离散傅里叶变换矩阵S具有两条数学性质ST=S,以及S-1=(2/n+1)·S。设待运算系数矢量为b,其变换结果为X,则有:将离散傅里叶变换写作线性方向阻求解的形式为:S-1·X=b,则有在阵列的模拟运算下S-1·V+I=0,则V=-S·I。即实际应写入阵列洗系数矩阵为S-1,但是由于S矩阵的数学性质,依旧可以将更容易实现的S系数矩阵(其系数范围0至1,与归一化后的电导范围一致)写入忆阻阵列,在数据计算前或者数据计算后按(2/n+2)2进行缩放即可。
优选的,上述待运算矩阵为待傅里叶变换的二维矩阵通过线性映射而得到的电流矩阵。
对于忆阻器阵列完成的矢量-矩阵乘法,其具体操作为将待运算矩阵线性映射转换为电流量矩阵,将傅里叶变换系数矩阵映射成为忆阻器阵列中的电导量,运算结果以电压量的形式在阵列的列线上输出。
优选的,每个运算核还包括:多个运算放大器和多个电压电流变换器;
每个第二m×n忆阻器阵列的每个行连接端口通过一个运算放大器连接至该第二m×n忆阻器阵列的相同编码的列输出端口,用于基于电流行向量运算得到该行该列下的电压信号,同时该列输出端口还连接一个电压电流转换器,用于将该电压信号转换为电流信号,即为上述傅里叶变换值。
每个运算核中有多个反向放大器、多个运算放大器和多个电压电流转换器。其中,反向放大器的位置在第一m×n忆阻器阵列和第二m×n忆阻器阵列之间,与每个阵列的列线相连,是一种用于电压信号的反向放大器,用于配合第一m×n忆阻器阵列和第二m×n忆阻器阵列实现正负权值,如图3所示,由集成运算放大器、电阻R1和电阻R2组成,集成运算放大器的正向输入端接地,电阻R1跨接在集成运算放大器的输出端与正向输入端之间,电阻R2接在集成运算放大器的正向输入端和二m×n忆阻器阵列的列线之间,V输入与V输出的比值即为-(R2/R1),通过调节R1=R2且为千欧级,可以实现电压信号的等比例方向反向放大。具体的,根据电路结构,设第一m×n忆阻器阵列的电导系数矩阵为B,第二m×n忆阻器阵列的电导系数矩阵为C,则C·V+B·(-V)+I=0=(C-B)·V+I,即实现了对应位置的电阻系数的减法。
其次,运算放大器接在第二m×n忆阻器阵列与电压电流转换器之间,也是一种集成运算放大器,如图4所示的右图,其正向输入端接地,负向输入端与第二m×n忆阻器阵列的行线(电流输入线)相连接,其输出端与第二m×n忆阻器阵列的列线(电压输出端)相连接,用于实现一步求解电路,完成的求解公式为V=G-1·I。图4所示的左图为忆阻器的输入为电压信号使得的电路结构,完成的求解公式为I=G·V,为了电路结构简单,本电路采用电流输入,则采用运算放大器实现电压的输出。
如图5所示,电流转换器由集成运算放大器、电阻R3和电阻R4组成,其接在上一级行元素核的运算放大器和下一级列运算核的输入端之间,并按需求连接至列运算核输入端,输出电流I=U/R4,R4=1KΩ,R3>>R4。电压电流转换器用于将忆阻器阵列的电压输出转换为电流输出,由集成运算放大器和电阻组成,其中集成运算放大器的正向输入端连接至第二m×n忆阻器阵列的列线(电压输出端),负向输入端与T字型电阻结构相连接,可按比例将电压信号转换为电流信号,集成运算放大器的电流输出按需求连接至对应的列运算核忆阻阵列的电流输入线上。
如图6所示,若待运算矩阵为二维矩阵,采用二维忆阻器阵列,每个运算核中有两个2×2忆阻器阵列,2个反向放大器,2个运算放大器,2个电压电流转换器。其中,第二m×n忆阻器阵列与各反向放大器输入端连接的各列输出端口均为列连接端口。第二m×n忆阻器阵列与其右边的各运算放大器连接的各行输出端口均为行连接端口。
每个运算核中所使用的所有上述运算放大器为集成运算放大器,且具备运算放大器“虚短虚断”的特性,即运算放大器两输入端电压相等,输入运算放大器的电流为零。
基于上述,对于规模为n×n的待运算(数据)矩阵,完整的运算电路需要2n个运算核,行、列运算核相互之间按照矩阵转置规律连接形成整体电路,4n个规模为n×n的忆阻器阵列,n个反向放大器,n个集成运算放大器,n个电流电压转换电路,运算核之间总计需要n×n条连接线,电流电压转换电路的输出端按照矩阵乘法的对应关系连接到阵列的输入端。
关于运算核的工作原理,由欧姆定律得u·g=i,由基尔霍夫电流定律在电路中任一个节点(忆阻器)上,在任一时刻,流入节点的电流之和等于流出节点的电流之和则有I=∑i,由此完成了基于模拟量的矢量矩阵乘法。如图7所示,利用忆阻器阵列进行矩阵向量乘法的具体实施方式,将电压矢量由阵列输入端输入,器件单元存储电导值,根据欧姆定律,电压乘电导在阵列内每一个器件单元的节点处得到电流,根据基尔霍夫电流定律,在输出端得到该列上所有电流的总和。
采用电压电流转换电路以及上述运算核之间合理连接方式,使得不需要外部存储器存储行的运算结果就可直接进行列运算,减少了电路复杂度,减少了一次数据传输的过程,减少了AD/DA转换流程,降低了电路功耗。另外,电路采用电压电流转换电路而非电流电压转换电路,使得运算电路结构简单,进一步优化了电路结构,为实现大规模图像的二维离散傅里叶变换提供了较好的运算架构。
实施例二
一种二维离散傅里叶变换运算方法,包括:
将待傅里叶变换的二维矩阵线性映射为电流矩阵;
将所述电流矩阵中每行向量分别输入如上实施例一所述的一种二维离散傅里叶变换运算电路中该行对应的行运算核;
基于所述二维离散傅里叶变换运算电路,得到傅里叶变换矩阵,完成所述二维矩阵的离散傅里叶变换运算。
例如,首先抽取待变换矩阵的每一行,将其转换为电流量,闭合阵列电流输入线上的开关,则经过一段时间后从电压电流转换电路输出端输出的电流即为数据矩阵的行变换结果,此时,将行运算组得到的和行变换结果按需求连接到列运算组输入线上,即可在列运算组输出端得到二维运算结果。运算结果为电流量,转换为数值量之后形成输出。
在对二维矩阵进行傅里叶变换时采用如上所述运算电路,该运算电路基于忆阻器进行傅里叶变换,由于忆阻器具有高速、低功耗、易集成以及与CMOS工艺相兼容等优点,其具有多级电导调控特性,可以通过电导存储运算用的数据矩阵,以实现矢量-矩阵乘法,因此可实现存算一体。本方法基于忆阻器搭建的硬件电路,由于电路中采用多个运算核合理连接的方式取消了传统傅里叶变换硬件架构中大量的数据传输流程,可在不使用外部存储器的条件下直接完成二维矩阵的离散傅里叶变换,减少了电路复杂度,减少了一次数据传输的过程,降低了电路功耗,同时相比起传统的利用快速傅里叶方法结合FPGA加速的方式,采用该电路可有效降低时间复杂度,实现存储与计算的融合,大幅节约运算能耗和时间,可靠性高
上述二维矩阵可为二维图像对应的像素矩阵,将像素矩阵映射为电流矩阵,输入上述傅里叶变换运算电路,得到电压矩阵,将电压矩阵反映射回像素矩阵,即可完成对二维图像的傅里叶变换。本实施例极大拓展了忆阻器器件的应用。
相关技术方案同实施例一,在此不再赘述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种二维离散傅里叶变换运算电路,其特征在于,包括:均为行输入、列输出的m个行运算核和n个列运算核,处理器,m、n均为正整数;
每个行运算核用于基于忆阻器阵列,对待运算矩阵中该行运算核对应的行向量进行傅里叶变换,得到该行各元素新的取值;
第j个行运算核的第i列输出端口连接至第i个列运算核的第j行输入端口,每个列运算核用于基于忆阻器阵列,对接收的各元素所构成的列向量进行傅里叶变换,得到该列各元素傅里叶变换值,j=1,…,m,且i=1,…,n;
所述处理器用于将各列各元素傅里叶变换值按照所述待运算矩阵中的相对位置关系,构成傅里叶变换矩阵;
每个运算核中的所述忆阻器阵列包括:结构相同且输入均为该运算核接收的行向量或列向量的第一m×n忆阻器阵列和第二m×n忆阻器阵列;
其中,第二m×n忆阻器阵列的每个列连接端口通过一个反相放大器连接至第一m×n忆阻器阵列对应的列输出端口,以构成该忆阻器阵列的等效电导矩阵。
2.根据权利要求1所述的一种二维离散傅里叶变换运算电路,其特征在于,各所述忆阻器阵列的大小大于或等于所述待运算矩阵的大小。
3.根据权利要求1所述的一种二维离散傅里叶变换运算电路,其特征在于,所述运算电路还包括:设置于每个所述运算核的输入端口处的开关控制器,用于基于实际需要,控制该运算核的开断。
4.根据权利要求1所述的一种二维离散傅里叶变换运算电路,其特征在于,所述处理器包括:
模数转换器,用于将各列各元素的所述傅里叶变换值映射为模拟量;
处理单元,用于将各模拟量按照所述待运算矩阵中的相对位置关系,构成傅里叶变换矩阵。
5.根据权利要求1所述的一种二维离散傅里叶变换运算电路,其特征在于,每个所述第一m×n忆阻器阵列和每个所述第二m×n忆阻器阵列均为十字交叉型结构。
6.根据权利要求1所述的一种二维离散傅里叶变换运算电路,其特征在于,每个所述等效电导矩阵中各电导的取值为所述待运算矩阵对应的傅里叶变换系数矩阵中对应位置的系数值。
7.根据权利要求1所述的一种二维离散傅里叶变换运算电路,其特征在于,所述待运算矩阵为待傅里叶变换的二维矩阵通过线性映射而得到的电流矩阵。
8.根据权利要求7所述的一种二维离散傅里叶变换运算电路,其特征在于,每个所述运算核还包括:多个运算放大器和多个电压电流变换器;
每个所述第二m×n忆阻器阵列的每个行连接端口通过一个运算放大器连接至该第二m×n忆阻器阵列的相同编码的列输出端口,用于基于电流行向量运算得到该行该列下的电压信号,同时该列输出端口还连接一个电压电流转换器,用于将该电压信号转换为电流信号,即为所述傅里叶变换值。
9.一种二维离散傅里叶变换运算方法,其特征在于,包括:
将待傅里叶变换的二维矩阵线性映射为电流矩阵;
将所述电流矩阵中每行向量分别输入如权利要求1至8任一项所述的一种二维离散傅里叶变换运算电路中该行对应的行运算核;
基于所述二维离散傅里叶变换运算电路,得到傅里叶变换矩阵,完成所述二维矩阵的离散傅里叶变换运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251230.4A CN111125616B (zh) | 2019-12-09 | 2019-12-09 | 一种二维离散傅里叶变换运算电路及运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251230.4A CN111125616B (zh) | 2019-12-09 | 2019-12-09 | 一种二维离散傅里叶变换运算电路及运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125616A CN111125616A (zh) | 2020-05-08 |
CN111125616B true CN111125616B (zh) | 2021-11-19 |
Family
ID=70497924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911251230.4A Active CN111125616B (zh) | 2019-12-09 | 2019-12-09 | 一种二维离散傅里叶变换运算电路及运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125616B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182491B (zh) * | 2020-09-14 | 2024-04-19 | 华中科技大学 | 一种基于忆阻器阵列的沃尔什-阿达马变换装置 |
CN112150343B (zh) * | 2020-09-29 | 2024-09-10 | 清华大学 | 基于忆阻器阵列实现二值形态学操作的方法及电子装置 |
CN113449256B (zh) * | 2021-07-13 | 2023-08-18 | 湖南大学 | 基于忆阻器的可编程fft方法及其电路结构 |
CN114282164B (zh) * | 2021-12-01 | 2024-07-16 | 北京大学 | 一种模拟计算矩阵乘法电路及其在dft/idft中的应用 |
CN114143412B (zh) * | 2021-12-06 | 2023-05-02 | 清华大学 | 图像处理方法和图像处理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108780492A (zh) * | 2016-02-08 | 2018-11-09 | 斯佩罗设备公司 | 模拟协处理器 |
US20180373675A1 (en) * | 2016-01-28 | 2018-12-27 | Hewlett Packard Enterprise Development Lp | Memristor crossbar array for performing a fourier transformation |
US20190205741A1 (en) * | 2017-12-29 | 2019-07-04 | Spero Devices, Inc. | Digital Architecture Supporting Analog Co-Processor |
-
2019
- 2019-12-09 CN CN201911251230.4A patent/CN111125616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180373675A1 (en) * | 2016-01-28 | 2018-12-27 | Hewlett Packard Enterprise Development Lp | Memristor crossbar array for performing a fourier transformation |
CN108780492A (zh) * | 2016-02-08 | 2018-11-09 | 斯佩罗设备公司 | 模拟协处理器 |
US20190205741A1 (en) * | 2017-12-29 | 2019-07-04 | Spero Devices, Inc. | Digital Architecture Supporting Analog Co-Processor |
Also Published As
Publication number | Publication date |
---|---|
CN111125616A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125616B (zh) | 一种二维离散傅里叶变换运算电路及运算方法 | |
US10339202B2 (en) | Resistive memory arrays for performing multiply-accumulate operations | |
KR102462792B1 (ko) | 아날로그 복소 벡터 매트릭스 곱셈을 수행하는 방법 및 시스템 | |
CN108780492B (zh) | 模拟协处理器 | |
CN109800876B (zh) | 一种基于NOR Flash模块的神经网络的数据运算方法 | |
CN111507464B (zh) | 一种基于忆阻器阵列的方程求解器及其操作方法 | |
US10497442B1 (en) | Memristor arrays in crossbars | |
US10042819B2 (en) | Convolution accelerators | |
EP4022426B1 (en) | Refactoring mac operations | |
CN111478703B (zh) | 基于忆阻交叉阵列的处理电路及输出电流的补偿方法 | |
CN111460365A (zh) | 一种基于忆阻线性神经网络的方程组求解器及其操作方法 | |
US12093808B2 (en) | Mixed-signal artificial neural network accelerator | |
CN209182823U (zh) | 一种数模混合存算一体芯片以及用于神经网络的运算装置 | |
CN110383282A (zh) | 用于混合信号计算的系统和方法 | |
KR20190010413A (ko) | 뉴럴 네트워크 | |
CN114282164B (zh) | 一种模拟计算矩阵乘法电路及其在dft/idft中的应用 | |
US11544037B2 (en) | Low area multiply and accumulate unit | |
CN116523011A (zh) | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 | |
CN113222131B (zh) | 基于1t1r的可实现带符号权重系数的突触阵列电路 | |
CN114168107B (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
Mal et al. | Sampled analog architecture for DCT and DST | |
Skolota et al. | Overview of technical means of implementation of neuro-fuzzy-algorithms for obtaining the quality factor of electric power | |
KR102404388B1 (ko) | 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법 | |
US20240281497A1 (en) | Sram matrix multiplication network | |
JP2024523538A (ja) | ニューラルネットワークアクセラレータ |
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 |