CN116450996A - 基于忆阻器阵列的数据处理方法、电子装置 - Google Patents
基于忆阻器阵列的数据处理方法、电子装置 Download PDFInfo
- Publication number
- CN116450996A CN116450996A CN202210023055.9A CN202210023055A CN116450996A CN 116450996 A CN116450996 A CN 116450996A CN 202210023055 A CN202210023055 A CN 202210023055A CN 116450996 A CN116450996 A CN 116450996A
- Authority
- CN
- China
- Prior art keywords
- transformation
- discrete wavelet
- matrix
- parameter
- data processing
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 54
- 239000011159 matrix material Substances 0.000 claims abstract description 351
- 230000009466 transformation Effects 0.000 claims abstract description 292
- 238000012545 processing Methods 0.000 claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 59
- 238000006243 chemical reaction Methods 0.000 claims abstract description 37
- 238000001914 filtration Methods 0.000 claims description 51
- 239000013598 vector Substances 0.000 claims description 25
- 238000007781 pre-processing Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 20
- 238000013461 design Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 29
- 238000003491 array Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 230000005654 stationary process Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/148—Wavelet transforms
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种基于忆阻器阵列的数据处理方法、电子装置。该基于忆阻器阵列的数据处理方法包括:确定对应于数据处理的参数矩阵,该数据处理包括离散小波变换,离散小波变换包括至少s级离散小波变换,s为正整数;设置忆阻器阵列,将参数矩阵写入忆阻器阵列;获取多个第一模拟信号,以及在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,其中,多个第二模拟信号包括s级离散小波变换中每一级的变换结果。该基于忆阻器阵列的数据处理方法通过对各级离散小波变换的变换矩阵进行整合设计,大大减少了用于执行离散小波变换的中间转化电路(例如存储器、运算器等)的面积和功耗开销,提高了计算的精度。
Description
技术领域
本公开的实施例涉及一种基于忆阻器阵列的数据处理方法、电子装置。
背景技术
随着信息技术的快速发展,针对采集到的大量数据进行低功耗、高能效的数据处理成为大数据时代的研究热点。基于忆阻器的神经形态计算突破了传统计算设备的冯诺依曼架构,可以减少数据搬运的时间,并且计算时所需功耗低、面积小,具有能效高的优点。
离散小波变换(Discrete Wavelet Transform,DWT)是对基本小波的尺度和平移进行离散化,是一种常用的信号处理算法,能够对信号做时频域的多分辨率分析。
发明内容
本公开至少一实施例提供一种基于忆阻器阵列的数据处理方法,其中,忆阻器阵列包括阵列排布的多个忆阻器单元且配置为能进行乘加运算,该数据处理方法包括:确定对应于数据处理的参数矩阵,其中,数据处理包括离散小波变换,离散小波变换包括至少s级离散小波变换,s为正整数;设置忆阻器阵列,将参数矩阵写入忆阻器阵列;获取多个第一模拟信号,并将多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制忆阻器阵列操作以对多个第一模拟信号进行数据处理,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,其中,多个第二模拟信号包括s级离散小波变换中每一级的变换结果。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,离散小波变换为一维离散小波变换。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,至少s级离散小波变换包括第一级离散小波变换、...、第i级离散小波变换、...、第s级离散小波变换,第一级离散小波变换包括接收输入序列并对输入序列进行第一变换和第二变换,分别得到第一级的第一变换结果和第二变换结果;第i级离散小波变换包括接收第i-1级离散小波变换的第一变换结果并对第i-1级离散小波变换的第一变换结果进行第一变换和第二变换,得到第i级离散小波变换的第一变换结果和第二变换结果,i为大于等于2且小于等于s的正整数;其中,第s级离散小波变换的变换结果包括第s级的第一变换结果和第二变换结果,s级中除第s级以外的其他级离散小波变换的变换结果包括各级的第二变换结果。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,确定对应于数据处理的参数矩阵,包括:确定每一级离散小波变换对应的用于执行第一变换的第一变换矩阵和用于执行第二变换的第二变换矩阵;根据每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵;根据第一级离散小波变换、第二级离散小波变换、...、第s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵;根据第一子矩阵和s个第二子矩阵,得到参数矩阵。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,第x级的第一变换矩阵包括P行Q列,P=N/2x,Q=N/2x-1,N为输入序列包括的多个输入参数的总数,x为正整数且小于等于s;第一变换包括第一滤波处理,确定每一级离散小波变换对应的用于执行第一变换的第一变换矩阵,包括:确定用于第一滤波处理的第一滤波器对应的第一系数向量,其中,第一系数向量包括M个第一滤波参数;从Q列中,依次选择P个需要进行第一变换的对象列组,其中,每个对象列组包括M列,并且P个对象列组与P行一一对应;确定第一变换矩阵的每一行中的M个目标元素为M个第一滤波参数,每一行中除M个目标元素以外的Q-M个元素均为第一值,其中,M个目标元素的位置基于每一行对应的对象列组包括的M列确定;其中,P、Q、M以及N为大于等于1的正整数。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,第一变换还包括降采样处理,从Q列中,依次选择P个需要进行第一变换的对象列组,包括:根据降采样处理的降采样倍数,从Q列中,依次选择P个需要进行第一变换的对象列组。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,根据每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵,包括:按照s级离散小波变换的变换顺序,将s级离散小波变换分别对应的s个第一变换矩阵依次相乘,得到第一子矩阵。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,s个第二子矩阵与s级一一对应,根据第一级离散小波变换、第二级离散小波变换、...、第s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵,包括:响应于s=1,将第一级离散小波变换对应的第二变换矩阵作为第二子矩阵;响应于s大于1,针对s级中的第j级对应的第j个第二子矩阵:将第1级至第j-1级离散小波变换分别对应的j-1个第一变换矩阵依次相乘,得到中间子矩阵,将中间子矩阵与第j级离散小波变换对应的第二变换矩阵相乘,得到第j个第二子矩阵,j为大于1且小于等于s的正整数。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,第一子矩阵为W行N列,第j个第二子矩阵为Tj行N列,Tj=N/2j,根据第一子矩阵和s个第二子矩阵,得到参数矩阵,包括:将第一子矩阵和s个第二子矩阵沿第一子矩阵的列方向纵向排布,得到参数矩阵。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,参数矩阵包括T行N列,参数矩阵中的第m行第n列的参数元素由第一参数矩阵中第m行第n列的参数元素和第二参数矩阵中第m行第n列的参数元素共同表示,m、n、T均为大于等于1的正整数,第一参数矩阵包括T行第一参数元素,第二参数矩阵包括T行第二参数元素,并且T行第一参数元素与T行第二参数元素的行列位置一一对应,第一参数矩阵和第二参数矩阵排布成2T行N列的第一矩阵形式,设置忆阻器阵列,将参数矩阵写入忆阻器阵列,包括:将第一参数矩阵和第二参数矩阵按第一矩阵的形式映射至忆阻器阵列。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,包括:确定至少一组待处理行,其中,至少一组待处理行中的每组包括与T行第一参数元素中的一行所对应的一行目标忆阻器单元,以及与对应于T行第一参数元素中的一行的T行第二参数元素中的一行所对应的一行目标忆阻器单元;对至少一组待处理行中的每组包括的两行目标忆阻器单元分别对应的多个行信号输出端中的两个电流信号进行电流预处理,以得到至少一组待处理行中的每组对应的多个第二模拟信号。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,忆阻器阵列包括第一忆阻器阵列和第二忆阻器阵列,参数矩阵中第r行第h列的参数元素由第一参数矩阵中第r行第h列的参数元素和第二参数矩阵中第r行第h列的参数元素共同表示,其中,r和h为大于1的正整数,第一参数矩阵与第二参数矩阵均具有与参数矩阵相同的矩阵形式,设置忆阻器阵列,将参数矩阵写入忆阻器阵列包括:将第一参数矩阵对应地按照参数矩阵的形式映射于第一忆阻器阵列,以及将第二参数矩阵对应地按照参数矩阵的形式映射于第二忆阻器阵列。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,包括:对第一忆阻器阵列中的多个行信号输出端中的每个电流信号和第二忆阻器阵列中对应的多个行信号输出端中的每个电流信号进行电流预处理,以得到多个第二模拟信号。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,电流预处理为电流相减处理或电流相加处理。
例如,在本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法中,获取多个第一模拟信号包括:对输入序列包括的多个输入参数分别进行编码处理,得到每个输入参数对应的模拟信号;确定多个输入参数分别对应的多个模拟信号作为多个第一模拟信号。
本公开至少一实施例提供一种电子装置,包括:忆阻器阵列,配置为可进行乘加运算;信号获取装置,配置为获取多个第一模拟信号;控制驱动电路,其中,控制驱动电路配置为执行以下步骤:确定对应于数据处理的参数矩阵,其中,数据处理包括离散小波变换,离散小波变换包括至少s级离散小波变换,s为大于1的正整数;以及设置忆阻器阵列,将对应于数据处理的参数矩阵的数据写入忆阻器阵列;将多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制忆阻器阵列操作以对多个第一模拟信号进行数据处理,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,其中,多个第二模拟信号包括s级离散小波变换中的每一级的变换结果。
例如,在本公开至少一实施例提供一种电子装置中,其中,控制驱动电路执行确定对应于数据处理的参数矩阵时,包括执行以下操作:确定每一级离散小波变换对应的用于执行第一变换的第一变换矩阵和用于执行第二变换的第二变换矩阵;根据每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵;根据前s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵;根据第一子矩阵和s个第二子矩阵,得到参数矩阵。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1A示出了一种一级离散小波变换的示意图;
图1B示出了一种三级离散小波变换的示意图;
图2示出了一种忆阻器阵列的示意性结构;
图3A为1T1R结构的忆阻器单元的示意图;
图3B为2T2R结构的忆阻器单元的示意图;
图4为本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法的示意性流程图;
图5为本公开至少一实施例提供的数据处理方法中步骤S110的示意性流程图;
图6为本公开至少一实施例提供的第一变换矩阵的示意性结构图;
图7为本公开至少一实施例提供的一种参数矩阵的示意图;
图8为本公开至少一实施例提供的一种二级离散小波变换的矩阵示意图;
图9为本公开至少一实施例提供的一级离散小波变换的忆阻器阵列示意图;
图10为本公开至少一实施例提供的另一种写入离散小波变换的参数矩阵后的忆阻器阵列示意图;
图11为本公开至少一实施例提供的再一种写入离散小波变换的参数矩阵后的忆阻器阵列示意图;
图12为本公开至少一实施例提供的一种基于忆阻器的s级离散小波变换的处理流程示意图;
图13A为本公开至少一实施例提供的一种电子装置的示意性框图;
图13B为本公开至少一实施例提供的一种电子装置示意图;以及
图13C为本公开至少一实施例提供的另一种电子装置示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
随着大数据时代的来临,CPU,GPU等传统计算平台由于摩尔定律逼近极限,其算力的提升面临终结。忆阻器是一种新型的微纳电子器件,在外部电压的激励作用下,忆阻器的电阻状态可以进行调节。忆阻器阵列的运行是根据基尔霍夫电流定律和欧姆定律并行的完成乘累加计算,并且数据的存储与计算均可由忆阻器阵列的各器件完成,突破了传统计算设备的冯诺依曼架构,减少了数据搬运的时间,并且计算时所需的功耗较低、面积较小。
小波变换是现代谱分析工具,它既能考察局部时域过程的频域特征,又能考察局部频域过程的时域特征,因此即使对于非平稳过程,处理起来也得心应手。在数字图像处理中,需要将连续的小波及其小波变换离散化。一般计算机实现中使用二进制离散处理,将经过这种离散化的小波及其相应的小波变换成为离散小波变换。下面以一维离散小波变换为例,具体说明离散小波变换的计算原理。
图1A示出了一种一级离散小波变换的示意图。
如图1A所示,x[n]表示离散的、长度为N的输入序列,例如,输入序列包括N个输入参数;101表示低通滤波器,102表示高通滤波器。低通滤波器101配置为可以将离散的输入序列x[n]中的高频部分滤掉而输出低频部分;高通滤波器102则与低通滤波器101相反,配置为将离散的输入序列x[n]中的低频部分滤掉而输出高频部分。
103表示降采样处理,如图1A所示,降采样处理的倍数为2,例如,如果以x’[n]作为降采样处理的输入,则降采样处理的输出O[n]=x’[2n]。
如图1A所示,在一级离散小波变换中,首先将输入序列x[n]通过低通滤波器101进行第一滤波处理,得到第一滤波结果,将输入序列x[n]通过高通滤波器102进行第二滤波处理,得到第二滤波结果;之后,对两个滤波结果分别进行降采样处理103,得到一级离散小波变换的第一变换结果x1,L[n]以及第二变换结果x1,H[n]。例如,第一变换结果x1,L[n]包含近似信息,近似表示信号的低尺度,即低频信息;第二变换结果x1,H[n]包含细节信息,细节表示信号的高尺度,即高频信息。
图1A示出的一级离散小波变换对应的输入输出关系可以由下面的公式(1)表示:
其中,x[n]表示输入序列,g[n]表示低通滤波器对应的第一系数向量,h[n]表示高通滤波器对应的第二系数向量,“*”表示卷积计算,K表示滤波器阶数,“↓2”表示2倍降采样处理。
图1B示出了一种三级离散小波变换的示意图。
如图1B所示,x[n]表示离散的、长度为N的输入序列。例如,对于第一级离散小波变换,输入序列包括N个输入参数,201表示第一级离散小波变换的低通滤波器,202表示第一级离散小波变换的高通滤波器,204表示第二级离散小波变换的低通滤波器,205表示第二级离散小波变换的高通滤波器,206表示第三级离散小波变换的低通滤波器,207表示第三级离散小波变换的高通滤波器,203表示降采样处理,如图1B所示,降采样处理的倍数为2。
如图1B所示,在三级离散小波变换中,首先,在第一级离散小波变换中,将输入序列x[n]通过低通滤波器201进行第一滤波处理,得到第一滤波结果,将输入序列x[n]通过高通滤波器202进行第二滤波处理,得到第二滤波结果;之后,对第一滤波结果和第二滤波结果分别进行降采样处理,得到第一级离散小波变换的第一变换结果x1,L[n]以及第二变换结果x1,H[n];之后,在第二级离散小波变换中,将第一变换结果x1,L[n]通过低通滤波器204进行第一滤波处理,将第一变换结果x1,L[n]通过高通滤波器205进行第二滤波处理,得到相应的两个滤波结果;之后,对两个滤波结果分别进行降采样处理,得到第二级离散小波变换的第一变换结果x2,L[n]以及第二变换结果x2,H[n];之后,在第三级离散小波变换中,将第一变换结果x2,L[n]通过低通滤波器206进行第一滤波处理,将第一变换结果x2,L[n]通过高通滤波器207进行第二滤波处理,并得到相应的两个滤波结果;之后,对两个滤波结果分别进行降采样处理,得到三级离散小波变换中第三级的第一变换结果x3,L[n]以及第二变换结果x3,H[n]。
图1B示出的多级离散小波变换对应的输入输出关系可以由下面的公式(2)表示:
式中,a表示离散小波变换的级数,xa,L[n]表示第a级离散小波变换的第一变换结果;xa,H[n]表示第a级离散小波变中的第二变换结果,K表示滤波器阶数。例如,如果x[n]的长度为N,则xa,L[n]及xa,H[n]的长度为N/2a。
基于忆阻器阵列利用物理定律实现模拟计算是近年来的热点研究领域,可以利用忆阻器阵列实现离散小波变换。
如图1A和1B所示,由于离散小波变换的每一级都需要使用上一级的变换结果,例如,该变换结果可以通过存储器进行暂存,之后再经过运算变换输入下一级离散小波变换进行处理。因此,随着离散小波变换的级数越来越多,各级间存在的信号运算就越多,进而将增加额外的电路面积以及计算功耗的开销;另外,考虑到运算器件的电导存在的固有波动,运算器件的误差会在多级忆阻器阵列中累积,从而降低最终的变换精度。
本公开至少一实施例提供一种基于忆阻器阵列的数据处理方法和电子装置。该数据处理方法包括:确定对应于数据处理的参数矩阵,其中,数据处理包括离散小波变换,离散小波变换包括至少s级离散小波变换,s为正整数;设置忆阻器阵列,将参数矩阵写入忆阻器阵列;获取多个第一模拟信号,并将多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制忆阻器阵列操作以对多个第一模拟信号进行数据处理,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,其中,多个第二模拟信号包括s级离散小波变换中每一级的变换结果。
该基于忆阻器阵列的数据处理方法通过对各级离散小波变换的变换矩阵进行整合设计,进行一次计算(或一个计算周期)即可得到离散小波变换的所有结果值,这大大减少了用于执行离散小波变换的中间转化电路(例如存储器、运算器等)的面积和功耗开销,大幅减少了运算器件的使用,避免运算器件的固有误差积累,大幅提高了计算的精度。
本公开的至少一实施例还提供该基于忆阻器阵列的数据处理方法对应的电子装置。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图2示出了一种忆阻器阵列结构的示意图。如图2所示,该忆阻器阵列由多个忆阻器单元构成,该多个忆阻器单元构成一个M行N列的阵列,M和N均为正整数。每个忆阻器单元包括开关元件和一个或多个忆阻器。
在图2中,WL<1>、WL<2>……WL<M>分别表示第一行、第二行……第M行的字线,每一行的忆阻器单元电路中的开关元件的控制极(例如晶体管的栅极)和该行对应的字线连接;BL<1>、BL<2>……BL<N>分别表示第一列、第二列……第N列的位线,每列的忆阻器单元电路中的忆阻器和该列对应的位线连接;SL<1>、SL<2>……SL<M>分别表示第一行、第二行……第M行的源线,每一行的忆阻器单元电路中的晶体管的源极和该行对应的源线连接。
图2的忆阻器阵列中的忆阻器单元例如可以为1T1R结构或者2T2R结构,其中,1T1R结构的忆阻器单元包括一个开关晶体管和一个忆阻器,2T2R结构的忆阻器单元包括两个开关晶体管和两个忆阻器。本公开对于忆阻器器件的类型、结构等没有限制。需要说明的是,本公开的实施例中采用的晶体管均可以为薄膜晶体管或场效应晶体管(例如MOS场效应晶体管)或其他特性相同的开关器件。这里采用的晶体管的源极、漏极在结构上可以是对称的,所以其源极、漏极在结构上可以是没有区别的。本公开的实施例对采用的晶体管的类型不作限定。
图3A示出了一种具有1T1R结构的忆阻器单元的示意图。如图3A所示,1T1R结构的忆阻器单元包括一个晶体管M1和一个忆阻器R1。
例如当晶体管M1采用N型晶体管时,其栅极和字线端WL连接,例如字线端WL输入高电平时晶体管M1导通;晶体管M1的第一极可以是源极并被配置为和源线端SL连接,例如晶体管M1可以通过源线端SL接收复位电压;晶体管M1的第二极可以是漏极并被配置为和忆阻器R1的第二极(例如负极)连接,忆阻器R1的第一极(例如正极)和位线端BL连接,例如忆阻器R1可以通过位线端BL接收置位电压。例如当晶体管M1采用P型晶体管时,其栅极和字线端WL连接,例如字线端WL输入低电平时晶体管M1导通;晶体管M1的第一极可以是漏极并被配置为和源线端SL连接,例如晶体管M1可以通过源线端SL接收复位电压;晶体管M1的第二极可以是源极并被配置为和忆阻器R1的第二极(例如负极)连接,忆阻器R1的第一极(例如正极)和位线端BL连接,例如忆阻器R1可以通过位线端BL接收置位电压。需要说明的是,阻变存储器结构还可以实现为其他结构,例如忆阻器R1的第二极与源线端SL连接的结构,本公开的实施例对此不作限制。
下面各实施例均以晶体管M1采用N型晶体管为例进行说明。
字线端WL的作用是对晶体管M1的栅极施加相应电压,从而控制晶体管M1导通或关闭。在对忆阻器R1进行操作时,例如进行置位操作或复位操作,均需要先开启晶体管M1,即需要通过字线端WL对晶体管M1的栅极施加导通电压。在晶体管M1导通后,例如,可以通过在源线端SL和位线端BL向忆阻器R1施加电压,以改变忆阻器R1的阻态。例如,可以通过位线端BL施加置位电压,以使得该忆阻器R1处于低阻态;又例如,可以通过源线端SL施加复位电压,以使得该忆阻器R1处于高阻态。例如,高阻态的电阻值为低阻态的电阻值100倍以上,例如1000倍以上。
需要说明的是,在本公开的实施例中,例如,通过字线端WL和位线端BL同时施加电压,可以使得忆阻器R1的电阻值越来越小,即忆阻器R1从高阻态变为低阻态,将使得忆阻器R1从高阻态变为低阻态的操作称为置位操作;通过字线端WL和源线端SL同时施加电压,可以使得忆阻器R1的电阻值越来越大,即忆阻器R1从低阻态变为高阻态,将使得忆阻器R1从低阻态变为高阻态的操作称为复位操作。例如,忆阻器R1具有阈值电压,在输入电压幅度小于忆阻器R1的阈值电压时,不会改变忆阻R1的电阻值(或电导值)。在这种情况下,可以通过输入小于阈值电压的电压,利用忆阻器R1的电阻值(或电导值)进行计算;可以通过输入大于阈值电压的电压,改变忆阻器R1的电阻值(或电导值)。
图3B示出了一种具有2T2R结构的忆阻器单元的示意图。如图3B所示,2T2R结构的忆阻器单元包括两个晶体管M1和M2以及两个忆阻器R1和R2。下面以晶体管M1和M2均采用N型晶体管为例进行说明。
晶体管M1的栅极和字线端WL1相连,例如M1的字线端WL1输入高电平时晶体管M1导通,晶体管M2的栅极和字线端WL2相连,例如M2的字线端WL2输入高电平时晶体管M2导通;晶体管M1的第一极可以是源极并被配置为和源线端SL连接,例如晶体管M1可以通过源线端SL接收复位电压,晶体管M2的第一极可以是源极并被配置为和源线端SL连接,例如晶体管M2可以通过源线端SL接收复位电压,晶体管M1的第一极与晶体管M2的第一极相连,并一起连接至源线端SL。晶体管M1的第二极可以是漏极并被配置为和忆阻器R1的第二极(例如负极)连接,忆阻器R1的第一极(例如正极)和位线端BL1连接,例如忆阻器R1可以通过位线端BL1接收置位电压;晶体管M2的第二极可以是漏极并被配置为和忆阻器R2的第二极(例如负极)连接,忆阻器R2的第一极(例如正极)和位线端BL2连接,例如忆阻器R2可以通过位线端BL2接收置位电压。
需要说明的是,2T2R结构的忆阻器单元中的晶体管M1和M2也可以均采用P型晶体管,这里不再赘述。
图4为本公开至少一实施例提供的一种基于忆阻器阵列的数据处理方法的示意性流程图。
例如,该忆阻器阵列包括阵列排布的多个忆阻器单元,并且该忆阻器配置为可进行乘加运算,也即乘积累加运算:将乘法的乘积结果进行累加处理,以得到乘加结果累加后的和值。
例如,如图4所示,本公开实施例提供的基于忆阻器阵列的数据处理方法包括步骤S110至S130。
例如,该忆阻器阵列的结构示意图如图2所示,每个忆阻器单元可以为如图3A所示的1T1R结构或者如图3B所示的2T2R结构。
在步骤S110,确定对应于数据处理的参数矩阵,其中,数据处理包括离散小波变换,离散小波变换包括至少s级离散小波变换,s为正整数。
在步骤S120,设置忆阻器阵列,将参数矩阵写入忆阻器阵列。
在步骤S130,获取多个第一模拟信号,并将多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制忆阻器阵列操作以对多个第一模拟信号进行数据处理,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号。
例如,对于离散小波变换,多个第二模拟信号包括s级离散小波变换中的每一级的变换结果。
例如,多个第一模拟信号为待进行数据处理的输入信号,多个第二模拟信号为对输入信号执行数据处理后的输出信号。
例如,第一模拟信号为模拟电压信号,第二模拟信号为模拟电流信号。
例如,对于步骤S110,该数据处理方法中的离散小波变换可以是一维离散小波变换,关于一维离散小波变换的计算原理如上文所述,这里不再赘述。
例如,离散小波变换包括至少s级离散小波变换,s级离散小波变换包括第一级离散小波变换、...、第i级离散小波变换、...、第s级离散小波变换。例如,对于图1A所示的一级离散小波变换,s=1,对于图1B所示的三级离散小波变换,s=3。
例如,第一级离散小波变换接收输入序列并对输入序列进行第一变换和第二变换,分别得到第一级的第一变换结果和第二变换结果。
例如,参考图1A,第一变换包括利用低通滤波器101对输入序列进行第一滤波处理,得到第一滤波结果,之后对第一滤波结果进行降采样处理,得到第一级的第一变换结果x1,L[n]。
例如,参考图1A,第二变换包括利用高通滤波器102对输入序列进行滤波处理,得到第二滤波结果,之后对第二滤波结果进行降采样处理,得到第一级的第二变换结果x1,H[n]。
例如,第i级离散小波变换接收第i-1级离散小波变换的第一变换结果并对第i-1级离散小波变换的第一变换结果进行第一变换和第二变换,得到第i级离散小波变换的第一变换结果和第二变换结果,i为大于等于2且小于等于s的正整数。
例如,每一级的第一变换可以包括对接收的上一级的第一变换结果进行低通滤波处理和降采样处理,以得到该级的第一变换结果。每一级的第二变换可以包括对接收的上一级的第一变换结果进行高通滤波处理和降采样处理,以得到该级的第二变换结果。
例如,以图1B为例,第一级离散小波变换与图1A所示的过程相同;第二级离散小波变换包括:接收第一级离散小波变换的第一变换结果x1,L[n],对第一变换结果x1,L[n]进行第一变换和第二变换,得到第二级离散小波变换的第一变换结果x2,L[n]和第二变换结果x2,H[n],第一变换和第二变换的过程如前所述,这里不再赘述。
例如,第s级的变换结果包括第s级的第一变换结果和第二变换结果,s级中除第s级以外的其他级离散小波变换的变换结果包括各级的第二变换结果。也就是说,通过本公开提供的数据处理方法,可以一次性得到s级离散小波变换中每一级的变换结果,例如,一次性得到第一级的第二变换结果x1,H[n]、第二级的第二变换结果x2,H[n]、...、第s-1级的第二变换结果xs-1,H[n]、第s级的第一变换结果xs,L[n]、第s级的第二变换结果xs,H[n],大幅减少了多级离散小波变换的中间转化电路的面积和功耗开销,提高了计算的精度。
基于离散小波变换的变换特性,本公开至少一实施例提出了一种多级离散小波变换的矩阵,对应的输入输出关系可以由下面的公式(3)表示:
[xs,L;xs,H;xs-1,H;…;x2,H;x1,H]=Tsx 公式(3)
式中,Ts表示s级离散小波变换的参数矩阵;x表示输入序列;xs,L、xs,H、xs-1,H…x2,H、x1,H分别表示s级离散小波变换中每一级的变换结果。这里,“;”表示将各个矩阵按照列对齐排布。
图5为本公开至少一实施例提供的数据处理方法中步骤S110的示意性流程图。
如图5所示,步骤S110可以包括步骤S1101-步骤S1104。
在步骤S1101,确定每一级离散小波变换对应的用于执行第一变换的第一变换矩阵和用于执行第二变换的第二变换矩阵。
例如,第x级离散小波变换对应的第一变换矩阵包括P行Q列,P=N/2x,Q=N/2x-1,N为输入序列包括的多个输入参数的总数,也即输入序列的长度,x为正整数且小于等于s。
例如,第一变换包括第一滤波处理,例如,第一滤波处理为前述的低通滤波处理。
在步骤S1101中,确定每一级离散小波变换对应的用于执行第一变换的第一变换矩阵,可以包括:确定用于第一滤波处理的第一滤波器对应的第一系数向量,其中,第一系数向量包括M个第一滤波参数;从Q列中,依次选择P个需要进行第一变换的对象列组,其中,每个对象列组包括M列,并且P个对象列组与P行一一对应;确定第一变换矩阵的每一行中的M个目标元素为M个第一滤波参数,每一行中除M个目标元素以外的Q-M个元素均为第一值,其中,M个目标元素的位置基于每一行对应的对象列组包括的M列确定;这里,P、Q、M以及N为大于等于1的正整数。
例如,第一变换还包括降采样处理,例如降采样处理为前述的2倍降采样处理。在步骤S1101中,从Q列中,依次选择P个需要进行第一变换的对象列组,可以包括:根据降采样处理的降采样倍数,从Q列中,依次选择P个需要进行第一变换的对象列组。
图6为本公开至少一实施例提供的第一变换矩阵的示意性结构图。例如,图6所示的第一变换矩阵为第x级离散小波变换对应的第一变换矩阵Tx,L,包括P行Q列,P=N/2x,Q=N/2x-1,N为输入序列包括的多个输入参数的总数。
如图6所示,例如,第一变换矩阵用于执行第一变换,其中,用于执行第一滤波处理的第一滤波器对应的第一系数向量为w=[g1,g2…gM],g1,g2…gM分别为M个第一滤波参数。
例如,从第一变换矩阵中Q列中,依次选择与P行一一对应的P个对象列组,分别为对象列组(1)、对象列组(2)、…、对象列组(P),分别如图6中每行中的黑色粗线框所示,图6示出了对象列组(1)和对象列组(P)。
例如,如图6所示,对于每一行中的对象列组,均包含M个目标元素,将第一变换矩阵中每一行中的对象列组的M个目标元素确定为第一系数向量中的M个第一滤波参数g1,g2…gM,每一行中除M个目标元素以外的Q-M个元素均为第一值,M个目标元素的位置基于每一行对应的对象列组包括的M列确定。
如图6所示,以对象列组(1)为例,对象列组(1)对应第一变换矩阵中的第一行,对象列组(1)包括第一变换矩阵第一行中的第1列、第二列、...、第M列,确定第一变换矩阵中的第一行第一列、第一行第二列、...、第一行第M列分别为M个目标元素,确定M个目标元素的值依次为M个第一滤波参数。第一行中除M个目标元素以外的Q-M个元素(第一行第M+1列、第一行第M+2列、...、第一行第Q列)均为第一值,例如,图6中的第一值表示为0,当然在一些实施例中,第一值还可以是极大值等其他值,只要能够与滤波参数区分即可,本公开对此不作限制。
以对象列组(P)为例,如图6所示,对象列组(P)对应于第一变换矩阵中的第P行,对象列组(P)包括第一变换矩阵第P行中的第Q-M+1列、第Q-M+2列、...、第Q列。将第一变换矩阵中的第P行第Q-M+1列、第P行第Q-M+2列、...、第P行第Q列分别确定为M个目标元素,并将M个目标元素的值依次确定为M个第一滤波参数。其中,第P行中除M个目标元素以外的Q-M个元素(第P行第Q-M列、第P行第Q-M-1列、...、第P行第1列)均为第一值。
例如,M个第一滤波参数分别映射至M个目标元素中的哪些位置根据输入序列确定。例如,若x=1,则Q=N,第一变换矩阵的第一列至第Q列分别对应输入序列中的第一个元素至第N个元素,此时,M个第一滤波参数与M个目标元素的映射关系如图6所示。若改变输入序列的位置关系,则M个第一滤波参数与M个目标元素的映射关系相应调整即可,但需要保证各级的第一变换矩阵和第二变换矩阵都具有相同的输入序列的位置关系。
例如,如图6所示,当降采样倍数为2时,对象列组(1)可以对应第一行的第一列至第M列,对象列组(2)可以对应第二行的第3列至第3+M列,...,对象列组(P)可以对应第P行的第Q-M+1列至第Q列,以此类推可以得到P个对象列组。
同理,第x级离散小波变换对应的第二变换矩阵可以表示为Tx,H,第x级离散小波变换对应的第二变换矩阵包括P行Q列,P=N/2x,Q=N/2x-1,N为输入序列包括的多个输入参数的总数。每一级的第二变换矩阵用于进行第二滤波处理,确定每一级离散小波变换对应的用于执行第二变换的第二变换矩阵Tx,H与上述确定第一变换矩阵Tx,L的方式相同,区别仅在于将第二变换矩阵的每一行中的M个目标元素确定为M个第二滤波参数,M个第二滤波参数为用于第二滤波处理的第二滤波器对应的第二系数向量包括的滤波参数,在此不再赘述。
在步骤S1102,根据每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵。
例如,步骤S1102可以包括:按照s级离散小波变换的变换顺序,将s级离散小波变换分别对应的s个第一变换矩阵依次相乘,得到第一子矩阵。
例如,s级离散小波变换分别对应的s个第一变换矩阵可表示为:Ts,L,Ts-1,L,Ts-2,L,…,T1,L,其中,Ts,L表示第s级的第一变换矩阵,Ts-1,L表示第s-1级的第一变换矩阵,Ts-2,L表示第s-2级的第一变换矩阵,T1,L表示第1级的第一变换矩阵。
按照s级离散小波变换的变换顺序依次相乘,例如,s级离散小波变换的变换顺序为从第一级、第二级、...、依次到第s级,由此可以得到第一子矩阵,例如,第一子矩阵可表示为Ws,L=Ts,LTs-1,LTs-2,L…T1,L。
在步骤S1103,根据第一级离散小波变换、第二级离散小波变换、...、第s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵。
例如,s级离散小波变换分别对应的s个第二变换矩阵可表示为:Ts,H,Ts-2,H,…,T2,H,T1,H,其中,Ts,H表示第s级的第二变换矩阵,Ts-1,H表示第s-1级的第二变换矩阵,Ts-2,H表示第s-2级的第二变换矩阵,…,T2,H表示第2级的第二变换矩阵,以及T1,H表示第1级的第二变换矩阵。
s个第二子矩阵与s级一一对应,也即s级离散小波变换中的每一级离散小波变换均对应一个第二子矩阵。s个第二子矩阵可以分别表示为Ws,H、Ws-1,H、…、W2,H、W1,H,其中,Ws,H表示第s级离散小波变换对应的第二子矩阵,Ws-1,H表示第s-1级离散小波变换对应的第二子矩阵、…、W2,H表示第2级离散小波变换对应的第二子矩阵,以及W1,H表示第1级离散小波变换对应的第二子矩阵。
例如,步骤S1103可以包括:响应于s=1,将第1级离散小波变换对应的第二变换矩阵作为第二子矩阵;响应于s大于1,针对s级中的第j级对应的第j个第二子矩阵:将第1级至第j-1级离散小波变换分别对应的j-1个第一变换矩阵依次相乘,得到中间子矩阵,将中间子矩阵与第j级离散小波变换对应的第二变换矩阵相乘,得到第j个第二子矩阵,j为大于1且小于等于s的正整数。
例如,当s=1时,即对于一级的离散小波变换,该一级离散小波变换对应的第二变换矩阵T1,H作为第二子矩阵,则第二子矩阵W1,H=T1,H。
例如,当s>1时,针对s级中的第j级对应的第j个第二子矩阵Wj,H:首先,根据步骤S1101确定第1级至第j-1级离散小波变换分别对应的j-1个第一变换矩阵,j-1个第一变换矩阵分别表示为:Tj-1,L,Tj-2,L…T2,L,T1,L,其中,Tj-1,L为第j-1级离散小波变换对应的第一变换矩阵,Tj-2,L为第j-2级离散小波变换对应的第一变换矩阵,T2,L为第2级离散小波变换对应的第一变换矩阵,以及T1,L为第1级离散小波变换对应的第一变换矩阵;之后,将第1级至第j-1级离散小波变换分别对应的j-1个第一变换矩阵依次相乘,可以得到中间子矩阵为Tj-1, LTj-2,L…T1,L;之后,将该中间子矩阵与第j级离散小波变换对应的第二变换矩阵Tj,H相乘,可以得到第j个第二子矩阵Wj,H,即Wj,H=Tj,HTj-1,LTj-2,L…T1,L。
由此,可得到s个第二子矩阵。例如,第s个第二子矩阵表示为:Ws,H=Ts,HTs-1,L…T1,L;第s-1个第二子矩阵表示为Ws-1,H=Ts-1,HTs-2,L…T1,L;…;第2个第二子矩阵表示为W2,H=T2,HT1,L以及第1个第二子矩阵表示为W1,H=T1,H。
步骤S1104可以包括:将第一子矩阵和s个第二子矩阵沿第一子矩阵的列方向纵向排布,得到所述参数矩阵。
例如,s级离散小波变换的第一子矩阵可以包括W行N列,例如,第j个第二子矩阵为Tj行N列,Tj=N/2j。
例如,第一子矩阵和s个第二子矩阵的列数均为N列,将第一子矩阵和s个第二子矩阵沿第一子矩阵的列方向纵向排布,可以得到s级离散小波变换的参数矩阵,例如,s级离散小波变换的参数矩阵Ts可以表示为Ts=[Ws,L;Ws,H;Ws-1,H;…;W2,H;W1,H]=[Ts,LTs-1,L…T1,L;Ts,HTs-1,L…T1,L;…;T2,HT1,L;T1,H]。
通过输入序列和每一级对应的第二子矩阵,可以得到该级离散小波变换的第二变换结果,也即可以得到对应于s个第二子矩阵与输入序列运算后的s个第二变换结果。
例如,结合公式(3),第一变换结果xs,L=Ws,L*x;第s级对应的第二变换结果xs,H=Ws,H*x;第s-1级对应的第二变换结果xs-1,H=Ws-1,H*x;…;第2级对应的第二变换结果x2,H=W2,H*x;以及第1级对应的第二变换结果x1,H=W1,H*x。
图7为本公开至少一实施例提供的一种参数矩阵的示意图。
对于s级的离散小波变换,输入序列为x,其中x的长度为N。例如,根据步骤S1101-步骤S1103,可得到s级离散小波变换的第一子矩阵Ws,L和s个第二子矩阵Ws,H、Ws-1,H、…、W2,H、W1,H。
如图7所示,第一子矩阵Ws,L=Ts,LTs-1,L…T1,L,第一子矩阵Ws,L由s个第一变换矩阵Ts,L,Ts-1,L,…,以及T1,L依次相乘得到,并且第一子矩阵包括N/2s行,根据第一子矩阵和输入序列x,得到第s级离散小波变换的第一变换结果xs,L。
相应的,s个第二子矩阵包括第s级离散小波变换对应的第二子矩阵Ws,H=Ts, HTs-1,L…T1,L,对应的行数为N/2s,根据第s级离散小波变换对应的第二子矩阵Ws,H和输入序列x,得到第s级离散小波变换的第二变换结果xs,H;以此类推,第3级离散小波变换对应的第二子矩阵W3,H=T3,HT2,LT1,L,对应的行数为N/8,根据第3级离散小波变换对应的第二子矩阵W3,H和输入序列x,得到第3级离散小波变换的第二变换结果x3,H;第2级离散小波变换对应的第二子矩阵W2,H=T2,HT1,L,对应的行数为N/4,根据第2级离散小波变换对应的第二子矩阵W2,H和输入序列x,得到第2级离散小波变换的第二变换结果x2,H;以及第1级离散小波变换对应的第二子矩阵W1,H=T1,H,对应的行数为N/2,根据第1级离散小波变换对应的第二子矩阵W1,H和输入序列x,得到第1级离散小波变换的第二变换结果x1,H。
图8为本公开至少一实施例提供的一种二级离散小波变换的矩阵示意图。
例如,二级的离散小波变换的矩阵对应的输入输出关系可以表示为公式(4):
[x2,L;x2,H;x1,H]=T2 x1,L 公式(4)
式中,T2表示二级离散小波变换的参数矩阵;x2,L表示第二级离散小波变换的第一变换结果,x2,H表示第二级离散小波变换的第二变换结果;x1,H表示第一级离散小波变换的第二变换结果;x1,L表示第一级离散小波变换的第一变换结果。
例如,参考步骤S1101,确定第一级离散小波变换对应的第一变换矩阵T1,L、第一级离散小波变换对应的第二变换矩阵T1,H、第二级离散小波变换对应的第一变换矩阵T2,L、以及第二级离散小波变换对应的第二变换矩阵T2,L,具体过程不再赘述。
参考步骤S1102,可得到二级离散小波变换的第一子矩阵W2,L=T2,LT1,L。
参考步骤S1103,二级离散小波变换的第二子矩阵为2个,其中第一个第二子矩阵为W1,H=T1,H,即第一级离散小波变换对应的第二变换矩阵;第二个第二子矩阵为W2,H=T2, HT1,L,即将第二级离散小波变换的第二变换矩阵T2,H和第一级离散小波变换的第一变换矩阵T1,L依次相乘得到。
对于步骤S1104,如图8所示,将二级离散小波变换的第一子矩阵W2,L和第二子矩阵W2,H、W1,H沿第一子矩阵W2,L的列方向纵向排布,从而得到二级离散小波变换的参数矩阵T2=[W2,L;W2,H;W1,H]=[T2,LT1,L;T2,HT1,L;T1,H]。
例如,对于二级离散小波变换,当输入向量x的长度为N时,第一子矩阵W2,L=T2, LT1,L,对应的行数为N/4,根据第一子矩阵W2,L和输入序列x,可得到第二级离散小波变换的第一变换结果x2,L;第2级离散小波变换对应的第二子矩阵W2,H=T2,HT1,L,对应的行数为N/4,根据第2级离散小波变换对应的第二子矩阵W2,H和输入序列x,可得到第2级离散小波变换的第二变换结果x2,H;以及第1级离散小波变换对应的第二子矩阵W1,H=T1,H,对应的行数为N/2,根据第1级离散小波变换对应的第二子矩阵W1,H和输入序列x,得到第1级离散小波变换的第二变换结果x1,H。
通过步骤S110得到参数矩阵后,在步骤S120将参数矩阵映射至忆阻器阵列中。
例如,在步骤S120,将参数矩阵包括的多个参数元素按照参数矩阵的形式对应地映射忆阻器阵列中,例如将参数矩阵中同一行的参数元素分别映射于忆阻器阵列中同一行的忆阻器单元,将参数矩阵中同一列的目标元素分别映射于忆阻器阵列中同一列的忆阻器单元。
例如,需要被映射的目标忆阻器单元设定为可用于计算的导电状态且具有对应于数值的电导值。例如,若参数矩阵中的一个参数元素为第一值,该参数元素对应的忆阻器单元设置为初始状态,例如,初始状态可以为忆阻器在初始化后的高阻状态(低电导状态)。
需要说明的是,参数矩阵的具体映射至忆阻器阵列的过程可以采用任意可行的方法,本公开对此不作限制。
在步骤S130,忆阻器阵列获取多个第一模拟信号,并将多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制忆阻器阵列操作以对多个第一模拟信号进行数据处理,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号。
例如,对于离散小波变换,多个第二模拟信号包括s级离散小波变换中的每一级的变换结果。
例如,获取多个第一模拟信号还可以通过编码处理,将向量x1,x2…xn编码成电压脉冲向量,也即将向量x1,x2…xn对应的每个参数元素编码成对应的电压脉冲,由此得到向量x1,x2…xn中每个参数元素对应的第一模拟信号。
例如,在编码处理过程中,可以利用脉冲个数来对参数元素进行编码处理,也可以用脉冲幅度编码对参数元素进行编码处理,本公开对编码处理的具体过程不作限制。
例如,用于数据处理的向量可以为一段长度为N的数字信号;例如,数字信号可以为预先存储的数字信号;例如,数字信号可以为实时获取的数字信号。将数字信号进行数模转换处理以得到多个第一模拟信号。
例如,对多个第二模拟信号进行模数转换处理,以得到s级离散小波变换中的每一级的变换结果。
例如,每个忆阻器单元可以为1T1R结构,如图3A所示,也即每个忆阻器单元包括1个忆阻器,通过该忆阻器的电导值表示对应的参数元素。
例如,每个忆阻器单元可以为2T2R结构,如图3B所示,也即每个忆阻器单元包括两个忆阻器,可以利用两个忆阻器的电导值实现参数元素的负值,从而可以利用多个忆阻器单元实现更加丰富、复杂的数据处理。
图9为本公开至少一实施例提供的一种写入参数矩阵后的忆阻器阵列的示意图。例如,该参数矩阵为一级离散小波变换对应的参数矩阵。
例如,对于一级离散小波变换的矩阵,对应的输入输出关系可以由下面的公式(5)表示:
[x1,L;x1,H]=T1x公式(5)
式中,T1表示一级离散小波变换的参数矩阵;x表示输入序列;x1,L表示第一级离散小波变换的第一变换结果,x1,H表示第一级离散小波变换的第二变换结果。
例如,一级离散小波变换的参数矩阵包括第一子矩阵和1个第二子矩阵,第一子矩阵和该1个第二子矩阵沿第一子矩阵的列方向纵向排布。其中,一级离散小波变换的参数矩阵T1可以表示为T1=[T1,L;T1,H],T1,L表示一级离散小波变换的第一变换矩阵,T1,H表示一级离散小波变换的第二变换矩阵。
例如,当输入向量x的长度为N,第一变换矩阵T1,L和第二变换矩阵T1,H均为N/2行,N列的矩阵。例如,用于第一滤波处理的第一滤波器对应的第一系数向量分别为[g1,g2…gM],并且第一系数向量[g1,g2…gM]中的每个参数元素均包括M个第一滤波参数,用于第二滤波处理的第二滤波器对应的第二系数向量分别为[h1,h2…hM],并且第二系数向量[h1,h2…hM]中的每个参数元素均包括M个第二滤波参数。
例如,忆阻器阵列可以包括N行N列,X1、X2、…、XN-1、XN分别表示忆阻器阵列的N个列信号输入端,忆阻器阵列还包括N个行信号输出端,N个行信号输出端分别输出第二模拟信号。对N个第二模拟信号进行模数转换处理等可以得到s级离散小波变换每一级的变换结果,例如,x1,L,1至x1,L,N/2表示第一级离散小波变换的第一变换结果中,x1,H,1至x1,H,LN/2表示第一级离散小波变换的第二变换结果。
如图9所示,行列线交汇处的黑色方块表示一个忆阻器单元。例如,忆阻器单元旁的数字“0”表示该忆阻器单元的忆阻器处于初始状态,忆阻器单元旁的标记“g1,g2…gM”和“h1,h2…hM”分别表示该忆阻器单元的忆阻器的电导值为参数元素“g1,g2…gM”和“h1,h2…hM”的数值。
根据步骤S1101-S1104得到参数矩阵T1,参数矩阵T1包括第一变换矩阵T1,L和第二变换矩阵T1,H,例如,T1=[…;O11,gT;O21,gT,O22;…;gT,Os1;…;…;O11,hT;O21,hT,O22;…;hT,Os1;…],T1,L=[…;O11,gT;O21,gT,O22;…;gT,Os1;…],T1,H=[…;O11,hT;O21,hT,O22;…;hT,Os1;…],这里,Oab表示第a行的第b个零向量,其中a、b表示任意下标,这里,“,”表示将各个矩阵按照行对齐排布,“;”表示将各个矩阵按照列对齐排布,具体过程不再赘述。
根据步骤S120,将参数矩阵T1映射至忆阻器阵列中。
如图9所示,离散小波变换的参数矩阵中的第一子矩阵被映射于忆阻器子阵列(1),第二子矩阵被映射于忆阻器阵列(2),以同时得到对N个第一模拟信号进行离散小波变换处理后的变换结果x1,L1、…、x1,LN/2、x1,H1、…、x1,HN/2,例如,各个变换结果根据忆阻器阵列的各条源线输出的第二模拟信号得到。
对于步骤S130,例如,针对图9所示的一维离散小波变换,对于参数矩阵T1的输入序列x,可以首先对输入序列x中的多个数字信号例如x1,x2,…,xn进行编码处理,以分别得到多个第一模拟信号。
例如,可以将多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,并控制忆阻器阵列操作以对多个第一模拟信号进行数据处理;对应于每一行的信号输出端,可以得到执行数据处理后的多个第二模拟信号。例如,还可以对多个第二模拟信号进行模数转换处理,得到对应与多个模拟信号的多个数字信号。其中,对应于第一子矩阵,通过忆阻器阵列进行处理后第一变换矩阵T1,L中的第一变换结果为N/2个,分别为x1,L,1~x1,L,N/2;对应于第二子矩阵,第二变换矩阵T2,L中的第二变换结果为N/2个,分别为x1,H,1~x1,H,N/2。
通过对一级离散小波变换的变换矩阵进行整合设计,并将得到的参数矩阵全部映射至忆阻器阵列中,可以通过一次计算完成两级离散小波变换,减少了多级离散小波变换中各级间的转化电路的面积和功耗开销,提高了计算的精度。
例如,也可以通过其他形式将多级离散小波变换的参数矩阵写入忆阻器阵列。
例如,多级离散小波变换的参数矩阵中的参数元素的数值可能为正数也可能为负数,例如,每个参数元素可以利用两个忆阻器的电导值来表示,例如,利用两个忆阻器的电导值之差来代表一个参数元素,或者,利用两个忆阻器的电导值之和来代表一个参数元素。
例如,参数矩阵可以由第一子矩阵和第二子矩阵共同表示。例如,参数矩阵包括T行N列,参数矩阵中的第m行第n列的参数元素由第一子参数矩阵中第m行第n列的参数元素和第二参数矩阵中第m行第n列的参数元素共同表示,m、n、T和N为正整数。也就是说,参数矩阵中的第m行第n列的参数元素为第一参数矩阵中第m行第n列的参数元素和第二参数矩阵中第m行第n列的参数元素之和或之差。
例如,第一参数矩阵包括T行第一参数元素,第二参数矩阵包括T行第二参数元素,T行第一参数元素与T行第二参数元素的行列位置一一对应,第一参数矩阵和第二参数矩阵排布成2T行N列的第一矩阵形式。例如,第一参数矩阵和第二参数矩阵具有前述参数矩阵相同的矩阵形式。
例如,步骤S120可以包括:设置忆阻器阵列,将第一参数矩阵和第二参数矩阵按第一矩阵形式映射至忆阻器阵列。
此时对于步骤S130,例如,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,可以包括:确定至少一组待处理行,其中,至少一组待处理行中的每组包括与T行第一参数元素中的一行所对应的一行目标忆阻器单元,以及与对应于T行第一参数元素中的一行的T行第二参数元素中的一行所对应的一行目标忆阻器单元;对至少一组待处理行中的每组包括的两行目标忆阻器单元分别对应的多个行信号输出端中的两个的电流信号进行电流预处理,以得到至少一组待处理行中的每组对应的多个第二模拟信号。
例如,电流预处理为电流相减处理或电流相加处理。
图10为本公开至少一实施例提供的另一种写入离散小波变换的参数矩阵后的忆阻器阵列示意图。
例如,图10中的V1至VN分别为N个第一模拟信号,分别输入N个列信号输入端,图10中的I1+至IT+和I1-至IT-分别为2T个行信号输出端所输出的2T个电流信号,基于2T个电流信号得到T个第二模拟信号I1至IT,T和N为正整数。
例如,参数矩阵可以由第一参数矩阵W1和第二参数矩阵W2共同表示。例如,参数矩阵包括T行N列,例如,参数元素G1N+和参数元素G1N-共同表示执行数据处理的参数元素G1N,参数元素G2N+和参数元素G2N-共同表示执行数据处理的参数元素G2N,参数元素GmN+和参数元素GmN-共同表示执行数据处理的参数元素GmN,参数元素GTN+和参数元素GTN-共同表示执行数据处理的参数元素GTN,也即是,用于执行数据处理的滤波系数向量为(G1N,G2N,GmN,GTN),滤波系数向量由第一参数矩阵和对应的第二参数矩阵共同表示,从而可以利用第一参数矩阵和对应的第二参数矩阵实现参数元素的负值,以执行更加丰富、复杂的卷积处理。
例如,每个用于执行数据处理的参数元素由第一参数矩阵和第二参数矩阵中对应行列位置的参数元素之差表示。
例如,在步骤S120,设置忆阻器阵列,将第一参数矩阵和第二参数矩阵按第一矩阵形式映射至忆阻器阵列。例如,第一参数矩阵映射为图10所示的忆阻器子阵列A,第二参数矩阵映射为图10所示的忆阻器子阵列B。忆阻器子阵列A和忆阻器子阵列B如图10中黑色粗实线标记的区域所示。
例如,在步骤S130,图10所示的忆阻器阵列对应的一组待处理行包括:位于忆阻器子阵列A中的第m行(例如忆阻器阵列第m行)中的一行目标忆阻器单元(Gm1+,Gm2+…GmN+),以及位于忆阻器子阵列B中的第m行(例如忆阻器阵列第T+m行)中的一行目标忆阻器单元(Gm1-,Gm2-…GmN-)。例如,将忆阻器阵列中的第m行的行信号输出端的电流信号Im+和第T+m行的行信号输出端的电流信号Im-进行电流预处理,以得到第二模拟信号Im。以此类推,按照上述方式得到执行数据处理后的T个第二模拟信号。
例如,上述电流预处理为电流相减处理。在另一些示例中,电流预处理也可以为电流相加处理。
需要说明的是,图10所示的映射状态仅是一种示意,例如,还可以将第一参数矩阵和第二参数矩阵以行为单位映射至忆阻器阵列中,本公开对此不作限制。例如,第一参数矩阵的第一行参数元素映射至忆阻器阵列的第一行,第二参数矩阵的第一行参数元素映射至忆阻器阵列的第二行,第一参数矩阵的第二行参数元素映射至忆阻器阵列的第三行,第二参数矩阵的第二行参数元素映射至忆阻器阵列的第四行,以此类推。
例如,还可以利用两个对应设置的第一忆阻器阵列和第二忆阻器阵列,并将对应的行信号输出端的电流信号进行预处理以得到第二模拟信号,以实现参数元素的负值,执行更加丰富、复杂的卷积处理。
例如,忆阻器阵列包括第一忆阻器阵列和第二忆阻器阵列,参数矩阵中第r行第h列的参数元素由第一参数矩阵中第r行第h列的参数元素和第二参数矩阵中第r行第h列的参数元素共同表示,其中,r和h为大于1的正整数,第一参数矩阵与第二参数矩阵均具有与参数矩阵相同的矩阵形式。例如,步骤S120可以包括:将第一参数矩阵对应地按照参数矩阵的形式映射于第一忆阻器阵列,将第二参数矩阵对应地按照参数矩阵的形式映射于第二忆阻器阵列。
此时对于步骤S130,例如,在忆阻器阵列的多个行信号输出端分别得到执行数据处理后的多个第二模拟信号,包括:对第一忆阻器阵列中的多个行信号输出端中的每个电流信号和第二忆阻器阵列中对应的多个行信号输出端中的每个电流信号进行电流预处理,以得到多个第二模拟信号。
例如,电流预处理为电流相减处理或电流相加处理。
图11为本公开至少一实施例提供的再一种写入离散小波变换的参数矩阵后的忆阻器阵列示意图,该实施例可以与图10所示的实施例实现相同的数据处理。
图11所示的忆阻器阵列包括第一忆阻器阵列和第二忆阻器阵列,每个忆阻器阵列具有独立的控制电路,例如具有独立的列信号输入端,以分别输入N个第一模拟信号V1至VN,以及独立的行信号输出端,以输出电流信号I1+至电流信号IT+和电流信号I1-至电流信号IT-。例如,图11中的I1至IT表示T个经过数据处理后的第二模拟信号。
例如,参数矩阵包括T行N列,参数矩阵中第r行第h列的参数元素由第一参数矩阵中第r行第h列的参数元素和第二参数矩阵中第r行第h列的参数元素共同表示,其中,r和h为正整数。第一参数矩阵与第二参数矩阵均具有与参数矩阵相同的矩阵形式。也即是,第一参数矩阵为T行N列,第二参数矩阵也为T行N列,第一参数矩阵和第二参数矩阵中对应行列位置的参数元素共同表示执行数据处理的一个参数元素。例如,每个用于执行数据处理的参数元素由第一参数矩阵和第二参数矩阵中对应行列位置的参数元素之差表示。
例如,如图11所示,在步骤S120,将第一参数矩阵对应地按照参数矩阵的形式映射于第一忆阻器阵列,将第二参数矩阵对应地按照参数矩阵的形式映射于第二忆阻器阵列。图11中的第一参数矩阵和第二参数矩阵的参数定义与图10相同,这里不再赘述。
例如,根据步骤S130,将第一忆阻器阵列中的第r行的行信号输出端的电流信号Ir+和第二忆阻器阵列中的第r行的行信号输出端的电流信号Ir-进行电流预处理,以得到第二模拟信号Ir。以此类推,按照上述方式得到执行数据处理后的T个第二模拟信号。
例如,上述电流预处理为电流相减处理。在另一些示例中,电流预处理也可以为电流相加处理。
图12为本公开至少一实施例提供的一种基于忆阻器的s级离散小波变换的处理流程示意图。下面结合图12,具体说明该基于忆阻器阵列的数据处理方法的执行过程。
在步骤S210,根据多级离散小波变换的矩阵确定对应于数据处理的参数矩阵,具体过程如步骤S110所示,在此不再赘述。
在步骤S220,将对应于离散小波变换的参数矩阵的数据写入忆阻器阵列,具体如步骤S120所述,这里不再赘述。
在步骤S230,对离散小波变换的输入序列包括的多个输入参数分别进行编码处理,得到每个输入参数对应的模拟信号,并确定多个输入参数分别对应的多个模拟信号作为多个第一模拟信号。具体如步骤S130所述,这里不再赘述。
在步骤S240,将多个第一模拟信号施加至对应的列信号输入端,以得到多个第二模拟信号,并对多个第二模拟信号进行模数转换处理以得到s级离散小波变换中的每一级的变换结果,具体过程如步骤S130所述,这里不再赘述。
基于忆阻器阵列的数据处理方法通过对各级离散小波变换的变换矩阵进行整合设计,实现了多级离散小波变换的计算结果可在一次计算内完成,在减少多级离散小波变换中各级间的转化电路的面积和功耗开销的同时,可以将计算的精度显著提高。
对应于上述基于忆阻器阵列的数据处理方法,本公开至少一实施例还提供一种电子装置,图13A为本公开至少一实施例提供的一种电子装置的示意性框图。
如图13A所示,电子装置1000包括忆阻器阵列1001、信号获取装置1002以及控制驱动电路1003。忆阻器阵列1001配置为能进行乘加运算,例如上述的离散小波变换运算。信号获取装置1002配置为获取多个第一模拟信号。控制驱动电路1003被配置为执行步骤S110至S130。
例如,忆阻器阵列1001可以采用图8所示的忆阻器阵列,忆阻器阵列包括阵列排布的多个忆阻器单元,例如,忆阻器阵列包括m行n列。例如,每个忆阻器单元包括忆阻器,每个忆阻器包括第一端和第二端,且该忆阻器能被设置为初始状态,也能被设置(置位)为具有一定电阻值的置位状态。当忆阻器处于初始状态时,其电阻值远大于处于置位状态的电阻。例如,每个忆阻器单元还包括开关元件,开关元件包括控制端、第一极和第二极,忆阻器的第一端与开关元件的第一极电连接。
例如,忆阻器阵列还包括m条字线、m条源线和n条位线。m条字线分别与m行对应,每条字线与一行忆阻器单元的各个开关元件的控制端电连接,m条源线分别与m行对应;m条源线分别与m行对应,每条源线与一行忆阻器单元的各个开关元件的第二极电连接;n条位线分别于n列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接。
例如,信号获取装置1002包括数字信号获取电路和数模转换电路。例如,数字信号获取电路配置为获取多个初始数字信号;数模转换电路配置为对多个初始数字信号进行数模转换处理,以分别得到多个第一模拟信号。
例如,控制驱动电路1003可以包括源线驱动电路、字线驱动电路和位线驱动电路。源线驱动电路配置为对多个第二模拟信号进行检测和对忆阻器阵列执行初始化操作;字线驱动电路配置为对忆阻器阵列的多个信号控制端施加开启信号和对忆阻器阵列执行初始化操作;位线驱动电路配置为对多个列信号输入端施加输入信号和对忆阻器阵列执行初始化操作,其中,输入信号至少包括多个第一模拟信号。
例如,控制驱动电路1003可以通过位线驱动电路向忆阻器阵列的多个列信号输入端施加输入信号,通过字线驱动电路同时将开启信号施加至忆阻器阵列的多个信号控制端,最终通过源线驱动电路对设置后的忆阻器阵列的多个行信号输出端的电流信号进行处理,以得到多个第二模拟信号。例如,对于多级的离散小波变换,通过控制驱动电路1003获得的多个第二模拟信号s级离散小波变换中的每一级的变换结果。
例如,电子装置1000还可以进一步包括数据输出电路,其中,该数据输出电路配置为将多个第二模拟信号转换为数字信号,以将多个第二模拟信号分别转换为多个数字信号以用于进行后续处理。
需要说明的是,关于通过信号获取装置1002获取多个第一模拟信号的具体说明可以参考上述基于忆阻器阵列的数据处理方法的实施例中图4所示的步骤S110的相关描述;控制驱动电路1003用于实现图4所示的步骤S110至步骤S130,关于控制驱动电路1003的具体说明可以参考上述基于忆阻器阵列的数据处理方法的实施例中图4所示的步骤S110至步骤S130的相关描述。此外,电子装置可以实现与前述基于忆阻器阵列的数据处理方法相似的技术效果,在此不再赘述。
图13B为本公开至少一实施例提供的一种电子装置示意图。例如,如图13B所示,电子装置包括信号获取装置、字线驱动电路、位线驱动电路、源线驱动电路、忆阻器阵列以及数据输出电路。
例如,信号获取装置配置为将数字信号通过DAC(Digital to Analog converter,数字模拟转换器)转换为多个第一模拟信号,以在进行离散小波处理时输入至忆阻器阵列的多个列信号输入端。
例如,忆阻器阵列包括M条源线、M条字线和N条位线,以及阵列排布为M行N列的多个忆阻器单元。例如,每个忆阻器单元为1T1R结构,将用于离散小波处理的参数矩阵多次映射于忆阻器阵列中不同的多个子阵列,具体过程如步骤S130所述,这里不再赘述。
例如,通过字线驱动电路、位线驱动电路和源线驱动电路实现离散小波处理的过程如前所述,这里不再赘述。
例如,字线驱动电路包括多个多路选择器(Multiplexer,简称Mux),用于切换字线输入电压,位线驱动电路包括多个多路选择器,用于切换位线输入电压,源线驱动电路也包括多个多路选择器,用于切换源线输入电压。
例如,忆阻器阵列包括操作模式和计算模式。当忆阻器阵列处于操作模式时,忆阻器单元处于初始化状态,可以将离散小波处理的参数矩阵中的参数元素的数值写入忆阻器阵列中。例如,将忆阻器的源线输入电压、位线输入电压和字线输入电压通过多路选择器切换至对应的预设电压区间。
例如,通过图13B中的字线驱动电路中的多路选择器的控制信号WL_sw[1:M]将字线输入电压切换至相应的电压区间。例如在对忆阻器进行置位操作时,将字线输入电压设置为2V(伏特),例如在对忆阻器进行复位操作时,将字线输入电压设置为5V,例如,字线输入电压可以通过图13B中的电压信号V_WL[1:M]得到。
例如,通过图13B中的源线驱动电路中的多路选择器的控制信号SL_sw[1:M]将源线输入电压切换至相应的电压区间。例如在对忆阻器进行置位操作时,将字线输入电压设置为0V,例如在对忆阻器进行复位操作时,将源线输入电压设置为2V,例如,源线输入电压可以通过图13B中的电压信号V_SL[1:M]得到。
例如,通过图13B中的位线驱动电路中的多路选择器的控制信号BL_sw[1:N]将位线输入电压切换至相应的电压区间。例如在对忆阻器进行置位操作时,将位线输入电压设置为2V,例如在对忆阻器进行复位操作时,将位线输入电压设置为0V,例如,源线输入电压可以通过图13B中DAC得到。
当忆阻器阵列处于计算模式时,此时,忆阻器阵列中的忆阻器处于可用于计算的导电状态,列信号输入端输入的位线输入电压不会改变忆阻器的电导值,以通过忆阻器阵列执行乘和运算完成离散小波变换处理。例如,通过图13B中的字线驱动电路中的多路选择器的控制信号WL_sw[1:M]将字线输入电压切换至相应的电压区间,例如施加开启信号时,相应行的字线输入电压设置为5V,例如不施加开启信号时,相应行的字线输入电压设置为0V,例如接通GND信号;通过图13B中的源线驱动电路中的多路选择器的控制信号SL_sw[1:M]将源线输入电压切换至相应的电压区间,例如将源线输入电压设置为0V,从而使得多个行信号输出端的电流信号可以流入数据输出电路,通过图13B中的位线驱动电路中的多路选择器的控制信号BL_sw[1:N]将位线输入电压切换至相应的电压区间,例如将位线输入电压设置为0.1V-0.3V,从而利用忆阻器阵列可进行乘和运算的特性完成离散小波变换操作。
例如,数据输出电路包括多个ADC(Analog to Digital converter,模拟数字转换器),可以将多个行信号输出端的电流信号转换为数字信号,以用于后续处理。
图13C为本公开至少一实施例提供的另一种电子装置示意图。
图13C所示的电子装置与图13B所示的电子装置的结构相同,也包括信号获取装置、字线驱动电路、位线驱动电路、源线驱动电路、忆阻器阵列以及数据输出电路。
例如,忆阻器阵列包括M条源线、2M条字线和2N条位线,以及阵列排布为M行N列的多个忆阻器单元。例如,每个忆阻器单元为2T2R结构,将用于离散小波变换处理的参数矩阵多次映射于忆阻器阵列中不同的多个子阵列,具体过程如步骤S120所述,这里不再赘述。
需要说明的是,忆阻器阵列也可以包括M条源线、M条字线和2N条位线,以及阵列排布为M行N列的多个忆阻器单元。由于在执行步骤S130时为同时将开启信号施加至忆阻器阵列的多个信号控制端,可以由每条字线同时控制每行忆阻器单元中的两个忆阻器。
关于信号获取装置、控制驱动电路以及数据输出电路的描述如前所述,这里不再赘述。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
Claims (17)
1.一种基于忆阻器阵列的数据处理方法,其中,所述忆阻器阵列包括阵列排布的多个忆阻器单元且配置为能进行乘加运算,所述方法包括:
确定对应于所述数据处理的参数矩阵,其中,所述数据处理包括离散小波变换,所述离散小波变换包括至少s级离散小波变换,s为正整数;
设置所述忆阻器阵列,将所述参数矩阵写入所述忆阻器阵列;
获取多个第一模拟信号,并将所述多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制所述忆阻器阵列操作以对所述多个第一模拟信号进行所述数据处理,在所述忆阻器阵列的多个行信号输出端分别得到执行所述数据处理后的多个第二模拟信号,其中,所述多个第二模拟信号包括所述s级离散小波变换中每一级的变换结果。
2.如权利要求1所述的数据处理方法,其中,所述离散小波变换为一维离散小波变换。
3.如权利要求2所述的数据处理方法,其中,所述至少s级离散小波变换包括第一级离散小波变换、...、第i级离散小波变换、...、第s级离散小波变换,
所述第一级离散小波变换包括接收输入序列并对所述输入序列进行第一变换和第二变换,分别得到第一级的第一变换结果和第二变换结果;
所述第i级离散小波变换包括接收第i-1级离散小波变换的第一变换结果并对所述第i-1级离散小波变换的所述第一变换结果进行所述第一变换和所述第二变换,得到所述第i级离散小波变换的第一变换结果和第二变换结果,i为大于等于2且小于等于s的正整数;
其中,所述第s级离散小波变换的变换结果包括第s级的第一变换结果和第二变换结果,
所述s级中除所述第s级以外的其他级离散小波变换的变换结果包括各级的第二变换结果。
4.如权利要求3所述的数据处理方法,其中,所述确定对应于所述数据处理的参数矩阵,包括:
确定每一级离散小波变换对应的用于执行所述第一变换的第一变换矩阵和用于执行所述第二变换的第二变换矩阵;
根据所述每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵;
根据所述第一级离散小波变换、第二级离散小波变换、...、至第s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及所述第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵;
根据所述第一子矩阵和所述s个第二子矩阵,得到所述参数矩阵。
5.如权利要求4所述的数据处理方法,其中,
第x级离散小波变换对应的第一变换矩阵包括P行Q列,P=N/2x,Q=N/2x-1,N为所述输入序列包括的多个输入参数的总数,x为正整数且小于等于s,
所述第一变换包括第一滤波处理,
所述确定每一级离散小波变换对应的用于执行所述第一变换的第一变换矩阵,包括:
确定用于所述第一滤波处理的第一滤波器对应的第一系数向量,其中,所述第一系数向量包括M个第一滤波参数;
从所述Q列中,依次选择P个需要进行所述第一变换的对象列组,其中,每个对象列组包括M列,并且所述P个对象列组与所述P行一一对应;
确定所述第一变换矩阵的每一行中的M个目标元素为所述M个第一滤波参数,所述每一行中除所述M个目标元素以外的Q-M个元素均为第一值,其中,所述M个目标元素的位置基于所述每一行对应的对象列组包括的M列确定;
其中,P、Q、M以及N为大于等于1的正整数。
6.如权利要求5所述的数据处理方法,其中,所述第一变换还包括降采样处理,
所述从所述Q列中,依次选择P个需要进行所述第一变换的对象列组,包括:
根据所述降采样处理的降采样倍数,从所述Q列中,依次选择P个需要进行所述第一变换的对象列组。
7.如权利要求4所述的数据处理方法,其中,所述根据所述每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵,包括:
按照所述s级离散小波变换的变换顺序,将所述s级离散小波变换分别对应的s个第一变换矩阵依次相乘,得到所述第一子矩阵。
8.如权利要求4所述的数据处理方法,其中,所述s个第二子矩阵与所述s级一一对应,
所述根据第一级离散小波变换、第二级离散小波变换、...、至第s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵,包括:
响应于s=1,将所述第一级离散小波变换对应的第二变换矩阵作为第二子矩阵;
响应于s大于1,针对所述s级中的第j级对应的第j个第二子矩阵:
将第1级至第j-1级离散小波变换分别对应的j-1个第一变换矩阵依次相乘,得到中间子矩阵,
将所述中间子矩阵与第j级离散小波变换对应的第二变换矩阵相乘,得到所述第j个第二子矩阵,j为大于1且小于等于s的正整数。
9.如权利要求8所述的数据处理方法,其中,所述第一子矩阵为W行N列,所述第j个第二子矩阵为Tj行N列,Tj=N/2j,
所述根据所述第一子矩阵和所述s个第二子矩阵,得到所述参数矩阵,包括:
将所述第一子矩阵和所述s个第二子矩阵沿所述第一子矩阵的列方向纵向排布,得到所述参数矩阵。
10.如权利要求1-9任一项所述的数据处理方法,其中,所述参数矩阵包括T行N列,所述参数矩阵中的第m行第n列的参数元素由第一参数矩阵中第m行第n列的参数元素和第二参数矩阵中第m行第n列的参数元素共同表示,m、n、T均为大于等于1的正整数,
所述第一参数矩阵包括T行第一参数元素,所述第二参数矩阵包括T行第二参数元素,并且所述T行第一参数元素与所述T行第二参数元素的行列位置一一对应,
所述第一参数矩阵和所述第二参数矩阵排布成2T行N列的第一矩阵形式,
设置所述忆阻器阵列,将所述参数矩阵写入所述忆阻器阵列,包括:
将所述第一参数矩阵和所述第二参数矩阵按所述第一矩阵的形式映射至所述忆阻器阵列。
11.如权利要求10所述的数据处理方法,其中,所述在所述忆阻器阵列的多个行信号输出端分别得到执行所述数据处理后的多个第二模拟信号,包括:
确定至少一组待处理行,其中,所述至少一组待处理行中的每组包括与所述T行第一参数元素中的一行所对应的一行目标忆阻器单元,以及与对应于所述T行第一参数元素中的一行的所述T行第二参数元素中的一行所对应的一行目标忆阻器单元;
对所述至少一组待处理行中的每组包括的所述两行目标忆阻器单元分别对应的所述多个行信号输出端中的两个电流信号进行电流预处理,以得到所述至少一组待处理行中的每组对应的所述多个第二模拟信号。
12.如权利要求1-9任一项所述的数据处理方法,其中,所述忆阻器阵列包括第一忆阻器阵列和第二忆阻器阵列,
所述参数矩阵中第r行第h列的参数元素由第一参数矩阵中第r行第h列的参数元素和第二参数矩阵中第r行第h列的参数元素共同表示,其中,r和h为大于1的正整数,
所述第一参数矩阵与所述第二参数矩阵均具有与所述参数矩阵相同的矩阵形式,
所述设置所述忆阻器阵列,将所述参数矩阵写入所述忆阻器阵列包括:
将所述第一参数矩阵对应地按照所述参数矩阵的形式映射于所述第一忆阻器阵列,以及
将所述第二参数矩阵对应地按照所述参数矩阵的形式映射于所述第二忆阻器阵列。
13.根据权利要求12所述的数据处理方法,其中,所述在所述忆阻器阵列的多个行信号输出端分别得到执行所述数据处理后的多个第二模拟信号,包括:
对所述第一忆阻器阵列中的所述多个行信号输出端中的每个电流信号和所述第二忆阻器阵列中对应的所述多个行信号输出端中的每个电流信号进行电流预处理,以得到所述多个第二模拟信号。
14.根据权利要求11或13所述的数据处理方法,其中,所述电流预处理为电流相减处理或电流相加处理。
15.根据权利要求3所述的数据处理方法,其中,所述获取多个第一模拟信号包括:
对所述输入序列包括的多个输入参数分别进行编码处理,得到每个输入参数对应的模拟信号;
确定所述多个输入参数分别对应的多个模拟信号作为所述多个第一模拟信号。
16.一种电子装置,包括:
忆阻器阵列,配置为可进行乘加运算;
信号获取装置,配置为获取多个第一模拟信号;
控制驱动电路,其中,所述控制驱动电路配置为执行以下步骤:
确定对应于所述数据处理的参数矩阵,其中,所述数据处理包括离散小波变换,所述离散小波变换包括至少s级离散小波变换,s为大于1的正整数;以及
设置所述忆阻器阵列,将对应于所述数据处理的参数矩阵的数据写入所述忆阻器阵列;
将所述多个第一模拟信号分别输入到设置后的忆阻器阵列的多个列信号输入端,控制所述忆阻器阵列操作以对所述多个第一模拟信号进行所述数据处理,在所述忆阻器阵列的多个行信号输出端分别得到执行所述数据处理后的多个第二模拟信号,其中,所述多个第二模拟信号包括所述s级离散小波变换中的每一级的变换结果。
17.如权利要求16所述的电子装置,其中,所述控制驱动电路执行确定对应于所述数据处理的参数矩阵时,包括执行以下操作:
确定每一级离散小波变换对应的用于执行第一变换的第一变换矩阵和用于执行第二变换的第二变换矩阵;
根据所述每一级离散小波变换分别对应的第一变换矩阵,得到第一子矩阵;
根据前s-1级离散小波变换分别对应的第一变换矩阵和第二变换矩阵,以及第s级离散小波变换对应的第二变换矩阵,得到s个第二子矩阵;
根据所述第一子矩阵和所述s个第二子矩阵,得到所述参数矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023055.9A CN116450996A (zh) | 2022-01-10 | 2022-01-10 | 基于忆阻器阵列的数据处理方法、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023055.9A CN116450996A (zh) | 2022-01-10 | 2022-01-10 | 基于忆阻器阵列的数据处理方法、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450996A true CN116450996A (zh) | 2023-07-18 |
Family
ID=87122509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210023055.9A Pending CN116450996A (zh) | 2022-01-10 | 2022-01-10 | 基于忆阻器阵列的数据处理方法、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450996A (zh) |
-
2022
- 2022-01-10 CN CN202210023055.9A patent/CN116450996A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113077829B (zh) | 基于忆阻器阵列的数据处理方法、电子装置 | |
CN111985607B (zh) | 运用于类神经网络系统的乘积累加电路的相关控制电路 | |
CN108009640B (zh) | 基于忆阻器的神经网络的训练装置及其训练方法 | |
US20190122105A1 (en) | Training of artificial neural networks | |
CN111406265A (zh) | 具有非易失性突触阵列的神经网络电路 | |
AU2020274862B2 (en) | Training of artificial neural networks | |
US8204927B1 (en) | System and method for cognitive processing for data fusion | |
CN112154506A (zh) | 内存处理单元 | |
US11544540B2 (en) | Systems and methods for neural network training and deployment for hardware accelerators | |
CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
CN115410621A (zh) | 包括突触的神经形态器件的突触阵列及其操作方法 | |
KR20190107143A (ko) | 혼합-신호 연산 시스템 및 방법 | |
CN115458005A (zh) | 数据处理方法和存算一体装置、电子设备 | |
CN114742218A (zh) | 基于忆阻器阵列的数据处理方法和数据处理装置 | |
CN117157636A (zh) | 存算一体装置、系统及其操作方法 | |
CN115952843A (zh) | 电子装置及其操作方法 | |
Chen | PUFFIN: an efficient DNN training accelerator for direct feedback alignment in FeFET | |
CN114118390B (zh) | 硬件加速器和混合电阻器忆阻器交叉开关阵列电路 | |
CN111859261B (zh) | 计算电路及其操作方法 | |
CN116523011B (zh) | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 | |
CN116450996A (zh) | 基于忆阻器阵列的数据处理方法、电子装置 | |
CN116450998A (zh) | 基于忆阻器阵列的数据处理方法、电子装置 | |
CN113222131B (zh) | 基于1t1r的可实现带符号权重系数的突触阵列电路 | |
CN113592081A (zh) | 数据处理装置及数据处理方法 | |
Zokaee et al. | FeFET-Based Process-in-Memory Architecture for Low-Power DNN Training |
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 |