用于电气元件的串联和并联组合的系统和方法_4

文档序号:9829934阅读:来源:国知局
骤211处,子例程Fix确 定应当将3.94872 Ω的电阻设置成与在图6中添加的最后的电阻器并联,以得到0.797927 Ω 的Target的值,所以Target被更新成3.94872 Ω,并且该算法返回至步骤203。
[0082] 现在Result仍不在公差内,而且在步骤205处,3.94872 Ω的Target再次大于 Rnom皿L。在步骤206处,确定小于Target的并联的电阻器的最大数目再次为3,所以在步骤 207处,添加了3个串联的电阻器,其中,如图7中的框702所示,该系列与先前添加的1个电阻 器并联。Result再次增大,并且现在由(sl(p4( S3(pl(s3)))))表示。在步骤208处,子例程 Fix通过从3.94872 Ω减3 Ω来更新Target,使得Target现在为0.94872 Ω,并且该算法返回 至步骤203。
[0083] 再一次,Result仍不在公差内,所以在步骤205处,0.94872 Ω的Target再次大于 Rnmnal,并且在步骤209处,大于Target的并联的电阻器的最大数目再次为1。因此,如图8中 的框802所示,在步骤210处通过以与先前循环中添加的3个电阻器串联的方式添加单个电 阻器来增大Result。现在Result由表达式(sl(p4(s3(pl(s3(pl))))))表示。在步骤211处, 子例程Fix确定应当将18.5 Ω的电阻设置成与在图8中添加的最后的电阻器并联,以得到 0.94872 Ω的Target,所以Target被更新成18.5 Ω,并且该算法返回至步骤203。
[0084] 再次地,Result仍不在公差内,并且在步骤205处,18.5Ω的Target再次大于 Rnominal。在步骤206处,确定小于Target的串联的电阻的最大数目为18,所以在步骤207处, 添加了 18个串联的电阻器,其中,如图9中的方框902所示,该系列与先前添加的1个电阻器 并联。Result再次增大,并且现在由(si(p4(s3(pl(s3(pl(sl8)))))))表示。在步骤208处, 子例程Fix通过从18.5 Ω减18 Ω来更新Target,使得Target现在为0.5 Ω,并且该算法返回 至步骤203。
[0085]本领域技术人员将明白,添加另外两个电阻器以达到0.5的新Target并且将这两 个电阻器设置成与在图9中刚添加的18个电阻器串联是毫无意义的。然而,事实证明这样做 是不必要的,因为现在在步骤203处确定了图9中的复合元件的总电阻为1.23456,因此在不 需要添加这最后两个电阻器的情况下已经实现了 lppm的公差。因此,该算法行至步骤204并 结束。
[0086]相彳目在给定Rnqminal的任何值的情况下,该算法将总是聚焦于期望的最终值,因为 该算法会在以串联方式设置电阻器与以并联方式设置电阻器之间交替,并且每次添加并联 的一个或更多个新电阻器与在之前的步骤中添加的电阻器相比对Result的总值贡献更少。
[0087] 与计算和存储若干元件的所有组合的该'097专利的一种方法相比,本文所述的方 法具有以下优势:该方法仅需要计算正在谈论的复合元件,而不是计算和存储各个元件中 的某数目,例如16,的元件的所有可能组合。因此,与计算大量标称元件的所有可能组合相 比,可以在短得多的时间段内确定单个复合元件或相对小数目的复合元件。
[0088] 另一方面,所得复合元件的设计可能没有从使用该'097专利的方法而会产生的设 计理想。将看出,在以上示例中,图9的所得电阻性元件具有31个标称电阻器,而不是比如说 16个或甚至24个。因此,并不预期该设计方法产生像该'097专利的方法那样紧凑的元件。
[0089] 本文所述的方法的一个可能用途为:在设计抽头延迟线滤波器时,可以使用一种 有限冲激响应(FIR)滤波器,以例如提供对输入信号的期望频率响应。这样的滤波器的输出 为取自均匀间隔的抽头的电压的加权组合,权重由在各个点处连接到延迟线的电阻器来提 供。这样的滤波器的准确度很大程度上依赖于权重即电阻器值的比率。本领域技术人员也 将会明白本发明的许多其他潜在应用。
[0090] 已经参考若干实施方式在上面说明了所公开的系统和方法。本领域技术人员按照 本公开内容将会明白其它实施方式。通过以下方式可以容易地实现所描述方法和设备的某 些方面:使用与上述实施方式中描述的那些配置或步骤不同的配置或步骤,或者结合与上 述元件不同的元件,或者还结合除了上述元件以外的元件。
[0091] 例如,虽然出于简单说明的原因已经使用了电阻器,但是如在上面所注意到的,电 感器和电容器遵循串联和/或并联连接的计算值相同或相似的规则,只要像上面所注意到 的那样也调整用于计算串联或并联连接的值的公式,同样可以使用本文所述的技术来实现 那些部件。
[0092] 也应当明白,能够以许多方式,包括作为过程、设备或系统来实现所述方法和设 备。可以通过用于指示处理器执行这样的方法的程序指令来实现本文所述的方法,并且这 样的指令被记录在诸如硬盘驱动器、软盘、诸如压缩盘(CD)或数字通用盘(DVD)的光盘、闪 存等的非暂态计算机可读存储介质上。如果需要也可以将该方法合并到硬连线逻辑中。应 当注意到,可以更改本文所述的方法的步骤的顺序,并且这仍在本公开内容的范围内。
[0093] 根据本实施方式的这些和其它变形意在被本公开内容所覆盖,本公开内容仅受所 附权利要求书限制。
[0094] 附录
[0095] (defun sarsp(target&optional(rl)(tol le~6))
[0096] ''This function takes a target value and optionally a nominal resistor value and a tolerance"
[0097] ;;该函数返回描述如何以串联/并联组合设置标称电阻器值(如何连
[0098] ;;接标称电阻器的多个实例)的表达式,使得将目标值实现成在规定
[0099] ;;公差内。表达式是诸如(s4(p3))的LISP列表形式的列表,其中,
[0100] ;;(s4(p3))的意思是:串联设置四个电阻器,并将所得到的设置成与
[0101];;三个电阻器并联。
[0102] (let((result nil);;该局部变量为在对下面定义的内部函数"fix"的递归调
[0103] ;;用的各级处构建的result。
[0104] (last nil));;该局部变量为或's'或'p'以及所用电阻器的数目的两元素
[0105] ;;的列表。例如,如果last为(s4),则这表示以下事实:最近
[0106] ;;的计算需要串联的四个的电阻器来实现增量修正。新值将被
[0107] ;;加到该列表的尾端以进一步完善该值。例如,如果该列以's'
[0108] ;;开始,则该值将会以小于'r'的量来为太小,因此在电阻器
[0109] ;;并联的情况下,将需要某数来修正它。然后(s4)可以变成
[0110] ;;(s4(p5)),(s4(p5))表明除初始值4以外又多校正了标
[0111] ;;称值的 1/5。
[0112] (labels((sp
[0113] ; ;sp为计算s和p的表达式的内部递归函数调用。例如,被称
[0114] ;;S(Sp'(s4(p3))'S)的该局部函数调用将返回13/3,
[0115] ;;因为13/3是在以下情况下将产生的标称电阻器的正确分数,
[0116] ;;并联的三个(即1/3)被设置成与四个串联:13/3 = 4+1/3。
[0117] (expression in-context);;该函数的自变量为表达式-s和p
[0118] ;;以及context的列表。'context' 告知
[0119] ;;代码,该列表是最近由串联元件构建,
[0120] ; ; 's',还是由并联元件构建,'P'。
[0121] (etypecase expression
[0122] ;;查看我们已给出的表达式:它是要进一步计算的表达式
[0123] ;; (cons),或者它是现在的上下文中的整数?
[0124] (cons
[0125] ;;如果它是要进一步计算的表达式,那么它以s或p开始吗?(ecase(car expression)
[0126] ;;如果它以's'开始,则走至每个子表达式并将它们求和;
[0127] (s(loop for x in(cdr expression)sum(sp x's)))
[0128] ;;如果它以'p'开始,则走至每个子表达式并将它们并
[0129] ;;联设置;
[0130] (p(/(loop for x in(cdr expression)sum(/(sp x'p)))))))
[0131] (integer
[0132] ;;如果该表达式实际上只不过是一个整数,则串联这些电
[0133] ;;阻器(即该整数),或者并联这些电阻器(即一除以该
[0134] ;;数),这取决于我们是否在's'或'p'表达式的上下文中。
[0135] (ecase in-context
[0136] (s expression)
[0137] (p(/expression))))))
[0138] (acc
[0139] ;; 'acc'为辅助函数,其使我们构建的表达式的最后一部分增 [0140];;大。它使用局部变量'last','last'为它添加的最后一个 [0141 ];;东西,并且它通过以下方式来修正该最后一个东西:以并 [0142];;联方式添加更多个电阻器(因为上一个操作是串联操作,
[0143];;所以增加总值),或者以串联方式添加更多个电阻器(因 [0144];;为上一个操作是并联操作,所以减小总值)
[0145] (what)
[0146] (if result;;如果result为非零,贝lj我们已经开始了,且我们能 [0147] ;;够修正我们最近做的末端;
[0148] (setf(cdr(last last))(list(setq last what)))
[0149] ;;但是如果我们尚未开始,则仅使得result等于我们将要累加的, [0150];;并且将' last '也设置成它。
[0151] (setq last(setq result what))))
[0152] (fix
[0153] ;;这是主递归
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1