Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language.

如何将polarimage显示的farfield数据导出

    • Tony Zhu
      Subscriber

      老师好。我在Script中通过函数farfield3d和farfieldux以两个余弦向量为坐标显示了远场分布,即我们熟悉的image(ux,uy,data,"ux","uy","Image plot");  

      而把相同的变量导入FDTD另一个图像显示函数我们可以得到球坐标系下的投影(或者直接右键监视器也可以),

      polarimage(ux,uy,data,"ux","uy","Polar Image plot");

      现在我想在matlab中进一步分析处理polarimage中的数据,于是在想办法从软件中把这个数据导出。

      我在官网介绍中看到使用farfieldspherical和reshape进行处理,将远场图数据从ux、uy的函数变成theta、phi的函数?但这个显示看起来好像不太一样,不知道具体应该怎么操作,麻烦老师帮忙指点一下。

      theta = linspace(-90,90,10);
      phi = linspace(0,45,11);
      Theta = meshgridx(theta,phi);
      Phi = meshgridy(theta,phi);
      E2_angle = farfieldspherical(E2,ux,uy,Theta,Phi);
      E2_angle = reshape(E2_angle, [length(theta), length(phi)]);
      image(theta, phi, E2_angle, "theta","phi","E2");
    • Guilin Sun
      Ansys Employee

      你的脚本是将远场球坐标结果换算为直角坐标,当然显示的结果就与球坐标不一样了。

      你已经有远场数据,还要这么导出呢?如果想保存为Matlab格式,可以使用 matlabsave: https://optics.ansys.com/hc/en-us/articles/360034928113-matlabsave-Script-command

       

       

    • Tony Zhu
      Subscriber

      老师可能不太明白我的意思,我结合我的脚本说明一下。

      我通过脚本导出了远场数据:

      filename = currentfilename;
      farfieldMon="T_PlanCavity";
      ux = farfieldux(farfieldMon,1);
      uy = farfielduy(farfieldMon,1);
      E2_FF_1 = farfield3d(farfieldMon,1);
      matlabsave(filename, ux, uy, E2_FF_1);


      ux, uy, E2_FF_1在matlab中用imagesc()作图得到:

      而在FDTD软件中用极坐标显示查看的结果是:

      我理解的是这是一个极坐标二维图像,半径对应phi,角度对应theta。我想在matlab上显示这个极坐标二维图像。

      所以这里我想问孙老师的是,我该如何正确在matlab上显示这个结果:是应该将E2_FF_1从关于ux, uy的函数转换成关于phi和theta的函数呢,还是可以直接在ux, uy, E2_FF_1的图中画同心圆标定phi和theta?

    • Guilin Sun
      Ansys Employee

      Matlab显示的是二维直角坐标结果,你用Lumerical的image也会得到同样的结果,这就是为什么用polarimage - Script command。它不同于前者: image

      你测试一下。

    • Tony Zhu
      Subscriber

      好的孙老师,我好像明白了。我在二维坐标中画出不同偏转角φ和不同半径为sinθ的同心圆,也能表示出polarimage这种效果,对吗?

    • Guilin Sun
      Ansys Employee

      有可能吧。直角坐标和球坐标不一样,前者是矩形,后者是圆形。Matlab应该也有PolarImage之类的命令,你找找。

Viewing 5 reply threads
  • The topic ‘如何将polarimage显示的farfield数据导出’ is closed to new replies.