杨一军,陈得宝,王江涛,丁国华,王孟杰
(淮北师范大学物理与电子信息学院,安徽 淮北 235000)
自1995年Eberhart R等人[1]提出粒子群优化算法(PSO) 以来,以其编程容易、收敛快等优点得到迅速发展[2]。2004年Ratnaweera A等人[3]引入变异理论,采用变加速系数方法,有效控制了本地搜索和收敛,达到全局最优解。2008年Sari A等人[4]在燃料电池电路设计中,采用粒子群优化算法,收到较好效果。2010年何怡刚等人[5]采用粒子群算法优化神经网络,实现模拟电路故障的诊断,提高了故障诊断的收敛速度和诊断正确率。同年,Pedersen M E H等人[6]有效地通过调整自身行为参数,提出一种简化粒子群算法。2012年,Mousa A A等人[7]结合遗传算法和粒子群优化算法优点,提出混合粒子群优化算法的多目标优化方法。本文以直接耦合方式下的差分-共射电压串联负反馈放大电路为例,以高电压增益、共模抑制比、输入电阻以及低输出电阻为设计目标,采用PSO自适应方法优化电路参数。最后使用EWB软件对优化结果仿真,两者增益的相对误差为0.85%,表明满足电路不失真放大的要求,给出应用中设计电路的一种方法。
Figure 1 Differential-common emitter voltage series negative feedback amplifying circuit图1 差分-共射电压串联负反馈放大电路
差分-共射电压串联负反馈放大电路如图1所示,电键位于A是反馈放大器,位于B则是基本放大器。
电路引入了两级电压串联反馈类型后,属高输入、低输出电阻型电压放大器。不失一般性,设各管β相同。因反馈电阻Rf通常远大于RB2,Rf∥RB2≈RB2,同时T1、T2管基极电流是小电流,而RS、RB1=RB2又都是小电阻,可视开环下两管输入端直流对称,静态电流IE1、IE2相等,有:
(1)
另外根据图1电路,可以建立方程组,可求得VC1和IB3,进而得到IE3。
(1)基本放大器电压增益。
基本放大器电压增益经推导为:
(2)
其中,Ri2=RB3+rbe3+(1+β)RE3是第二级放大输入电阻,rbe1、rbe3可由公式rbe=rbb′+(1+β)26 mV/IE确定。
(2)共模抑制比。
考虑到第二级的共发射极放大电路对差模、共模放大能力相同,因此整个放大器的共模抑制比就是差分放大器的共模抑制比。按定义,可得共模抑制比KCMR为:
(3)
(3)反馈放大器电压增益。
利用开、闭环间关系能得到反馈放大器电压增益:
(4)
其中,kfv=RB2/(RB2+Rf)是反馈系数。
(4)输出电阻。
基本放大器输出电阻Ro=RC3∥(Rf+RB2)≈RC3∥Rf,则反馈放大器的输出电阻Rof为:
(5)
其中,Avst是负载开路时的源电压增益。
(5)输入电阻。
因RB2∥Rf≈RB2,故基本放大器输入电阻Ri=2(RB1+rbe1),反馈放大器输入电阻为:
Rif=Ri(1+kfvAv)
(6)
(1)工作于放大区的条件。
根据电流的实际流向,算法中使用了限制条件IC1>0、IB3>0;按晶体管工作在放大区和动态范围的需要,要求0.9 V
(2)电阻RE3的设置。
由式(2)知,RE3增大则Ri2增大,不利于提高Av。但其值较大有利于T3管工作于放大区,综合考虑在算法中设置若其小于500 Ω,则令其等于500 Ω。
(3)对Rif考虑。
在电压源-电压放大器结构中,放大器得到的有效电压信号vi=Rivs/(Ri+RS),其中Ri是放大器输入电阻,RS是信号源内阻。若RS本身是一小电阻,则过多提高Ri意义不是很大。鉴于这种情况,对Rif取平方根加权。
(4)适应度函数的选择。
对所设计的反馈放大器,希望尽量大的共模抑制比和电压增益,较高的输入电阻和低输出电阻。故定义适应度函数为:
(7)
可见,问题的实质是根据电路的具体应用,在约束条件下对电路参数自适应优化。
粒子群算法模拟动物捕食原理,利用动物对当前群体的最好位置和记忆自身经历过的最好位置的跟踪,实现对问题的优化。标准粒子群优化算法可简单描述如下:
开始随机产生初始解,以后通过进化迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值去更新自己。一个是粒子自身所找到的最优解,另一个是整个种群中当前找到的最优解。
粒子位置更新方程为[1]:
Xi(k+1)=Xi(k)+Vi(k+1)
(8)
其中,Xi(k+1)、Xi(k)分别为第k+1时刻和第k时刻第i个粒子的位置,Vi(k+1)为k+1时刻该粒子的运动速度。速度的更新方程为:
Vi(k+1)=wVi(k)+c1rand(·)(Xpbesti(k)-
Xi(k))+c2rand(·)(Xgbest(k)-Xi(k))
(9)
其中,c1、c2称为学习因子(常取为常数);Xpbesti和Xgbest分别为系统进化迭代至当前代时,第i个粒子的最好位置和整个粒子群中最优粒子的位置;rand(·)是介于0~1的随机数;w为加权因子,随更新次数增加线性减小,表示为:
w=wmax-gen×(wmax-wmin)/maxgen
(10)
其中,wmax是最大加权因子;wmin是最小加权因子;gen是当前更新代数;maxgen是最大更新代数。利用式(10)可以避免出现在全局最优解附近“振荡”现象。
除此之外,为限制粒子在一定的范围内运动,所有粒子的运动还必须遵循下列限制条件:
ifX>XmaxthenX=Xmax;
ifX (11) ifV>VmaxthenV=Vmax; ifV<-VmaxthenV=-Vmax (12) 式(11)和式(12)中,Vmax、Xmax和Xmin分别为粒子允许运动的最大速度、最大和最小位置。 结合多级放大电路特点,设计的优化算法具体描述如下: 步骤1算法参数设置。 粒子群运动范围Vmax=10、Xmax=1 000 000、Xmin=10;最大进化叠代数maxgen=30 000;常数c1=c2=2;wmax=0.9;wmin=0.4。根据电压增益、共模抑制比和输入、输出电阻的计算要求,取RB2=RB1,按照表1所示的粒子编码表,随机初始化一组群体。 Table 1 Code of particle表1 粒子编码 步骤2计算各粒子的适应度值。 按式(7)计算各粒子适应度值。 步骤3最好位置的选择和更新。 计算和保存各粒子运动到当前进化代数的最好位置和当前代所有粒子的最好位置。按照式(8)~式(12)对粒子位置进行更新,直到算法达到结束条件。否则,重新回到步骤2,计算各粒子适应度值。 在自适应优化过程中,无约束和分别对电压增益Avf(依次为不小于170、180、190、200)以及输出电阻Rof(依次为不大于500 Ω、400 Ω、300 Ω、200 Ω)给予约束,运行后的各电阻值结果如表2所示。 Table 2 Alternating current index and parameters of resistances for the circuit表2 电路的交流指标和电阻参数 (1)表2中第1行(表体,下同)是对Avf和Rof无约束时的优化结果,可以看到,f值为最大;当对Avf或Rof加以约束后,f减小;且限制量越大,降低越多,这是对f中某项约束后,形成条件优化的结果。这类似两个边长分别为a、b的矩形,面积S=ab。在a+b是常数条件下,a=b时,S最大。当对a或b限制时,S将减小,且限制造成a、b相差越大,S越小。 (2)在参数的自适应优化过程中,RE3始终为500 Ω,是算法中为其设定的最小值,它的最小有利于增大适应度函数。 (3)在电路中,希望交流指标Avf增大,则有些交流指标变差(如第1~5行的Rof增大);当Avf>180后,Rif减小明显(第3~5行),但对KCMR影响不大,这是KCMR仅与RB1、rbe、REE有关,在rbb′、RB1为小量时,KCMR近似为常数与Avf无关所致。 (4)从第2~5和第6~9行可以分别看到,当要求Avf不小于x(x=170、180、190、200)时,Avf总是从右边趋于x;当要求Rof不大于y(y=500、400、300、200)时,Rof总是从左边趋于y,这样可以使f在给定约束下获得最大。 (5)将f1=ln(Rif)AvfKCMR/Rof作为适应度函数,结果如表3所示。 从表3可以看到,当使用自然对数对Rif加权后,因其较平方根衰减更快,大输入电阻对提高f1贡献不大,造成RB1减小,使得Avf增大。 (6)根据工程实际,可对某一参数加以约束,也可以采用加权处理(如乘方、取对数等),优化后以满足特定需求。 将图1中电阻用表2中第1行数据替代,启动EWB仿真软件,观察闭环下输入电压和输出电压,相比得Avf=164.72。按相对误差=|理论值-仿真值|×100%/理论值,可得PSO算法与仿真结果间相对误差为0.849 9%,两者一致性表明电路工作于不失真线性放大状态。这说明在涉及需要考虑电路元器件电性能时,优化结果能符合电路设计要求。 本文以闭环电压增益、共模抑制比以及输入电阻的平方根三者的乘积,对输出电阻的比为适应度函数,结合差分-共发射极电路的设计要求,采用粒子群优化算法得到电路的自适应电阻值,从而得到 Table 3 Alternating current index and parameters of resistances for the circuit with different fitness functions表3 不同适应度函数下的电路的交流指标和电阻参数 优化电路。闭环电压增益EWB仿真与优化结果一致,表明优化参数的结果能保证晶体管工作于线性放大区,适用于含有非线性元件的放大电路。当对放大器某交流指标提出要求后,结果总是适应度函数值减小,同时趋于该指标的底限而重新获取适应度函数的最大值。这表明在设计复杂的多级反馈放大电路时,一方面可以根据对放大器不同性能指标要求,选择不同的指标参数优化;也可以对一些指标加以约束(或者采用对指标加权,定义适应度函数),实现对参数优化,以取得实际需要的最佳效果,这对设计各类放大电路具有普遍意义。 [1] Kennedy J,Eberhart R.A new optimizer using article swarm theory[C]∥Proc of the 6th International Symposium on Micro Machine and Human Science, 1995:39-43. [2] Hautière N,Labayrade R,Aubert D.Real-time disparity contrast combination for onboard estimation of the visibility distance [J]. IEEE Transactions on Intelligent Transportation Systems, 2006, 7(2):201-212. [3] Ratnaweera A, Halgamuge S K, Watson H C. Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients[J]. IEEE Transactions on Evolutionary Computation, 2004, 8(3):240-255. [4] Sari A, Espanet C, Hissel D. Particle swarm optimization applied to the co-design of a fuel cell air circuit [J]. Journal of Power Sources, 2008, 179(1):121-131. [5] He Yi-gang, Zhu Wen-ji, Zhou Yan-tao, et al. An analog circuit diagnosis method based on particle swarm optimization algorithm[J]. Transactions of China Electrotechnical Society, 2010, 25(6):163-171. (in Chinese) [6] Pedersen M E H,Chipperfield A J.Simplifying particle swarm optimization [J]. Applied Soft Computing,2010, 10(2):618-628. [7] Mousa A A, El-Shorbagy M A, Abd-El-Wahed W F. Local search based hybrid particle swarm optimization algorithm for multiobjective optimization[J].Swarm and Evolutionary Computation, 2012(3):1-14. 附中文参考文献 [5] 何怡刚, 祝文姬, 周炎涛, 等. 基于粒子群算法的模拟电路故障诊断方法[J]. 电工技术学报, 2010, 25(6):163-171.3.3 反馈放大器参数优化
3.4 讨论
4 EWB仿真
5 结束语