谐波平衡法仿真设计
一、摘要
谐波平衡法仿真是研究非线性电路的非线性特性和系统失真的频域仿真分析法。一般适合模拟射频微波电路仿真。首先介绍谐波平衡法仿真基本原理及相关控件使用情况,然后利用实例详细介绍谐波平衡仿真法的一般相关操作及注意事项。在射频电路设计中,通常需要得到射频电路的稳态响应。如果采用传统的SPICE模拟器对射频电路进行仿真,通常需要经过很长的瞬态模拟时间电路的响应才会稳定。对于射频电路,可以采用特殊的仿真技术在较短的时间内获得稳态响应,谐波平衡法就是其中之一。
二、正文
2.1 实验综述
谐波平衡仿真是非线性系统分析最常用的分析方法,用于仿真非线性电路中的噪声、增益压缩、谐波失真、振荡器寄生、相噪和互调产物,它要比SPICE 仿真器快得多,可以用来对混频器、振荡器、放大器等进行仿真分析。对放大器而言,采用谐波平衡法分析的目的就是进行大信号的非线性模拟。
(1)确定电流或电压的频谱成分;
(2)计算参数,如:三阶截取点,总谐波失真及交调失真分量;
(3)执行电源放大器负载激励回路分析;
(4)执行非线性噪声分析。
2.2实验过程(实验步骤、记录、数据、分析)
2.2.1构建电路
(1)打开上一章的仿真原理图s_final。
(2)用一个新名称HB_basic保存原理图,删除所有仿真测量组件及输入端口(Term)。
(3)在“source_Freq Domain”元件面板列表中选择P_1 Tone控件,插入输入端;
(4)在图中标注Vin,Vout,VC和VB四个节点;
(5)修改P_1Tone源参数,同时命名为RF_source,如图2. 1所示:Freq=1.9 GHz
Z=50 Ohm
P= dbmtow(-40)
Num=1
图2.1 RF源设置
2.2.2设置仿真参数
(1)选择“Simulation-HB”类元件面板,在原理图上放置谐波平衡仿真控制器,如图2.2所示;
(2)修改参数
Freq[l]=1.9GHz基波频率为1.9GHz
Order[1]=3谐波次数为3
图2.2 谐波平衡仿真控制器
2.2.3设定测量方程式
(1)在“Simulation-HB”元件面板列表中选择测量方程控件,放置到原理图中。双击测量方程控件,输入dbm_out=dBm(Vout[1])方程,如图2.3所示。
图2.3 测量方程控件设置
方括号[1]中的数字指的是在分析中计算频率的索引值。当Order=3时,索引值表示为:index[0]是直流,index[l]是1900MHz,index[2]是二次谐波即3800MHz。index[3]是指三次谐波。因此,方程式表示以dBm表示的1900MHz信号的输出功率。
完整电路图:
图2.4 HB_basic 电路原理图
(2)进行仿真,没有任何警告和错误信息,仿真通过;
(3)改变谐波平衡控制器参数Freq[1]=1800MHz 。再次仿真,出现错误信息,原因是源的频率(1900MHz )与HB1频率(1800MHz )相差100MHz 。 故源频率与控制器频率一定保持一致 2.2.4仿真结果输出
(1)在数据显示窗口,插入Vout 矩形图,得到输出信号的频谱;
(2)在基频上插入Marker ,如图2.5所示。放大器在1.9GHz 频率点的输出功率为 -4.876dBm ;
freq, GHz
d B m (V o u t )
图2.5 输出信号频谱图
(3)在数据显示窗口中插入数据表,并使数据列表中显示“dbm_out”,可以得到输出信号的功率值,如图2.6所示。
dbm_out
-4.876
图2.6 输出信号的功率值
(4)在数据左侧窗口单击工具栏,插入Vin和Vout两个时域信号的数据轨迹。ts(时间序列)函数在谐波平衡法中将结果转换到时域。插入两个Marker点,如图2.7所示,会发现Vin和Vout在同一个时刻输出信号相位基本一致(非反相)。
图2.7 输入和输出信号的时域波形
(5)在轨迹图中直接把Vout改为VC,Vin改为VB来编辑y轴标识,如图2.8所示。
(6)观察m4和m5点,信号相位相反。通过和图对比,这说明匹配网络对相位有着很大的影响。
图2.8 VB和VC信号的时域波形
2.2.5函数和索引的使用
(1)利用列表工具,显示Mix及Vout的值,如图2.9所示。在谐波仿真运行时数据组中就会产生一个Mix索引值。
freq
0.0000 Hz
1.900 GHz 3.800 GHz 5.700 GHz
Mix
1
2
3
Vout
0.000 / 0.000
0.180 / -14.199
0.001 / -170.939
1.963E-5 / 46.135 图
2.9 Mix和Vout数据表
(2)通过双击列表,进入“Plot Traces & Attributes”对话框。点击
按钮。在“Enter any expression”栏中输入dBm(Vin),然后单击“OK”得到如图2.10所示:
freq
0.0000 Hz
1.900 GHz 3.800 GHz 5.700 GHz Mix
1
2
3
Vout
0.000 / 0.000
0.180 / -14.199
0.001 / -170.939
1.963E-5 / 46.135
dBm(Vin)
-40.214
-82.943
-111.162图2.10 更新的数据表
(3)在Vin自变量中键入索引值[1]来编辑dBm(Vin)数据,如图2.11所示。得到在索引频率为1时(1900MHz)的Vin值为-40.214dBm。
freq
0.0000 Hz
1.900 GHz 3.800 GHz 5.700 GHz Mix
1
2
3
Vout
0.000 / 0.000
0.180 / -14.199
0.001 / -170.939
1.963E-5 / 46.135
dBm(Vin[1])
-40.214图2.11 参数数据表
(4)将光标插入dBm(Vin[1])表达式并键入逗号“,”和50, dBm函数中第二个自变量是Zin,缺省值50Ω,因此输出没有改变,如图2.12所示:
freq
0.0000 Hz
1.900 GHz 3.800 GHz 5.700 GHz Mix
1
2
3
Vout
0.000 / 0.000
0.180 / -14.1...
0.001 / -170....
1.963E-5 / 46...
dBm(Vin[1],50)
-40.214图2.12 参数数据表
2.2.6输入功率和Zin。
(1)在HB_basic设计中,从“Probe Compenents”元件控制面板中调出电流指示器控件(current probe),重命名为I_in,插入到原理图中,如图2.13所
示:
图2.13 电流指示器
(2)重新仿真。仿真结束后,在数据显示窗口利用方程计算平均传输功率,如图2.14所示
Eqn P_del_dbm=10*log(0.5*real(Vin[1]*conj(I_in.i[1])))+30
图2.14 插入方程
(3)如图2.15所示,写另一个方程计算Zin。然后,将插入Z_in参数方程列表,如图2.16 所示。注意到复数阻抗并不是50,而是47.619Ω
Eqn Z_in=Vin/I_in.i
图2.15 输入阻抗方程
freq
0.0000 Hz
1.900 GHz
3.800 GHz
5.700 GHz Z_in
47.619 / 0.686 50.000 / -180.000 50.000 / -180.000
图2.16 输入阻抗值
(4)插入列表,显示dBm(Vout[1])、dBm(Vin[1],Z_in)和P_del_dBm数据,如图2.17所示:
dBm(Vout[1])
-4.876
dBm(Vin[1],Z_in[1])
-40.003
P_del_dbm
-40.003图2.17 输入功率数据
三、总结
在频域中描述如三极管、二极管等非线性器件是非常困难的,然而,在时域中这些非线性元件很容易得到其非线性模型。因此,在谐波平衡仿真器中,非线性系统用时域描述,用频率描述线性系统,谐波平衡分析法将时域和频域通过FFT结合起来,它将电路状态变量近似写成傅立叶级数展开的形式,通常展开项必须取得足够大,以保证高次谐波对于模拟结果的影响可以忽略不计。谐波平衡法在目前的商用RF软件中得到了很好的应用,如ADS、AWR、Hspice、Nexxim 等都支持HB分析。
ADS中有专门针对谐波平衡法仿真的元件面板,在“Simulation-HB”类元件面板中包括了所有谐波平衡参数仿真需要的控件。通过这次实验,我了解了谐波平衡工作的原理,我设计的这款是以1.9GHz的放大器为基础的,所以放大器是个关键点,所有的实验都是围绕放大器来做的。在做的过程中考验的是我们对原理的掌握情况同时熟悉软件,熟练操作。