等效电阻值计算方法、装置、电子设备及可读存储介质与流程

文档序号:20367379发布日期:2020-04-14 12:36阅读:257来源:国知局
等效电阻值计算方法、装置、电子设备及可读存储介质与流程

本申请涉及数据处理技术领域,具体而言,涉及一种等效电阻值计算方法、装置、电子设备及可读存储介质。



背景技术:

在电子设备的研发过程中,通常需要分析两个电子元件之间的多个电阻器串联或并联形成的电阻网络的等效阻值,以便于更加精确地进行电子设备的研发。

目前来说,通常是由人工分析并计算多个电阻器串联或并联形成的电阻网络的等效阻值,例如,对于串联的两个电阻器或并联的两个电阻器,分别获得两个电阻器的具体阻值,然后通过代入对应的串联或并联计算公式中计算等效阻值。上述方式很耗费人力,并且容易计算错误。



技术实现要素:

本申请实施例的目的在于提供一种等效电阻值计算方法、装置、电子设备及可读存储介质,用以改善现有技术耗费人力且容易计算错误的问题。

第一方面,本申请实施例提供了一种等效电阻值计算方法,所述方法包括:根据电阻器索引表以及电阻网络索引表遍历待进行等效电阻值计算的目标电路,获得所述目标电路的起点电阻网络与终点电阻网络之间的全部有效电阻网络以及全部有效电阻器;其中,所述电阻器索引表存储有所述目标电路的全部电阻器中的每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息,所述电阻网络索引表存储有所述目标电路的全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息;对所述全部有效电阻网络以及全部有效电阻器交替进行串联合并以及并联合并,获得所述起点电阻网络与终点电阻网络之间等效电阻值。

在上述的实施方式中,可以先从电阻器索引表记录的全部电阻器中遍历获得起点电阻网络与终点电阻网络之间的全部有效电阻器,然后从电阻网络索引表记录的全部电阻网络中遍历获得起点电阻网络与终点电阻网络之间的全部有效电阻网络,再对全部的有效电阻器以及有效电阻网络交替进行串联合并与并联合并,获得起点电阻网络与终点电阻网络之间的全部有效电阻器的等效电阻值。与现有技术相比,可以改善现有技术人力计算等效电阻值耗费人力且容易计算出错的问题。

在一个可能的设计中,所述根据电阻器索引表以及电阻网络索引表遍历待进行等效电阻值计算的目标电路,获得所述目标电路的起点电阻网络与终点电阻网络之间的全部有效电阻网络以及全部有效电阻器,包括:将起点电阻网络作为待索引电阻网络;根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器;若所述待索引电阻网络连接的对端电阻器的数量为一个,获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络;将所述对端电阻网络作为所述待索引电阻网络,执行步骤:根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器;若所述待索引电阻网络连接的对端电阻器的数量大于或等于两个,将所述待索引电阻网络以及所述待索引电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述待索引电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表;对于所述待索引电阻网络连接的数量大于或等于两个的对端电阻器中的每个对端电阻器,执行步骤:获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络;其中,若对端电阻器的对端电阻网络已存入所述有效电阻网络表,判定已存入所述有效电阻网络表的电阻网络未与该对端电阻器连接;若所述待索引电阻网络连接的对端电阻器的数量为0,且所述待索引电阻网络为终点电阻网络,将所述终点电阻网络以及所述终点电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述终点电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表;直到所述电阻器索引表的电阻器以及所述电阻网络索引表中的电阻网络均遍历完毕,获取有效电阻网络表中的全部有效电阻网络以及有效电阻器表中的全部有效电阻器。

在上述的实施方式中,可以根据待索引电阻网络连接的对端电阻器的数量分出多种不同的情况,然后对于每种情况再进行具体分析,从而实现电阻器索引表的电阻器以及所述电阻网络索引表中的电阻网络遍历完成,通过上述方式可以准确且快速地获取到有效电阻器以及有效电阻网络。

在一个可能的设计中,所述对所述全部有效电阻网络以及全部有效电阻器进行串联合并,包括:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络;计算所述仅连接两个电阻器的有效电阻网络对应的两个电阻器的串联电阻值;将所述仅连接两个电阻器的有效电阻网络对应的两个电阻器中的任意一个从所述全部有效电阻器删除,将所述两个电阻器中的另一个的电阻值更改为所述串联电阻值;将所述仅连接两个电阻器的有效电阻网络从所述全部有效电阻网络中删除,获得新的全部有效电阻网络,执行步骤:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络,直至全部有效电阻网络中不存在仅连接两个电阻器的有效电阻网络。

在上述的实施方式中,每次均可以获取一个仅连接有两个电阻器的有效电阻网络,仅连接有两个电阻器的有效电阻网络表示该有效电阻网络连接的两个电阻器是串联关系,然后计算出串联电阻值,将该串联电阻值赋给两个电阻器中的任意一个,然后再删除两个电阻器中的另一个以及上述的有效电阻网络,从而可以实现将两个串联的电阻器等效为了一个串联电阻器。然后继续获取下一个仅连接有两个电阻器的有效电阻网络,继续执行上述步骤,直到不存在仅连接两个电阻器的有效电阻网络。

在一个可能的设计中,所述对所述全部有效电阻网络以及全部有效电阻器进行并联合并,包括:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器;若存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,计算上述两个有效电阻器的并联电阻值;将计算并联电阻值的两个有效电阻器中的任意一个从所述全部有效电阻器删除,将计算并联电阻值的两个有效电阻器中的另一个有效电阻器的电阻值更改为所述并联电阻值,获得新的全部有效电阻器,执行步骤:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,直到对所述全部有效电阻器中的每个有效电阻器不存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器。

在上述的实施方式中,在进行过串联合并之后,对进行过串联合并的有效电阻网络以及有效电阻器进行并联合并,可以通过判断是否有两个电阻两端连接的电阻网络分别相同,即某一电阻一端连接的电阻网络与另一个电阻的一端连接的电阻网络相同,且上述某一电阻的另一端连接的电阻网络与另一个电阻的另一端连接的电阻网络也相同,若有,则表示这两个电阻为并联电阻,然后通过计算并联电阻值,将并联电阻值赋给两个并联电阻中的任一个,然后再删除两个并联电阻中的另外一个的方式实现了两个并联电阻器等效为了一个电阻器。然后再多次采用上述方法进行并联电阻的等效,直到不存在电阻两端连接有相同的电阻网络的两个电阻器。

在一个可能的设计中,所述根据电阻器索引表以及电阻网络索引表遍历待进行等效电阻值计算的目标电路,获得所述目标电路的起点电阻网络与终点电阻网络之间的全部有效电阻网络以及全部有效电阻器之前,所述方法还包括:遍历待进行等效电阻值计算的目标电路,获取所述目标电路的全部电阻器中的每个电阻器的阻值以及每个电阻器分别连接的两个电阻网络;将所述全部电阻器中每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息存入电阻器索引表;获取所述目标电路的全部电阻网络中每个电阻网络连接的至少一个电阻器;将所述全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息存入电阻网络索引表。

在上述的实施方式中,可以先遍历目标电路,从而获得目标电路的全部电阻器以及全部电阻网络,然后再将电阻器与电阻网络的连接关系存入电阻器索引表以及电阻网络索引表中,为后续的处理步骤做好准备。

第二方面,本申请实施例提供了一种等效电阻值计算装置,所述装置包括:有效数据获取模块,用于根据电阻器索引表以及电阻网络索引表遍历待进行等效电阻值计算的目标电路,获得所述目标电路的起点电阻网络与终点电阻网络之间的全部有效电阻网络以及全部有效电阻器;其中,所述电阻器索引表存储有所述目标电路的全部电阻器中的每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息,所述电阻网络索引表存储有所述目标电路的全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息;等效电阻获取模块,用于对所述全部有效电阻网络以及全部有效电阻器交替进行串联合并以及并联合并,获得所述起点电阻网络与终点电阻网络之间等效电阻值。

在一个可能的设计中,所述有效数据获取模块,具体用于:将起点电阻网络作为待索引电阻网络;根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器;若所述待索引电阻网络连接的对端电阻器的数量为一个,获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络;将所述对端电阻网络作为所述待索引电阻网络,执行步骤:根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器;若所述待索引电阻网络连接的对端电阻器的数量大于或等于两个,将所述待索引电阻网络以及所述待索引电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述待索引电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表;对于所述待索引电阻网络连接的数量大于或等于两个的对端电阻器中的每个对端电阻器,执行步骤:获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络;其中,若对端电阻器的对端电阻网络已存入所述有效电阻网络表,判定已存入所述有效电阻网络表的电阻网络未与该对端电阻器连接;若所述待索引电阻网络连接的对端电阻器的数量为0,且所述待索引电阻网络为终点电阻网络,将所述终点电阻网络以及所述终点电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述终点电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表;直到所述电阻器索引表的电阻器以及所述电阻网络索引表中的电阻网络均遍历完毕,获取有效电阻网络表中的全部有效电阻网络以及有效电阻器表中的全部有效电阻器。

在一个可能的设计中,所述等效电阻获取模块,具体用于:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络;计算所述仅连接两个电阻器的有效电阻网络对应的两个电阻器的串联电阻值;将所述仅连接两个电阻器的有效电阻网络对应的两个电阻器中的任意一个从所述全部有效电阻器删除,将所述两个电阻器中的另一个的电阻值更改为所述串联电阻值;将所述仅连接两个电阻器的有效电阻网络从所述全部有效电阻网络中删除,获得新的全部有效电阻网络,执行步骤:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络,直至全部有效电阻网络中不存在仅连接两个电阻器的有效电阻网络。

在一个可能的设计中,所述等效电阻获取模块,具体还用于:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器;若存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,计算上述两个有效电阻器的并联电阻值;将计算并联电阻值的两个有效电阻器中的任意一个从所述全部有效电阻器删除,将计算并联电阻值的两个有效电阻器中的另一个有效电阻器的电阻值更改为所述并联电阻值,获得新的全部有效电阻器,执行步骤:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,直到对所述全部有效电阻器中的每个有效电阻器不存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器。

在一个可能的设计中,所述装置还包括信息获取模块,用于遍历待进行等效电阻值计算的目标电路,获取所述目标电路的全部电阻器中的每个电阻器的阻值以及每个电阻器分别连接的两个电阻网络;将所述全部电阻器中每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息存入电阻器索引表;获取所述目标电路的全部电阻网络中每个电阻网络连接的至少一个电阻器;将所述全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息存入电阻网络索引表。

第三方面,本申请实施例提供了一种电子设备,包括上述第一方面或第一方面的任一可选的实现方式所述的方法。

第四方面,本申请提供一种可读存储介质,该可读存储介质上存储有可执行程序,该可执行程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

第五方面,本申请提供一种可执行程序产品,所述可执行程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。

为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的等效电阻值计算方法的流程示意图;

图2为图1中步骤s110的具体步骤的流程示意图;

图3示出了本申请实施例提供的等效电阻值计算方法的部分步骤的流程示意图;

图4为本申请实施例提供的等效电阻值计算装置的示意性结构框图;

图5示出了待进行等效电阻值计算的一种示意性电路图;

图6为图5示出的电路图的等效电路图;

图7为有效电阻器以及有效电阻网络组成的示意性电路图;

图8为进行串联合并过程中的中间结果的示意性电路图;

图9为进行串联合并过程中的另一中间结果的示意性电路图;

图10为进行并联合并过程中的中间结果的示意性电路图;

图11为完成等效电阻值计算的示意性电路图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

请参见图1,图1示出了本申请实施例提供的等效电阻值计算方法,该方法可以由电子设备来执行,电子设备可以是服务器,也可以是终端设备。该方法具体包括如下步骤s110至步骤s120:

步骤s110,根据电阻器索引表以及电阻网络索引表遍历待进行等效电阻值计算的目标电路,获得所述目标电路的起点电阻网络与终点电阻网络之间的全部有效电阻网络以及全部有效电阻器。

目标电路为待进行等效电阻值计算的电路,目标电路中包括多个电阻器以及多个电阻网络,多个电阻器或以串联或以并联的形式连接,电阻网络指的是电阻与电阻之间连接的线路所构成的网络。例如,两个电阻通过一根线路连接,则两个电阻之间连接的线路也可看做是电阻网络;两个电阻并联后与另一电阻串联,则三个电阻之间连接的线路也可看做是电阻网络。

电阻网络中包括起点电阻网络和终点电阻网络,起点电阻网络以及终点电阻网络可以为人为定义地两个电阻网络,定义出起点电阻网络以及终点电阻网络的目的便是为了计算两者之间的多个电阻器的等效电阻值。

电阻器索引表是能以电阻器的标识为关键词进行索引的数据库,电阻器索引表存储有目标电路的全部电阻器中的每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息。

电阻网络索引表是能以电阻网络的标识为关键词进行索引的数据库,电阻网络索引表存储有所述目标电路的全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息。可选地,电阻器索引表以及电阻网络索引表均可以为哈希表,可选地,电阻网络索引表还可以定义一个电阻网络索引表副本,在进行有效电阻器和有效电阻网络的遍历时,可以在电阻网络索引表副本中实时删除掉已经遍历过的电阻网络或电阻器,以避免造成重复遍历。

请参见图2,图2示出了步骤s110的具体步骤,具体包括如下步骤s111至步骤s118:

步骤s111,将起点电阻网络作为待索引电阻网络。

步骤s112,根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器。

待索引电阻网络指的是待根据电阻网络为关键词来搜索电阻网络连接的电阻器的电阻网络。由于是要计算起点电阻网络与终点电阻网络之间的等效电阻值,因此,可以先把起点电阻网络作为待索引电阻网络,从电阻网络索引表中获得起点电阻网络连接的至少一个电阻器。

步骤s113,若所述待索引电阻网络连接的对端电阻器的数量为一个,获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络。

步骤s114,将所述对端电阻网络作为所述待索引电阻网络,跳转到步骤s112。

对端电阻器指的是待索引电阻网络连接的遍历方向上的电阻器,对端电阻器的数量可以为一个,也可以为多个,也可以为零个。对端电阻器的数量不同也对应着不同的遍历方式。在计算对端电阻器的数量时,可以根据电阻网络索引表,获得待索引电阻网络连接的全部电阻器,然后再去掉已被遍历过的电阻器,得到的未被遍历的电阻器便是对端电阻器,然后统计未被遍历的电阻器的数量。

对于起点电阻网络来说,起点电阻网络通常是一端连接电子元件,另一端连接电阻,因此,对端电阻器指的就是起点电阻网络的远离电子元件的电阻器。

对端电阻网络指的是某电阻器连接的遍历方向上的电阻网络。多个电阻器中的每个电阻器均连接有两个电阻网络,两个电阻网络中包括一个已被遍历过的电阻网络,一个未被遍历过的电阻网络,对端电阻网络指的便是未被遍历过的电阻网络。

若对端电阻器的数量为一个,则可以获得该唯一的对端电阻器的标识,然后再根据对端电阻器的标识以及电阻器索引表,获得该对端电阻器的对端电阻网络。

在确定对端电阻器的对端电阻网络之后,将对端电阻网络作为新的待索引电阻网络,然后跳转到步骤s112继续执行获取待索引电阻网络连接的电阻器的步骤,然后再根据新的待索引电阻网络的对端电阻器的数量执行相应的遍历策略。

步骤s115,若所述待索引电阻网络连接的对端电阻器的数量大于或等于两个,将所述待索引电阻网络以及所述待索引电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述待索引电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表。

有效电阻网络表指的是会对等效电阻计算产生影响的电阻网络所组成的表格,有效电阻器表指的是会对等效电阻计算产生影响的电阻所组成的表格。

若待索引电阻网络连接的对端电阻器的数量大于或等于两个(即对端电阻器的数量为多个),则可以把该待索引电阻网络以及该待索引电阻网络之前的尚未存入有效电阻网络表的电阻网络均存入有效电阻网络表,把该待索引电阻网络之前的尚未存入有效电阻器表的电阻器均存入有效电阻器表。

步骤s116,从待索引电阻网络连接的数量大于或等于两个的对端电阻器中随机选择一个对端电阻器,执行步骤s113。

在进行完有效电阻网络表以及有效电阻器表的更新之后,对于多个对端电阻器中的每一个,均可以跳转到步骤s113,执行“获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络”步骤,以便继续进行遍历。

在一种具体实施方式中,若对端电阻器的对端电阻网络已存入所述有效电阻网络表,判定已存入所述有效电阻网络表的电阻网络未与该对端电阻器连接。

对端电阻器的对端电阻网络已存入所述有效电阻网络表,意味着该对端电阻器与对端电阻网络已形成环路,为了避免对环路进行重复计算,可以判定已存入所述有效电阻网络表的电阻网络未与该对端电阻器连接,即在电阻网络索引表中,删除该电阻网络与该对端电阻器的连接关系。

步骤s117,若所述待索引电阻网络连接的对端电阻器的数量为0,且所述待索引电阻网络为终点电阻网络,将所述终点电阻网络以及所述终点电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述终点电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表。

待索引电阻网络连接的对端电阻器的数量为0,表示该条线路到达了尽头,此时,待索引电阻网络本身可能是终点电阻网络,也可能不是终点电阻网络。

若待索引电阻网络本身就是终点电阻网络,则可以把终点电阻网络以及终点电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入有效电阻网络表;将终点电阻网络之前的未存入有效电阻器表的对端电阻器存入有效电阻器表。再完成上述过程后,可以返回到最接近的连接有两个或两个以上电阻器的电阻网络,以便从尚未遍历的对端电阻器中随机选择一对端电阻器,继续进行遍历。

步骤s118,直到所述电阻器索引表的电阻器以及所述电阻网络索引表中的电阻网络均遍历完毕,获取有效电阻网络表中的全部有效电阻网络以及有效电阻器表中的全部有效电阻器。

在电阻器索引表的电阻器以及电阻网络索引表中的电阻网络均被遍历完成后,可以从有效电阻网络表中获取全部有效电阻网络,从有效电阻器表中获取全部有效电阻器。

可以根据待索引电阻网络连接的对端电阻器的数量分出多种不同的情况,然后对于每种情况再进行具体分析,从而实现电阻器索引表的电阻器以及所述电阻网络索引表中的电阻网络遍历完成,通过上述方式可以准确且快速地获取到有效电阻器以及有效电阻网络。

下面将结合具体例子对有效电阻器以及有效电阻网络的获取过程进行说明:

请参见图5和图6,图5示出了待进行等效电阻值计算的一种示意性电路图,图6为图5示出的电路图的等效电路图,图5中的v-out为输出点,fb为反馈点,rovp是过压检测点,可以通过计算v-out与fb两点之间的等效电阻值来确定fb的反馈电压值是否正确。因此,可以设与v-out连接的net1为起点电阻网络,与fb连接的net6为终点电阻网络。

其中,net1、net2、net3、net4、net5、net6、net7以及net8均存储在电阻网络索引表中,电阻网络索引表中还存储有多个电阻网络中每个电阻网络分别连接的电阻器,例如,net1连接的电阻器为r1;net2连接的电阻器为r1、r2;net3连接的电阻器为r2、r3、r5;net4连接的电阻器为r3、r4;net5连接的电阻器为r4、r5、r6、r7、r8;net6连接的电阻器为r6;net7连接的电阻器为r7;net8连接的电阻器为r8。

可选地,电阻网络索引表可以为哈希表hashneta,全部电阻网络在哈希表hashneta的存储形式为:

{net1(r1)}

{net2(r1r2)}

{net3(r2r3r5)}

{net4(r3r4)}

{net5(r4r5r6r7r8)}

{net6(r6)}

{net7(r7)}

{net8(r8)}

可选地,还可以建立哈希表hashneta的副本hashnetb,以便于随着有效电阻器以及有效电阻网络的遍历的进行实时删除已被遍历的电阻网络或电阻器,从而可以避免重复遍历。

r1、r2、r3、r4、r5、r6、r7以及r8均存储在电阻器索引表中,电阻器索引表中还存储有每个电阻器的阻值以及每个电阻器两端分别连接的电阻网络。例如,r1=1000ω,r2=1000ω,r3=1000ω,r4=1000ω,r5=2000ω,r6=1000ω,r7=4700ω,r8=15000ω均存储在电阻器索引表中。r1连接的电阻网络为net1、net2;r2连接的电阻网络为net2、net3;r3连接的电阻网络为net3、net4;r4连接的电阻网络为net4、net5;r5连接的电阻网络为net3、net5;r6连接的电阻网络为net5、net6;r7连接的电阻网络为net5、net7;r8连接的电阻网络为net5、net8。

可选地,电阻器索引表可以为哈希表hashr,全部电阻器在哈希表hashr的存储形式为:

{r1(net1net21000)}

{r2(net2net31000)}

{r3(net3net41000)}

{r4(net4net51000)}

{r5(net3net52000)}

{r6(net5net61000)}

{r7(net5net74700)}

{r8(net5net815000)}

同时,可以预先定义存储有效电阻网络的有效电阻网络表,以及存储有效电阻器的有效电阻器表。

从起点电阻网络net1开始,根据电阻网络索引表获得net1连接的电阻器r1。由于电阻器r1为net1唯一的电阻器,也是唯一的对端电阻器,因此,可以根据电阻器索引表获得与r1连接的电阻网络net1和net2。

由于net1是已遍历过的电阻网络,net2是未遍历过的且在遍历方向的延伸方向上的电阻网络,因此,r1的对端电阻网络为net2,以net2作为新的待索引电阻网络,获得net2连接的电阻器r1和r2。

由于r1是已遍历过的电阻器,r2是未遍历过的且在遍历方向的延伸方向上的电阻器,因此,r2是net2的唯一的对端电阻器。因此,可以根据电阻器索引表获得与r2连接的电阻网络net2和net3。

由于net2是已遍历过的电阻网络,net3是未遍历过的且在遍历方向的延伸方向上的电阻网络,因此,r2的对端电阻网络为net3,以net3作为新的待索引电阻网络,获得net3连接的电阻器r2、r3和r5。

由于r2是已遍历过的电阻器,r3和r5是未遍历过的且在遍历方向的延伸方向上的电阻器,因此,net3的对端电阻器包括r3和r5两个。此时,便可以将当前的待索引电阻网络(即net3)以及该待索引电阻网络之前的未存入有效电阻网络表的电阻网络(即net1和net2)存入有效电阻网络表中;将待索引电阻网络之前的未存入有效电阻器表的对端电阻器(即r1和r2)存入有效电阻器表。

然后对于r3和r5两个对端电阻器,可以随机选择一个对端电阻器继续执行获取电阻器的对端电阻网络的步骤。不妨设随机选择的对端电阻器为r3,则根据电阻器索引表获得r3的对端电阻网络net4,由于net4的对端电阻器只有r4的唯一一个,因此,继续获得r4的对端电阻网络net5。

对于net5,可知其的对端电阻器为r5、r6、r7、r8四个电阻器,因此,将net5以及net5之前的未存入有效电阻网络表的电阻网络(即net4)存入有效电阻网络表;将net5之前的未存入有效电阻器表的电阻器(即r3和r4)存入有效电阻器表。此时,有效电阻网络表中具有net1、net2、net3、net4、net5五个电阻网络;有效电阻器表中具有r1、r2、r3、r4四个电阻器。

然后对于r5、r6、r7、r8四个对端电阻器,可以随机选择一个对端电阻器继续执行获取电阻器的对端电阻网络的步骤。

不妨设随机选择的对端电阻器为r5,则根据电阻器索引表获得r5连接的电阻网络为net3和net5,r5的遍历延伸方向上的电阻网络为net3,然而net3已经存储在有效电阻网络表中,因此,便表明r5连接在环路上。此时,可以将电阻器r5存入有效电阻器表,同时在电阻网络索引表中删除与net3连接的电阻器r5,从而避免重复遍历,例如将哈希表hashnetb中的记录{net3(r2r3r5)}修改为{net3(r2r3)}。此时,有效电阻器表更新为具有r1、r2、r3、r4、r5五个电阻器。

在遍历完成电阻器r5所在的支路后,可以返回到net5处,继续从剩下的r6、r7、r8三个对端电阻器中随机选择一个对端电阻器继续执行获取电阻器的对端电阻网络的步骤。

不妨设再次随机选择的对端电阻器为r7,则根据电阻器索引表获得r7连接的电阻网络为net5和net7,r7的遍历延伸方向上的电阻网络(即r7的对端电阻网络)为net7。对net7,根据电阻网络索引表可知net7连接的电阻器只有r7,即net7没有对端电阻器,表示net7为电阻器r7所在支路的尽头。进一步判断net7是否是终点电阻网络,显然net7不是终点电阻网络,因此,不对r7以及net7继续进行处理,再次返回到net5处,将哈希表hashnetb中的记录{net5(r4r5r6r7r8)}修改为{net5(r4r5r6r8)},继续从剩下的r6和r8两个对端电阻器中随机选择一个对端电阻器继续执行获取电阻器的对端电阻网络的步骤。

不妨设又一次随机选择的对端电阻器为r6,则根据电阻器索引表获得r6连接的电阻网络为net5和net6,r6的遍历延伸方向上的电阻网络(即r6的对端电阻网络)为net6。对net6,根据电阻网络索引表可知net6连接的电阻器只有r6,即net6没有对端电阻器,表示net6为电阻器r6所在支路的尽头。进一步判断net6是否是终点电阻网络,显然net6是终点电阻网络,因此,可以把r6存入有效电阻器表中,把net6存入有效电阻网络表中。此时,有效电阻器表更新为具有r1、r2、r3、r4、r5、r6六个电阻器;有效电阻网络表中具有net1、net2、net3、net4、net5、net6六个电阻网络。然后又一次返回到net5处,对剩下的最后一个对端电阻器r8执行获取电阻器的对端电阻网络的步骤。

根据电阻器索引表获得r8连接的电阻网络为net5和net8,r8的遍历延伸方向上的电阻网络(即r8的对端电阻网络)为net8。对net8,根据电阻网络索引表可知net8连接的电阻器只有r8,即net8没有对端电阻器,表示net8为电阻器r8所在支路的尽头。进一步判断net8是否是终点电阻网络,显然net8不是终点电阻网络,因此,不对r8以及net8继续进行处理,再次返回到net5处,将哈希表hashnetb中的记录{net5(r4r5r6r8)}修改为{net5(r4r5r6)}。

由于net5的多个对端电阻器均完成遍历,因此再返回到net3,由于net3与r5的连接关系已经在上述步骤中被删除,因此,net3电阻网络所连接的对端电阻器也已被全部遍历完成,至此,便可以获得图6示出的电路图的有效电阻器表由r1、r2、r3、r4、r5、r6六个电阻器构成,有效电阻网络表由net1、net2、net3、net4、net5、net6六个电阻网络构成,请参见图7。

步骤s120,对所述全部有效电阻网络以及全部有效电阻器交替进行串联合并以及并联合并,获得所述起点电阻网络与终点电阻网络之间等效电阻值。

在获得到全部的有效电阻网络以及有效电阻器之后,可以先对有效电阻器进行串联合并;然后在进行到没有可以进行串联合并的电阻器的情况下之后,再对更新过的电阻器进行并联合并;然后在进行到没有可以进行并联合并的电阻器的情况下之后,再次进行串联合并…直到起点电阻网络与终点电阻网络之间合并成只有一个电阻器。

在一种具体实施方式中,对全部有效电阻网络以及全部有效电阻器进行串联合并,具体包括如下步骤:

获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络;计算所述仅连接两个电阻器的有效电阻网络对应的两个电阻器的串联电阻值;将所述仅连接两个电阻器的有效电阻网络对应的两个电阻器中的任意一个从所述全部有效电阻器删除,将所述两个电阻器中的另一个的电阻值更改为所述串联电阻值;将所述仅连接两个电阻器的有效电阻网络从所述全部有效电阻网络中删除,获得新的全部有效电阻网络,执行步骤:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络,直至全部有效电阻网络中不存在仅连接两个电阻器的有效电阻网络。

在一种具体实施方式中,对所述全部有效电阻网络以及全部有效电阻器进行并联合并,具体包括如下步骤:

对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器;若存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,计算上述两个有效电阻器的并联电阻值;将计算并联电阻值的两个有效电阻器中的任意一个从所述全部有效电阻器删除,将计算并联电阻值的两个有效电阻器中的另一个有效电阻器的电阻值更改为所述并联电阻值,获得新的全部有效电阻器,执行步骤:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,直到对所述全部有效电阻器中的每个有效电阻器不存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器。

在上文的举例继续进行说明:

可以结合电阻网络索引表(即哈希表hashneta),对net1、net2、net3、net4、net5、net6中的每个有效电阻网络均进行判断,判断是否存在有效电阻网络仅连接两个有效电阻器,请参见图7,net2和net4均只连接两个有效电阻器。

对net2连接的r1和r2,获得r1和r2的串联电阻值(1000ω+1000ω=2000ω),然后可以把串联电阻值赋给r1和r2中的任意一个,例如不妨设赋给r1,则在有效电阻器表中删除另一个电阻器r2以及在有效电阻网络表中删除net2,将hashr中{r1(net1net21000)}替换为{r1(net1net32000)},将hashr中的{r2(net2net31000)}删除,将hashneta中的{net2(r1r2)}删除,将hashneta中的{net3(r2r3r5)}修改为{net3(r1r3r5)},可以获得如图8示出的等效电路图。

对net4连接的r3和r4,获得r3和r4的串联电阻值(1000ω+1000ω=2000ω),然后可以把串联电阻值赋给r3和r4中的任意一个,例如不妨设赋给r3,则在有效电阻器表中删除另一个电阻器r4以及在有效电阻网络表中删除net4,可以获得如图9示出的等效电路图,此时,便没有可以进行串联合并的电阻器。

下面开始对图9示出的等效电路图进行并联合并,在r1、r3、r5、r6四个电阻器中,r3两端的电阻网络与r5两端的电阻网络相同,表明r3与r5并联,可以将r3与r5进行并联合并。获得r3和r5的并联电阻值(2000ω*2000ω)/(2000ω+2000ω)=1000ω,然后可以把并联电阻值赋给r3和r5中的任意一个,不妨赋给r3,则在有效电阻器表中删除另一个电阻器r5,将hashr中{r5(net3net32000)}删除,将hashr中{r3(net3net32000)}修改为{r3(net3net31000),将hashneta中的{net3(r1r3r5)}修改为{net3(r1r3)},将hashneta中的{net5(r3r5r6)}修改为{net5(r3r6)},可以获得图10示出的等效电路图,此时,便没有可以进行并联合并的电阻器。

然后再对图10示出的等效电路图进行串联合并,可以先对r1和r3进行串联合并,再对r6与r1和r3串联合并的合并结果继续进行串联合并,最终可以得到如图11示出的等效电路图,具体步骤包括:将hashr中{r3(net3net51000)}删除;将hashr中{r6(net5net61000)}删除;将hashr中{r1(net1net32000)}修改为{r1(net1net34000)}。删除有效电阻器表中的r3、r6。此时,有效电阻器表中记录的电阻器只有r1一个,可判定全部合并计算结束。r1的阻值为[1000ω+(2000ω+1000ω)]=4000ω,即为起点电阻网络与终点电阻网络之间的等效电阻的电阻值。

请参见图3,图3示出了步骤s110之前的步骤,具体包括如下步骤s101至步骤s104:

步骤s101,遍历待进行等效电阻值计算的目标电路,获取所述目标电路的全部电阻器中的每个电阻器的阻值以及每个电阻器分别连接的两个电阻网络。

步骤s102,将所述全部电阻器中每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息存入电阻器索引表。

步骤s103,获取所述目标电路的全部电阻网络中每个电阻网络连接的至少一个电阻器。

步骤s104,将所述全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息存入电阻网络索引表。

可以先遍历目标电路,从而获得目标电路的全部电阻器以及全部电阻网络,然后再将电阻器与电阻网络的连接关系存入电阻器索引表以及电阻网络索引表中,为后续的处理步骤做好准备。

请参见图4,图4示出了本申请实施例提供的等效电阻值计算装置,所述装置400包括:

有效数据获取模块410,用于根据电阻器索引表以及电阻网络索引表遍历待进行等效电阻值计算的目标电路,获得所述目标电路的起点电阻网络与终点电阻网络之间的全部有效电阻网络以及全部有效电阻器;其中,所述电阻器索引表存储有所述目标电路的全部电阻器中的每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息,所述电阻网络索引表存储有所述目标电路的全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息。

等效电阻获取模块420,用于对所述全部有效电阻网络以及全部有效电阻器交替进行串联合并以及并联合并,获得所述起点电阻网络与终点电阻网络之间等效电阻值。

有效数据获取模块410,具体用于:将起点电阻网络作为待索引电阻网络;根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器;若所述待索引电阻网络连接的对端电阻器的数量为一个,获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络;将所述对端电阻网络作为所述待索引电阻网络,执行步骤:根据所述电阻网络索引表,获取所述待索引电阻网络连接的至少一个电阻器;若所述待索引电阻网络连接的对端电阻器的数量大于或等于两个,将所述待索引电阻网络以及所述待索引电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述待索引电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表;对于所述待索引电阻网络连接的数量大于或等于两个的对端电阻器中的每个对端电阻器,执行步骤:获取对端电阻器的标识,并根据所述对端电阻器的标识以及所述电阻器索引表,获取所述对端电阻器的对端电阻网络;其中,若对端电阻器的对端电阻网络已存入所述有效电阻网络表,判定已存入所述有效电阻网络表的电阻网络未与该对端电阻器连接;若所述待索引电阻网络连接的对端电阻器的数量为0,且所述待索引电阻网络为终点电阻网络,将所述终点电阻网络以及所述终点电阻网络之前的未存入有效电阻网络表的待索引电阻网络存入所述有效电阻网络表,将所述终点电阻网络之前的未存入有效电阻器表的待索引电阻网络对应的对端电阻器存入所述有效电阻器表;直到所述电阻器索引表的电阻器以及所述电阻网络索引表中的电阻网络均遍历完毕,获取有效电阻网络表中的全部有效电阻网络以及有效电阻器表中的全部有效电阻器。

等效电阻获取模块420,具体用于:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络;计算所述仅连接两个电阻器的有效电阻网络对应的两个电阻器的串联电阻值;将所述仅连接两个电阻器的有效电阻网络对应的两个电阻器中的任意一个从所述全部有效电阻器删除,将所述两个电阻器中的另一个的电阻值更改为所述串联电阻值;将所述仅连接两个电阻器的有效电阻网络从所述全部有效电阻网络中删除,获得新的全部有效电阻网络,执行步骤:获取全部有效电阻网络中的一个仅连接两个电阻器的有效电阻网络,直至全部有效电阻网络中不存在仅连接两个电阻器的有效电阻网络。

等效电阻获取模块420,具体还用于:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器;若存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,计算上述两个有效电阻器的并联电阻值;将计算并联电阻值的两个有效电阻器中的任意一个从所述全部有效电阻器删除,将计算并联电阻值的两个有效电阻器中的另一个有效电阻器的电阻值更改为所述并联电阻值,获得新的全部有效电阻器,执行步骤:对所述全部有效电阻器中的每个有效电阻器,判断是否存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器,直到对所述全部有效电阻器中的每个有效电阻器不存在一个与该有效电阻器连接的有效电阻网络相同的有效电阻器。

所述装置还包括信息获取模块,用于遍历待进行等效电阻值计算的目标电路,获取所述目标电路的全部电阻器中的每个电阻器的阻值以及每个电阻器分别连接的两个电阻网络;将所述全部电阻器中每个电阻器的标识、每个电阻器对应的阻值以及每个电阻器分别连接的两个电阻网络的信息存入电阻器索引表;获取所述目标电路的全部电阻网络中每个电阻网络连接的至少一个电阻器;将所述全部电阻网络中的每个电阻网络的标识、每个电阻网络连接的至少一个电阻器的信息存入电阻网络索引表。

图6示出的等效电阻值计算装置与图1示出的等效电阻值计算方法相对应,在此便不做赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1