• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > ADS > ADS教程 > 谈 ADS 如何用 Harmonic Balance 来模拟振荡器

谈 ADS 如何用 Harmonic Balance 来模拟振荡器

录入:edatop.com    点击:
一般而言,电路的仿真,就是在讨论「输入讯号」和「输出讯号」之间的关系。像放大器就是在讨论「输入讯号」和「输出讯号」之间的倍率关系。相移器是讨论「输入讯号」和「输出讯号」之间的相位关系。若是线性电路,则可以把输入讯号和输出讯号整理成矩阵形式后,解反矩阵即可得到输出讯号。然而,振荡器却无法这样子分析。

因为振荡器本身没有「输入讯号」,却有「输出讯号」。所以,模拟振荡器是件很特别的事情。站在电路求解的立场,你可以把他想象成要求一个矩阵的NULL。嗯~~~说多了。总之,就是跟典型的电路解法不同,要不就是开发一种新的计算方法,要不就是想想有没有替代方案。而在 ADS 的 Harmonic Balance 里头,就了一种替代方案,仍然可以传统的电路计算方法来找出振荡器的特性。

这个原理很简单。首先,我们来设想一个状况。假如一个振荡器在稳定振荡的时候,如果我把其中的一条线拉出来。我们可以想象,这条线,基本上是有两个方向的讯号在来来回回(图一中,就是向右的 S1 以及向左的 S2 )。运作方式如下:

一开始有一个小小的讯号叫做 S1
->   S1 因为遇到反射 (Γ1)就会反射成 S2
->   S2 因为遇到反射 (Γ2)就会反射成 S1
->   S1 再因为遇到反射 (Γ1)就会反射成 S2
->   S2 再因为遇到反射 (Γ2)就会反射成 S1
………

于是就这个样子一直循环下去。

 

图一 振荡器稳定振荡的情况

这个样子的循环,我们可以发现,每一次循环 S1 或 S2 都会增加 Γ1 × Γ2 倍(向右以及向左各反射一次,再变回自己)。这个时候,如果我们讨论  Γ1 × Γ2 的大小。我们会发现有三种情况:

状况1:| Γ1 × Γ2 | > 1 则讯号会越来越强

状况2:| Γ1 × Γ2 |= 1 则讯号大小不变
状况3:| Γ1 × Γ2 | > 1 则讯号会越来越弱

前述三种状况,在状况3中,因为讯号会越来越弱,所以这种电路不会有振荡的行为,因为来反射几次讯号就趋近于零了。于是我们就讨论状况1,以及状况2。

在状况1当中。当讯号越来越强。因为晶体管会有饱和的现象,也就是晶体管所产生的反射能力( Γ2 )会随着讯号增强而变弱。这个时候,因为 Γ2 越来越小,而| Γ1 × Γ2 |也就越变越小。于是小到| Γ1 × Γ2 |=1 的时候。讯号大小就会维持不变,于是 Γ2 就不变。于是电路就稳定在| Γ1 × Γ2 |=1 的情况下。我们因此得知稳定振荡的条件1:

条件1:会振荡的电路,都是先从状况1 (| Γ1 × Γ2 | > 1),再变成稳定的状况2 (| Γ1 × Γ2 |= 1)。

讨论完大小,再来就是讨论相位的问题了。相位的问题其实很简单。我们在状况2当中,相位如果不等于 0 的话。那么一前循环后的讯号和自己有个相位差,这个时候频率就会改变。可以这样子想象,如循环一次,这个讯号已经跑超过 360 度了。于是再以这个超过 360度的讯号再去循环。下一次就又跑得更快了。很久很久后,不就可以发现,这个讯号的频率变快了吗?  反过来说,如果这个讯号跑不足 360 度。循环一阵子后的讯号,自然就慢了下来,频率也就变低了。在此得知稳定振荡的条件2:

条件2:当 | Γ1 × Γ2 |= 1 的时候, phase( Γ1 × Γ2) = 0 的频率,就是振荡的频率

纵合以上两个条件,我们知道,我们希望的,就是求出 Γ1 × Γ2 就可以分析出电路的稳定振荡行为了。

最简单的作法,就是把电路切断,这样子电路就有两个 Port。再计算这两个 Port 所带来的反射系数,如下图:
 
 
图二 断开电路求振荡

图二的模拟中,会发现这个讯号里头,把电路完全切成两半了。然而实际的振荡器中,如果用频率的角度来看大讯号的运作,其实一个讯号中有好多的频率成份在里头,也就是一倍频、两倍频 … 。也是这些倍频项次控制着组件的饱和现象。因此这一种切开的方法,就只能观察条件一中,| Γ1 × Γ2 | > 1 的状况,以及条件二中,| Γ1 × Γ2 |= 1 的情况。这个方法是可以用来做初始设计,但若要做完整分析,就没办法了。

于是,我们可以想一想要如何让一倍频的讯号可以反射,而其它的讯号可以通行无阻。这个在不同的软件中,都有不同的解决方法。而在 ADS 之中。他的解决方法是使用 OSC Port 这个组件


 
图三 OscTest, 以及 OscPort

图三就是ADS组件的样式。在这边也引进了 OscTest。这个就是线性版的 OscPort。他只会分析
Γ1 × Γ2但不会寻找稳定振荡的点。而 OscPort,就是利用 OscTest 的原理,再配合 Harmonic Balance 的模拟方法来求出稳定振荡的解。

而 OscTest 里卖的是什么药呢? 其实是非常简单的。

 
图四 OscTest 的原理

OSCTest 的原理是画在图四中。可以看得出来,OscTest 中,有一个隐藏起来的 Port。图四的种种设定如下:

S21 = 1
S32 = 1
S13 = 1
S12 = 1 (只有在非主频率时才是这样,DC、 2倍频、3倍频…,在1倍频时S12 = 0 )

所以,这个设定中,其实对于非主频率,是没有影响的,因为 S21 = S12 = 1 。也就是有接没接都一样。但是对于主频率来说,S12 = 0。这个时候,回来的讯号,只能透过 Port2->Port3->Port1 这条路了。 所以, 

从 Port 3 发射讯号,经 Port 1 反射,弹向 Port 2 的讯号,就等于文章一开始提到的 Γ2
弹向 Port 2 的讯号,经 Port 2 反射,发射向 Port 3 发出的讯号,就等于文章一开始提到的 Γ1 

于是要计算 Γ1 × Γ2 其实就等于计算 OscTest 中的 S33


由于这个方法,把两个反射系数的相乘化简成一个反射系数,所以是很漂亮的操作方法。因此,在起振时,应该是:

|S33| > 1
Phase(S33) =0

Harmonic Balance 找到这个起振条件之后,会逐渐增加输入到 Port 3 的功率。逐步增加到 |S33| = 1 在增加的过程中,也会调整频率,让 Phase(S33) =0。所以在不断猜解的过程中,找到稳定振荡的条件,因此振荡频率以及振荡的大小都可以很准确的找出来哦。

不过,因为这是猜解的过程,所以有时候,振荡的频率如果一开始给得太离谱,就会导致猜不出来。或者,如果这个振荡器有多重振荡条件的话,这个振荡器的模拟,也会找不出来哦。

Agilent ADS 教学培训课程套装,专家讲解,视频教学,助您用最短的时间学会ADS

上一篇:ADS2106安装教程
下一篇:ADS如何使用 Multi-Processors 的功能

ADS培训课程推荐详情>>

  网站地图