综述篇
本周是2018年华中科技大学同学来密苏里科技大学EMC LAB进行暑期实习的第五周。来美国的生活已经逐渐趋于稳定,大家都能够完全投入实验室的规程中,每个人的项目都取得了很大的进展,当然,也遇到了新的挑战和新的瓶颈,相信大家能够全力突破。当然,这周周五实验室举办了一年一度的盛会-野外漂流,华科九人中,部分成员遇到了很大的困难,但都通过自己顽强的毅力和不服输的个性,安全的完成了整个漂流,七小时,能者为王。
个人篇
文|王晓纤
本周我的主要工作是制作线圈permeability随frequency的变化图,重建cmc的等效电路和重新测量cmc的数据。在上周四我给范教授展示了simulation和measurement之间的对比曲线后,范教授指出我的测量配置T3在低频曲线不够直,按理说T3的等效电路应该表现地像电容,建议我重新测量。我每次测量校准VNA都会花费比较久的时间,不过再多次重测之后,我校准越来越熟练了,哈哈哈。
上周Nick教我如何在ANSYS Electronic Desktop中建立等效电路,依据我计算的结果的电路,和其中两个测量配置拟合的不是很好,因此我想微调一下电路参数。但是Nick并没有在这个软件中调参数的经验。于是我又请教鹏宇,但是他也没有在这个软件中调参的经验,建议我用ADS。在ADS中,当设置两个线圈的互感K=1时和K=0.99时,仿真出来的曲线差异很大,目前也没搞清楚原因,不知道如何调,下周的工作就是继续建立电路模型。
周一周二我主要在补充不同线圈的特性曲线,是小帕教授之前布置给我的任务。不同厂家不同系列的线圈特性大不相同。我尝试了差值的方法画图,但是效果不理想。最后我还是多采了几个点,使得曲线变的更平滑。
周五的漂流是lab一年一度的集体活动,因为一点插曲我们这滑了七个小时的船,可以说是一生难忘的经历了。我和张中洋,彭哲坤一组。大部分的组在下午三四点就到了,但因为我们没有经验不会划船,六点才到,也没有联系方式,使得老师们学长学姐们还有实习生们都非常担心我们。在这七个小时中,我们自己摸索划船转向的方法,但还是免不了随波逐流,任水摆布船的方向。直到后半程,有热心路人教我们怎么控制方向和加速,我们才快速地划船。
文|彭哲坤
本周是我来到美国之后最丰富的一周了。实验室和日常生活极其丰富,极大提高了我在接下来的两个月的学习动力。直接跟着小帕做板子,还有惊险刺激的漂流活动,无论哪一件都给我留下了深刻的印象。
上一周的数据测量结果非常好,波形的重复说明整个环境的setup还是可以的。同时我在之后进行速度计算的时候发现静电枪的撞击速度太快了,大约有0.49m/s,几乎是测试要求的速度的三倍,难怪板子会这么容易被撞坏。这也暴露出我对这种测量参数的不敏感,要继续锻炼这一方面。但是数据处理之后的统计和波形还是很好的,小帕教授对这个结果比较满意。不过在电流波形图中存在一个凹陷,教授希望我们能够尽快找到这个原因。我重新进行了相应的测量,包括对枪的速度,电压以及同轴线的长度进行测试,最后发现这个凹陷的发生时间和同轴线的长度有关。有关测量的方面就告一段落了。
上周小帕教授直接表达了对我的自动化进度不是很满意,这一周一开始就手把手教我如何在短时间内完成一个板子从设计到完成焊接。背面铺地,正面合理布局,开始前对所有的元件参数预先进行标识等等,并且用了一整个下午的时间为我演示焊板子的技巧。同时还要考虑到负载电流以及安全问题,平时的知识都在这短短几个小时内派上了用场。而且我还学会了如果去控制电机。这一周小帕教授花在我身上的时间应该是最多了,所以我十分感激教授。因为电路原理不是十分扎实,这几天和几个外国的学长们也都有很多的交流,Omid、Giorgi还有Kaustav这几个小哥对我的帮助尤其大。
这一周Jianchi比较忙,要改paper,所以我就暂时和Shenli学姐继续工作,当然有些问题还是要找Pengyu帮忙。Pengyu大概下周就要离开Lab去苹果工作了,可即使如此他这一周还是在Lab忙前忙后的,责任心还是很强的。不过因为即将开学,所以很多新入学的研究生都来了,很多去实习的老生也一同回来了,新面孔仍需要一点时间去熟悉。趁此机会,Lab组织了一次入学前的“漂流考核”,让大家在开学前一起开心交流一下。但这次漂流可让我小小吃了点苦。
漂流最开始还是很顺利的,我们一马当先。但是在遇到第一个急流的时候就直接侧翻了,再翻上来就发现船有个螺丝就掉了,一个小喷泉一直在给我们的船灌水。才划到不到十分之一,之前承诺说“必定会让我们翻船”的小帕教授带着Omid直接朝我们船驶来。Omid不停摇晃着我们的船,最后更是直接上船踩翻。多次落水的我们也对落水有了一定经验。但是之后我们太多次搁浅,以及不会掌控船的方向等原因,导致严重脱离队伍。最后赶上其他队伍的时候,他们已经到达终点近两个小时了。吃了点苦头但是收获良多,虽然脖子大腿都很酸疼,但是值。开心的一周给我接下来的学习生活打了一针兴奋剂,充满动力!
文|张秀珍
罗拉这周天气变化很大,由闷热陡然降温,变为潮湿阴冷,而后又突然转换为晴空万里,刚好适合这周的独木舟漂流之行。
学习方面,周一我与导师见面沟通了进一步的工作计划,接下来的工作是做关于潮流的并行计算的优化以及测试,去理解潮流计算的原理和结果。测试是关于电路中有一条电路出现问题如何等效来测试整个电网中的潮流变化,部分结果如下图。同时我们也与Dr.Bo的其他学生一起见面聚餐了,聊学习和美国生活,十分的开心了。

周五EMC lab组织了一场独木舟漂流,每三个人一艘船,全程有四个小时左右的旅程,而我是与junho和kim两个韩国小哥一起组队,漂流的过程中遇到了绑在树上的弹力绳,可以拉住弹力绳一跃而下跳入水中,我不会游泳但还是骨气勇气尝试了一把,最后蹦入水中,短短的十几秒经历了刺激、放松和享受的全过程。途中常常遇到只有自己一艘船在河中前行,水的波纹波澜起伏,如同迭起的山峦,周围只有大片郁郁葱葱的原始森林,单只的雄鹰在空中盘旋,波纹下的小鱼随着桨滑动的方向向前涌去,十分的惬意。整整四个小时的时间感觉经历了很多不同,有时候会触到河中的石头和巨木,只能艰难的转换方向。回到家时,我的双臂已经累到抬不起来,十分的酸痛,但是想想这一天的经历,觉得十分美好,能够享受自己从没体会过的旅程。期待接下来努力工作的日子。
文|徐扬
本周主要是进行重复性测试,连续三天重复同一实验,以评判实验的重复性及可靠性。测试了法拉第杯保持电荷的可靠性 – 给法拉第杯加直流电源(充电),记录缓冲电路输出电压随时间的变化情况。
对ESD的snapback device(常用于静电防护)进行了ADS仿真,简要了解了其原理。
周五时参加了lab一年一度的集体漂流活动,几人一组划船顺流而下。我与另外两位韩国实习生一组,几乎都没有什么划船经验,刚出发就翻船了~。一路s形路线,磕磕碰碰,路上翻船有8次( ̄□ ̄||)。后期我们配合默契了许多,与其它组的船只一路打打闹闹,历经5小时才到达目的地。Lab的学长们都很nice,外国小哥哥们也很热心,好几次帮我们的船解围。途中水秀山明,可惜没能拍照留恋(动不动就翻船,只恨手机不防水)。
文|李姜帅
1.BSS项目进展
上周完成了对summer circuit的frequency domain BSS,结果显示在噪音容限下,BSS的算法是work的

改进的VNA自动检测分离的MATLAB程序也成功work,对BSS项目进展起了很大的推动作用
导师Victor本周push了新的计划:用probes和antennas来接收混合信号,下面是setup框图

接收用的antennas是log periodic,下图是距离source probes不同距离的分离结果,来模拟不同信号幅度的分离结果,经过多出扫描总结,当接收信号幅度在-75dB左右时,分离会出现很严重的失真,与-80dB的环境噪声相吻合

接下来,需要进一步对antennas和probes的相对位置进行进一步精确地扫描,并且存储每一步BSS数据结果,主要的scanning setup如下:

Smart scan是一台专门用来scanning的机器,步长精确到1mm,为此,我在上次VNA自动分离的MATLAB code基础上,编改了基于smart scan的自动扫描分离检测的BSS MATLAB code,基本的逻辑:get offset position->get movement step length->move->pause->VNA read->self-BSS->save data at this point->continue->limit->move.实际的setup图片如下:


存储好数据,发现一周又过去了,下一周是平均距离的算法改进和半波长步长检测,还要考虑源距问题。
2.其他学习

高倍电镜观察板子的内部transmission line

每天都是新的一天~下周继续加油
文|彭年
这周导师出差回来,又跟我开了一次会议,讲解了project有关内容。学习使用牛顿法进行非线性规划,在Mat power中进行仿真寻找不同cases下的最优解。针对系统中可能随时出现bad data 进行检测。在一篇论文中提到了如何识别网络中的参数错误。老师让我认真学习之后,在Mat power中更改参数设置去实现bad data detection。本方法在不需要增加参数冗余度的情况下能够同时检测bad analog measurements 和 incorrect network parameters,是对WLS方法的改进。Paper中有很多数学的理论,学起来比较吃力,需要不断查询相关资料来理解。在具体的实践中,有许多与电力系统相关的知识,比如潮流计算等。由于bad data detection 与cyber-security 是息息相关的。这在网络安全中发挥着很大的重要性。以上工作是在已知完整的网络拓扑结构去检测坏数据以及维护系统的安全。在不知道网络结构的情况下,我们也需要使用state estimation去估计出整个网络的结构——full state。另外,我也接触到另一个project,有关于静电。测量不同材料下pad摩擦起电后引起的静电量。这个实验操作起来没什么难度,主要是准确度的问题,摩擦的力度,摩擦时间,初始set,避免放电以及环境所带来的各种不确定因数使得实验测得的难以维持在一个平稳的范围之内。
By the way,这周五Lab组织了一次划船活动,学生和老师都会参加。在水上漂流了四个多小时的感觉真是又刺激又兴奋。也算是一次很不错的体验经历吧。

测量摩擦起电装置
文|杨光
这周是实习的第五周,这周情况逐渐恢复稳定,项目进展顺利,这周任务是连接Kinect和MATLAB,完成二者之间的通信,连接Kinect中出现了众多的波折,但最终通过顺藤摸瓜一层层递进的方式找到了最终缺损的package文件,完成了整个Kinect响应的debug。Kinect连接MATLAB过程中对于收发文件流的格式不清晰导致第二天赵老师验收工作时只能用sin函数的任意取值代替去做一个demo展示,马上老师提出了一个想法,由于UDP协议的传输会有一定的丢包现象,但是对已丢包的具体损失率需要用plot函数画出波形看一下,这是我第一次利用学校学过的UDP传输协议的算法设计去做相关的应用问题,让我对工业生产的精确性有了进一步了解。
波形显示丢包并不是非常严重,于是Victor给我布置了接下来的任务是实时进行传输并检测延时情况。与mentor少辉学长讨论后决定用MATLAB传输时间与接收时间做差额方式来得到UDP的延迟情况,现在问题就是要保证两台cp时间上能够精确到毫秒级。随后所有的问题都可以迎刃而解。
在周五是实验室一年一度的公共团建活动,去车程一个半小时的地方独木舟漂流3-5个小时,2-3个人一组,与国内票内不太一样,船体比较扁。让我惊讶的是一个小朋友都可以自己一个人划一个独木舟(jackson)。美国人周末休闲方式真的以家人为单位,在附近的离城市远的地方,安逸的划船野餐晒太阳。年轻人们丝毫不害怕晒黑,都非常健康,老年人也不畏惧,穿着各种各样的泳衣跟爱人在同一条船上喝着啤酒。
文|张中洋
辛苦而刺激的一周。
上周完成了深度学习模型的搭建之后,本周开始了复杂而艰难的测试工作。之所以如此复杂,是因为模型验证只能建立在连续模拟得出的曲线之上。而想要得到足够的验证数据,必须把之前学长所搭建的MATLAB仿真代码和自己基于Python的深度学习代码进行结合。大致的方法有三:
1. 将3500行MATLAB代码直接翻译成Python代码。
– 优点:最直观,适配性最强,GitHub有相关转换脚本
– 缺点:耗时大,暗bug难以调试
2. 将Matlab代码拆分成几个大函数,封装好后用Python运行这些文件
– 优点:大大降低工作量,而且能够保证封装的文件运行得到正确的结果
– 缺点:调用泊松方程部分知识一个小调用,整个Main文件大体还要改,list等的传参也很成问题
3. 将机器学习部分做成Linux服务器端,在Matlab端只调用接口
– 优点:快速,可复用
– 缺点:同样的问题时学习成本较高。有做不出来的可能,耗时较长
起初我尝试了第一种方法,借助GitHub上开源的MATLAB转Python的东风,只用了几个小时便完成了大致的转换,本来信心满满准备着手测试时,却意外的发现尽管大部分语法都得到了正确的转换,但是还是有许许多多细节问题需要一步步调整。整个调试持续了整整三天,当最终可以运行是却再次发现了两个问题:
1. 运行速度相较于MATLAB原生程序慢了太多。MATLAB上只要0.4秒的程序转成了Python竟然需要上千秒。经过仔细的分析,原因主要有两个:一是MATLAB本身就对矩阵运算进行的大量的优化,而Python想要实现相似功能只能借助第三方库函数。二是自动转换脚本为了保证数组下标等的正确性引入了一个新的类matlab array。每个数组都会被初始化为一个实例,而这本身就是很耗时间的。三是其中涉及了很多类型转换,而数组有很大很多,不少数组都有多达数万个元素,拷贝式的转换会消耗掉巨量的时间。
2. 结果不正确。有部分函数和方法MATLAB和Python的解读不同。这种问题大部分是可以被发现的,但是实际上debug的难度随着代码长度和复杂度而急剧上升,尤其是原来的代码本身就较为dirty,而不是结构化的运算时。另外还有部分不仔细分析调试断点根本无法发现的隐藏式的bug,这些都使得这个庞然大物似的代码极难调试。
之后,我试着只手动重写main程序,其他的模块全部封装化,但结果依旧不理想。由于程序不断地在MATLAB和Python解释环境中切换,这必然涉及到大量的传参,而MATLAB和Python之间的传参甚至比普通的类型转换更加耗时,往往一个循环要消耗数百秒。Python中一个MATLAB的函数调用传参转换花的时间和本身花去的时间之比根据参数数量和大小甚至可以达到了1:200以上。这无疑是一个令人震惊的比例。但是如果希望通过不断调用MATLAB函数并将长达400行左右的main函数通过Python执行,大量的传参就是无法避免的。
于是,经过充分的思考后,我果断放弃了之前五天的成果,选择了下一种方法:只在Python中控制主循环以及几个关键而小的变量,把之前的main长长的代码拆成了数个代码块,打包成一个个可供Python调用的函数,并把函数文件间的沟通“大任”从Python主程序转移到了中间mat文件。每个MATLAB脚本执行之前都会Load之前存下的中间变量并在结尾储存当前所有的中间变量。通过这种方法,Python中每个循环的执行速度也由直接传参的数百秒降低到了可以接受的0.5秒。之后便是把自己的机器学习代码写了一个简单而迅速的接口,替换掉了原有的泊松方程求解部分。预计下种可以出来正式的拟合曲线。
说完上面洋溢着满满技术味的本周进展情况,下面就是精彩刺激的“绝地求生”“荒野行动”了。本周五lab组织全员参与了独木舟漂流活动。活动描述很简单:三个人一条小舟,带上充饥的食品,从漂流的起点划到终点。但是到了现场才发现:这个活动和最初我们的印象完全不一样。首先漂流并不是简单的顺水漂下,而是真正用桨把一个铁质的小舟划起来。环境也让人感到十分惊异:和国内经过开发的景点完全不同,河岸两边都是茂密的森林,整个旅程中的大半时间都处在“前无古人后无来者”的状态,紧张刺激的同时又的确充满了危险的气息。其次是水道的状态:急流、险滩、暗礁、巨大树枝、深浅水域、搁浅地带等都给划行造成了巨大的困难。而最关键的三点是:
1. 我们三名来自种子班的同学被分配到了同一条船上,但我们都没有划船的经验
2. 整个水道流域很长,当我们划了4个半小时被告知还有一半的时候真的对绝望有了很好的理解
3. 没人救援。虽然同行的人很多,但是因为几名教授和学长为了增加旅程的乐趣用各种方法翻过路的船,而我们都是新手,为了避免不断被翻船选择了等到所有人走了之后再动身
我们三人在一天中划行了整整7个小时,可谓是相当“勇猛”了。实际上,最快的组4个小时便到达了终点,而我们则因为中途被翻了4次船、等待翻船大佬们先行和由于对划船不熟练造成的转向、撞暗礁和其他各种障碍物、搁浅等原因而延误了很久。不过令人欣慰的是我们在这个过程中在热心老外的指导下成功学会了配合划船,而且由于我们选用了隔水性能很好的保鲜袋,至少保证了一天的食物这两点。
一路上虽然非常辛苦,甚至都多多少少受了些伤,但是泛舟于丛林深处、玩味夏日的蓝天与翠林、感受“蝉噪林逾静,鸟鸣山更幽”的静谧还是让人十分愉快而放松的。在回来的路上,我们还有幸看到了天空中高挂的彩虹,可谓是美妙的一天。

另外真的多谢早早划完全程还不断担心我们几个的诸位学长老师,当划到最后筋疲力尽时候看到专程从岸边跑回来瞭望我们的教授们时,当最终上岸被学长们热情迎接时,真的感觉非常非常的温暖。谢谢大家!
此外,本周我们还有幸看到了英仙座流星雨,尽管是在我们的公寓后的停车场的简单肉眼观测,但是还是感到了无比的梦幻而美好。漫天星海中的那靓丽的一闪而过,恍若樱花般灿烂而短暂,尽管只消一瞬,但却永驻观者心间。“Wish upon the shooting star”。
文|马富为
本周该项目的理论推导工作全部完成,开始了实地测量相关的工作。首先搭建了一个简易的实验装置,只有两根cable,负载端一个短路,一个开路的理想情况,检验测量数据和仿真数据的吻合程度。

最开始实验数据跟仿真数据差值非常大。为了提高实验精读,减少干扰。对实验装置做了一定的改进。在电流钳直径的限制条件下,尽量增加导线之间的宽度,然后在两根导线之间塞上泡沫板,既起到隔绝作用,又起到固定作用,固定导线之间的宽度。
下一周会进一步测量更复杂的情况。