动动手指,关注公众 号并加星标哦
(1)
先说低级错误是啥,一个就是在DDS模板中调用函数的时候,把函数名称拼错了,导致一直不成功;一个就是把Rn当成rn,以为用的是归一化的值,但其实ADS给的输出是没有归一化的。
从昨天早上11点开始,到今天早上10点多,刨去睡觉8小时,各种杂七杂八2小时,大概坐在电脑前面有13个小时,其中7个小时,是因为上面两个错误造成的。
不过,也还好了,虽说要是没有这2个错误,我可能能更快完成;但是也是因为有这2个错误,我把中间设计的公式,视频,又无意间多看了几遍。
(2)
事情是这样子的,因为要画等noise measure圆,但是ADS里面没有现成的控件或者函数。
noise measure的理论套路挺容易理解的,但是公式加加减减的项还是挺多的。
想着用AEL来写一个,就类似designguide里面ns_circle()这种函数一样。
AEL这个东西,我也是前几天,和师兄聊天的时候,偶尔听到了这么个东西。
所以,我对AEL也是一无所知,让我按照它的语法写出个东西来,换做以前,可能对于我来说,会是一个浩大的工程;但是现在有AI,难度等级瞬间降了好几个级别。
(3)
于是乎,我昨天就开始了啊,先在网上找了视频,对AEL扫了一下盲,了解了大概的流程。对视频感兴趣的,可以扫码。
当然,当时的我,还没发现是因为我在DDS页面调用函数的时候,把函数名写错了。我只是想着,视频里的流程也是没有太讲解明白,是不是哪一步操作没设置对?于是就网上一通查,deepseek一通问,然后再按照查询结果一点点去试,发现还是不行。当然中间过程中,发现函数写错了,但是当时在试验各种步骤,没有想到回去重新试一下最初的操作。
等半天过去,发现还是一无所获后,才惊觉,我可以再重新尝试一下最初的步骤。
step1: $HOME/hpeesof/中新建一个expressions/ael,然后把ADS安装文件夹下面的安装位置\Keysight\ADS2022\expressions\ael下面的user_defined_fun.ael拷到前面新建的那个文件夹下面,$HOME文件在哪,可参考这位博主的文章ADS应用技巧(14)——修改home目录
step2: 然后在新建的文件夹下面,创建一个测试文件test.ael,并且在user_defined_fun.ael中添加一句“load("test.ael");”。
step3: 打开ADS主界面,然后执行tools-->command line,执行load("这里面写test.ael的绝对位置"),确保test.ael和user_defined_fun.ael的atf文件都生成。
step4: 重启ADS,然后在DDS中引入。
然后就成功了。
(4)
流程跑通后,就正式开始写等M圆的程序了,确切地说是让AI写。中间也有几个来回,但是总的来说,还是比较顺畅。
就是等在DDS中导入函数的时候,发现结果对不上。人家文献中的圆是大个的,我画出来的就那么一点点。
然后又一顿找原因啊,把程序发给AI,让他把公式总结出来,反向check啊;看文献的文献,看看是不是文献自己搞错了啊(事实证明,这种概率,普遍情况下还是超级小的);问问AI,让他帮忙检查是不是哪里写错了啊。
最后,在无所适从之际,我在DDS中,把噪声相关的参数,都用表格显示出来,赫然发现Rn写的是12ohm,才知道问题所在。
虽然我在s2p文件中,给的是归一化值,但是ADS仿真完后,返回的是未归一化的值,但是写的noise measure程序中,使用的又是归一化的值,所以就~
改完以后,就对上了。