实验九最终系统和电路仿真.docx
《实验九最终系统和电路仿真.docx》由会员分享,可在线阅读,更多相关《实验九最终系统和电路仿真.docx(23页珍藏版)》请在冰豆网上搜索。
实验九最终系统和电路仿真
实验九、最终系统和电路仿真
概述
这是最后一个实验,把课程中的所有电路放在一起:
放大器和滤波器。
它们代替了在前面实验中使用的特性(behavioral)系统模型。
任务
●在系统中为1900MHz放大器构造一个子电路。
●使用SmartSimulationWizard(灵活仿真魔术棒)。
●建立一个具有GSM源的谐波平衡仿真,并对它进行仿真。
●用CDMA源建立并运行一个CE仿真。
●运用一个数据显示例子,对ACPR和功率谱进行仿真。
●编程Markersliders(游标)来规范(customize)数据显示。
●选作:
具有最少指示的联合仿真。
1.为库创建最终Amp_1900子电路……………………………………148
2.用灵活仿真魔术棒(SmartSimulationWizard)对AMP_1900进行仿真……………………………………………………………………149
3.创建一个由扫描LO的HB(谐波平衡)最终原理图和方程………153
4.谐波平衡(HB)最终仿真:
具有本振功率和噪音扫描的双音分析…155
5.查看NF,ConvGain,dbm_out和IFgain并作图……………………157
6.最终的包络仿真:
CDMA源…………………………………………157
7.打开一个DDS的例子,对ACPR和功率谱作图……………………158
8.用一个编程的游标(markerslider)作频谱图………………………160
9.选作:
RF特性系统的联合仿真………………………………………162
步骤
1.为库创建最终AMP_1900子电路
a.用一个新名AMP_1900保存最后的放大器电路包络设计(ckt_env_gsm),这个原理图将成为一个你的系统任务中要用到最终的放大器设计。
b.如图所示.删去所有的仿真控制元件、变量、源等。
设置Vdc=5V。
在File>DesignParameters中将元件实例名改为AMP_1900,符号名为SYM_Amplifier。
同时,确定放置端口连结器(portconnector)1和2到输入输出端。
检查电路并保存和关闭AMP_1900设计。
c.进入ADS主窗口并打开/转移(Open/Change)到System_prj。
这里有你设计的RF_sys和滤波器。
d.在system_prj中打开一个新的原理图。
然后点击File>CopyDesign。
如图所示在FromDesign栏中点击按钮Browse,并点击amp_1900project/networks,然后选择AMP_1900在TOPath栏中,点击WorkingDirectory,并点击OK——文件和它下属的文档(bjt_pkg)都将复制到你的系统任务中。
2.用SmartSimulation“魔术棒”(Wizard)对AMP_1900进行仿真
该魔术棒有很多标准的仿真设置。
尽管它不能代替你亲自了解如何使用ADS,但它还是很有用的。
在下面的步骤中,你将用它来仿真频率扫描的AMP_1900。
a.在任务system_prj中,打开一个新的原理图并点击theSmartSimulationWizard图标
。
b.随后将出现有前5个步骤的对话框:
1)选择Amplifier并点击Next。
2)选择UseanexistingADSdesignastheAmplifiersubcircuit(用一个己存在的ADS设计作为放大器的子电路)和点击Next。
3)选择AMP_1900并点击Next。
4)检验端口是否正确,若是,点击Next。
5)点击Finish。
c.在原理图上双击仿真设置图,它看上去像网络分析仪,如下图所示。
d.当对话框出现后,在仿真选择(SimulationSelection)一栏中,选择Nonlinear1-Tone文件夹中的Spectrum,Gain,Harmainc,DisturtionVSFreq项,并点击箭头把它加在右边框中。
如下图所示。
e.在仿真设置(SimulationSettings)栏中,设置RF频率为1.9GHz,扫描频率从1GHz到3GHz,步长为0.1GHz,如下图所示。
同时点击RFsource,并设置功率(RFInputPower)为-40,偏置电压(biasl,bias2)为0。
f.点击Simulate按钮,仿真完成后,点击DisplayResults(结果显示)按钮。
g.数据显示将打开且结果将自动绘出,如下图所示。
在希望的频率设置Marker。
h.正如你所看到的,魔术棒的功能能够很快地为你的电路显示出仿真结果。
检查这些结果。
你可以将Marker放在任何一条轨迹上,同时你会发现结果和你以前完成过的一些仿真结果一样。
现在,关闭原理图和数据显示器—不必保存。
在下面的步骤中,我们将把滤波器加入AMP_1900系统设计中。
关于向导(Wizard)原理图的重要备注:
经常观察你的设计的原理图来检验使用的元件,诸如隔直电容、变量等没有错误。
魔术棒功能能为你节约许多时间。
其实它与使用模板或设计向导(designguides)有点相似。
但任何东西都不能代替你运行ADS的知识,特别是当结果不确定或是当魔术棒的设置与你的拓扑结构或配置不相同时。
3.创建一个由扫描LO的HB(谐波平衡)最终原理图和方程
a.打开现有的system_prj设计:
rf_sys.dsn文件。
现在,用一个新名称final_hb_lo.swp来保存它。
如下图所示,通过用你的设计代替你现存的滤波器和放大器来修改设计。
一步一步地随向导操作,或是根据下图试着进行设置。
b.从库中用filter_1900取代特性滤波器。
用设计向导滤波器DA_LCLowpass代替LPF_Bessel,如右图所示。
按Push检验电路。
关于DT元件文本的备注:
参数值(Fp,Fs等)都可使用默认值,不用改变它们。
c.同时,从库中用你的AMP_1900代替系统放大器并用Push命令或
键来检查。
d.对RF和LO,设置两个P_lTone源。
确保Num=,P=和Freq=都如前图所示设置变量。
e.在混频器中,由于饥饿效应(starvationeffect)混频二极管没有响应,设置Pminspec:
PminLO=-5。
设置转换增益为3dB,并且S11,S22,S33都设为0,其它一些参数则不需要。
f.为RF和LO的Freq和Pwr设置VAR,如右图所示。
同时,设置Vin和Vout节点标注。
g.写一个IF输出功率的测量方程。
因为含有混频,故使用Mix函数来检验频率:
dbm_out=dBm(Mix(Vout,{-1,I})),在大括号里边,索引值是本振{-1,andRF1}。
其结果,dbm_out是IF信号在Vout的功率。
4.谐波平衡(HB)最终仿真:
双音本振功率和噪音扫描
a.把原理图上的所有控制器都删掉,插入并设置一个谐波平衡控制器,如下图所示。
你可以通过先打开显示设置,然后在屏幕上输入值来完成。
或者也可用选项的每一栏来设置值。
另一种方法是在Display栏中,如下图所示打开显示设置。
下面关键的几步将说明怎样用这些选项来设置一个控制器。
✧Freq栏—设置MaxOrder(混频产物)=8;设置Freq[1]=LO_Freq,它的Order[1]=5次谐波;设置Freq[2]=RF_freq,Order[2]=3次谐波,因为它的功率比起本振是很低的。
✧sweep栏一设置LO_pwr为线性扫描:
Star=-30,stop=10,Step=1,如上图所示。
✧Params栏-设置statusLevel=4。
没置为4,这将在状态窗口中显示更多信息,包括NF(噪声系数)和转换增益。
✧Solver栏-选择krylov并点击0K一般来说,对于大的电路(几十上百个晶体管)才需要krylov。
但在这里可以使用。
✧Noise1和Noise2栏一对于1)栏,开启Nonlinearnoise(非线性噪声)(在这一栏的底部)并设置Frequency为100MHz,inpututFrequency为RF_freq,这些均针对端口1和2。
对端口2)栏,用Edit列表框,如图所示,加入Vout作为噪声节点。
✧Output:
栏—选择RF_pwr变量。
它将在数据显示中用来写入方程。
这样来选择VarEqns是因为默认情况下,它们没有被送到数据组。
只对节点命名(管脚和导线标注),测量方程才以默认值向数据组输出
b.用一个终端时间检查电路和谐波平衡控制器设置,确保他们都是正确的,如图所示,然后仿真,当功率被扫描后,查看状态窗口。
仿真器信息(statuslevel4)被写入了窗口—这比低级状态设置设置要多花些时间。
但在这个例子中,你想得到的是混频器传输增益和噪声系数。
5.查看NF,ConvGain,dbm_out和IFgain并作图
a.当仿真完成后,下拉状态窗口查看转换增益和噪声系数NF的计算值,如下图所示。
b.作出dbm_out方程的图形,同时你将看到本振扫描后的影响。
注意dbm_out接近OdBm时,输出开始变成直线了。
c.如图所示对IF_gain写一方程。
从输出功率中减去RF输入功率,结果就是被扫描本振的增益值。
把方程用列表列出,下拉列表查看结果。
d.保存原理图和数据显示。
6.最终的包络仿真:
CDMA源
a.用一个新的名称final_env_cdma保存前次设计。
b.从Source-modulated(调制源)面板中调出一个PtRF-CDMA_ESG_FWD源代替原来的源—插入的CDMA源要与下图相同,它是基于一个实信号的发生器。
如下图所示。
设置FO=RF_freq,Power=dbmtow(RF_pwr)。
c.加入一个新的VAR块(block),如上图所示设置t_step,t_stop,bit_rate,sam_per_bit和num_sym。
d.如上图所示,用一个对变量进行设置了的包络(Envelope)控制器代替HB,并且在输出(Output)一栏中,取消两个选择框,并选择IF_out和Vout作为数据组中唯一的数据。
e.将测量方程改为IF_out=Mix(Vout,{-1,1})。
f.仿真—因为在1900MHz耦合线滤波器中存在浮地的节点,所以状态窗口中增加了接地电阻。
7.打开一个DDS例子,对ACPR和功率特性(Specs)作图
a.当数据显示窗口打开后,点击File>Open,并通过对话框进入ADS安装目录去找到下述文件:
examples/Tutorial/ModSources_prj/IS95FwdLinkSrc.dds。
b.打开这个DDS文件并点击DDS命令File>SaveAs,将它保存在你的system_prj中(使用箭头按钮滚动),仍用后缀名DDS保存。
c.注意,如果没有示例数据,其值将是红色或即无效。
将默认的数据组作为你的final_env_cdma数据组,然后将方程vfnd改作为你的IF输出方程:
Vfund=IF_out。
d.你的系统的所有计算值都将作为结果列在下图中。
在数据显示中检验CACPR和Pwr。
如果你了解了这个例子,你可以将它作为一个模板。
e.检查数据,保存和关闭数据显示。
8.用一个编好程序的游标作频谱图
在下面的几步中,你将看到怎样用一个强有力的表达式来传递一个Marker值到一个函数。
并且只要移动Marker,就可作出数据的图形。
a.打开一个新的数据显示并命名为Marker_slider。
b.插入一个方程,点击变量信息(VariableInformation)按钮,你将看到频率(freq)与时间是相关联的。
关闭对话框。
c.如上图写一方程maker_freq。
它将及时地存取在某一点的所有频率。
根据包络仿真控制器中设置的order和最大order,计算频率的数目在任何一个时间点都是一样的,所以你可选择任何一个时间点。
如右下图所示用的是0。
d.插入一个maker_freq方程的图,它以独立变量freq作图。
下面,你要让它看上去像一个游标(slider)。
e.编辑该图,取消的y轴自动刻度。
设置y轴最小、最大值,步长分别为6e-12,6e12和6e12,如右图所示。
然后击点More按钮并设置y轴fontsize=0(键入)。
如果你想轨迹变粗,点击OK,并把Marker放在1.9GHz处。
确定其尺寸,这样看上去就和下图所示一样。
f.用find_index函数写一个方程式freq_index。
marker值和marker_freq将作为自变量,同时返回marker位置的索引值,这个方程将为你想作图的Vout数据查找值。
g.写一方程marker_spectrum来对marker周围的频率作出频谱图。
fs函数将包络时间数据转化为频率——双冒号(:
:
)代表所有时间点,同时freq_index是marker频率的索引值。
在方括号后用5个逗号并输入“Kaiser”窗口函数。
在所有ADS函数中,若使用逗号可忽略任何一个自变量。
h.对marker_spectrum方程做图并将TraceType(在TraceOption中)改为线性(Linear)。
然后移动游标到100MHz处。
如下图所示在频谱图中放置两个marker,写一个BW方程,用indep得到marker的独立变量值(X轴)。
如图所示插入一BW列表,4位有效数字改变Engineering格式并去掉独立数据。
i.移动M1,同时看到BW的值不变。
检查你的作业,保存数据显示和原理图。
你的电路现在已经在系统中被仿真过了,你现在己经完成了所有的课程!
9.选作:
RF特性系统的联合仿真
如果你没有足够时间建立原理图,请要求老师进行示范。
如果有时间,请创建两层原理图(hierachy):
1)具有电路包络仿真设置的特性系统的仿真,这是底层。
2)顶层用DSP面板进行数据流(dataflow)仿真。
步骤如下:
a.打开你在实验2中建立的rf_sys.dsn文件并以sys_bottom为名保存,然后按照以下设置进行修改:
设置混频器的PminLO=-5(最小本振功率),如下图所示。
同时,在电路上放置端口连接器,插入一个Envelope控制器并按下图进行设置。
注意,你不需要在这里插入或声明一个VAR,它将在顶层原理图中插入。
b.保存并关闭设计:
File>CloseDesign。
c.打开一个新的空白原理图窗口:
File>NewDesign。
当对话框出现后,输入名称Sys_top,并在typeofNetwork栏中选择DigitalsignalProcessingNetwork并保存设计。
d.在新的设计sys_top中,如下图所示建立设计:
✧DF(数据流)—是在普通元件(CommonComponent)面板中。
只设置DefaultTimestop=t_stop。
✧Data(数据)—是在时域源面板中。
只设置两个参数:
Tstep=t_step和BitTimed=symbol_time/2。
✧Symbolsplitter—是一个数据分离器(DataSplitter),在定时数据处理(TimedDataProcessing)面板中,只需如图设置两个参数。
✧LPF_RaisedCosineTimed——这些滤波器是在TimedFiIter面板中。
插入一个滤波器,并设置好,其它的只须复制就行。
✧QAM-Mod—这个调制器是在TimedModem面板中,设置如下图。
✧从通用库(regularlibrary)中插入Sys_bottom设计。
✧EnvOutShort—来自于电路联合仿真(CircuitCosimulation)面板。
该元件的作用是捕获从Sys_bottom设计中的中频(IF)信号。
✧从交互控制与显示(InteractiveControlsandDisplay)中调入TK和TKX图。
✧插入电阻、接地线和VAR块。
e.检查所有的数值和变量,确保它们都是正确的以后再仿真。
仿真时,你将在当前图中安排两个图。
f.使用控制器退出仿真并从Sink面板中插入一个频谱分析仪,把它与输出口相连结并进行编辑,使其窗口类型为Kaiser,如下图所示。
g.当状态窗口显示数据由频谱分析仪收集完成时,退出。
h.打开数据显示器的平面图,这个谱图是该数据的CDMA频谱。
小结—这个数据是Ptolemy和包络仿真器之间的一个联合仿真结果。
它标明了ADS基础教程的核心实验练习的结束。
如果时间允许而且你对Ptolemy仿真有兴趣,可以作以下的附加练习。
附加练习:
1.仿真,产生I和Q的数据及计算功率—如下图所示修改以前的DF原理图,并在TimedSinks中捕获数据。
I和Q位的比特值是不确切的-1和1。
因此在下一个仿真中,在计算平均值时允许你用刻度为1/1.309的值。
同时,所有的星座比特数据在通过中心时,产生四个状态。
Timedsinks〔I_data和Q_data)收集这些数据,仿真时间是一分钟或者更短。
仿真后,sink将把数据保存在数据组中,这个I、Q数据组可在另一个仿真中使用。
从具有VtDataSet源和IQ调制器的Timedsink中仿真IQ数据:
从上一步中,在VTDataset源中用IQ数据组建立仿真。
用已经被timedsink收集的数据,仿真只须一两分钟。
因为调制器增益超过1,所以增益参数被设置为1/1.309,平均值由以前仿真捕获的I和Q位来计算。