Photonics – Chinese

Photonics – Chinese

请教关于“谐振系统FDTD时域仿真的问题”

    • yihang lai
      Subscriber

      老师,您好:

               在FDTD仿真中,我 对一个谐振系统进行时域仿真,我需要仿真一个自定义的长时间信号作为包络,(如 PRBS 信号101101010... ),信号长度大约是 1000*20ps (甚至比这个更长),每比特的长度为20ps,载频率为1550nm(对应于1550nm信号频率为50GHz的自定义PRBS时域信号)。

      我最终想计算PRBS信号的响应,但我不确定该如何做,所以先用自定义的高斯信号做了尝试:

      我采用了下述两种处理方法进行了尝试:

         (1)根据计算任意信号脉冲响应的官网案例,计算出谐振系统的脉冲响应,根据脉冲响应计算PRBS信号的时域响应;

        (2) 计算一个信号的时域响应(如计算一个PRBS信号1对应的响应),然后对后续的信号进行平移叠加(平移叠加的过程乘以系数1或者0,以对应于完整的101101010...信号),最终获得完整的响应。

      (验证1)利用系统脉冲响应的计算方法

      构造一个简单的谐振系统如下图所示,输入信号为双高斯脉冲信号,分别在A、B两点蛇者点时间监视器和点功率监视器,以记录A点和B点的时域信号输出和时域信号脉冲响应。

      A点的结果为谐振输出,时域仿真结果和脉冲响应计算结果对比如下:

      B点为直接输出,时域仿真结果和脉冲响应计算结果对比如下:

      谐振系统的计算结果不重贺·,非谐振系统的计算结果重合。

      由此可以得出结论,对于谐振系统,任意信号的时域响应不能用脉冲响应的计算方法获得。

       

      (验证2) 利用平移叠加(相干叠加)的方法获得PRBS信号的时域响应

      采用同样的结构,如下图所示,在3端口设置点时间监视器和线时间监视器,(仿真时选用复数场仿真)。

      点时间监视器和线时间监视器记录的场分别如下图所示

      两种自定以输入信号分别如下,一个时脉宽为50fs的高斯信号,中心位置为150fs;另一个为脉宽均为50fs的双高斯信号,双高斯信号的之间时延950fs,中心位置为150fs和1100fs

      单个高斯脉冲的输出响应(下图为实部,虚部未画出)如下:

      为了细致对比输出结果,分别对下列四种结果的平移相干叠加进行对比分析。

      (1)点时间监视器的Ez平移相干叠加分析

      结论:点时间监视器记录的Ez场分量按照“平移950fs后相干叠加”得到的结果与仿真结果重合。

      (2)线时间监视器的Ez平移相干叠加分析

      结论:线时间监视器记录的Ez场分量按照“平移950fs后相干叠加”得到的结果与仿真结果重合。

      (3)线时间监视器的功率分量Px平移叠加分析

      结论:线时间监视器得到的功率分量Px,仿真的时域结果和相干叠加的时域结果不重合

      (4) 线时间监视器的功率P平移叠加分析

      结论:线时间监视器得到的功率P,仿真的时域结果和相干叠加的时域结果不重合

       

      问题:

      请问老师:(1)对于谐振系统,为什么点时间监视器和线时间监视器的结果可以通过相干叠加来获得,而坡印廷矢量Px和功率P的叠加反而不对呢?

                                          (补充一点,上述计算功率P和Px是通过“E叉乘H的共轭”获得的复数结果进行相干叠加最终获得的结果图)

      (2)对于一个谐振系统,我应该如何获得一个长时间信号的时域仿真结果?

                             (背景,长时间信号仿真所需的时间过长,我想通过一定的处理方法来获得长时间信号的仿真结果,例如说PRBS信号,我想采用平移相干叠加的方式)

      (3)在验证1中,我想用脉冲响应的方法,在验证2中,我想把谐振系统当作一个线性时不变系统来处理(因此用了平移相干叠加的方法),那么请问老师,这种谐振的储能系统,是线性时不变系统吗?我可以采用平移相干叠加的方式计算PRBS信号的响应吗?

       

      期待获得老师您的指导!

       

    • Guilin Sun
      Ansys Employee

       

       

      这是个很有趣的问题,也谢谢你做了这么多仿真和测试。

      序列信号的响应,特别是在谐振系统中的响应,我还没有见过响应的分析。这些应该属于理论分析,不是仿真本身的问题,是对仿真结果的理解。不过我对现在的描述和图例说明还没有完全明白。PRBS信号分析原则上应该使用INTERCONNECT来看眼图等。你说的是参考这个网页吗 https://optics.ansys.com/hc/en-us/articles/360034394234-Understanding-frequency-domain-CW-normalization FDTD是振幅相干系统,是线性的。

      A1:一般的系统响应,应该是一个脉冲,不能是多的.如果多于一个,那就需要无限多个才能保证是系统的。所以非谐振系统的时间信号平移后重合。

      由于这个系统有谐振,每一个round trip 总有一部分光被耦合出去,到最后可能仅剩下Q高的波长,所以,你如果分析点监视中的信号序列,可以发现波长分布是不同的。

      我不知道你说的“重合”是什么意思,是时间位置对应的Peak, 还是说幅值?这个是振幅线性系统(相对于输入),振幅绝对值平方并不改变位置,如果输入增加一倍,结果也是一倍,这个容易理解。

      但是功率P不是简单的平方,而是E叉乘H。频域结果只有归化光源功率后才可能是线性的,你看看Px的虚部是否为零

      A2: PRBS信号分析应该使用INTERCONNECT。直接使用FDTD导致信号由于数值色散误差导致叠加,而且可能产生高频成分。换句话说,FDTD是一个低通系统,而你的PRBS是高频率。不仅是波导,你就是在真空中用平面波传输,时间信号也会因为数值色散而变形。你可以测试一下看看,高频信号会严重变形。

      平移50皮秒与Double 50皮秒是什么意思?

       

      建议: 先用平面波、缺省的脉冲测试。这是相差10.6微米两个时间监视器的结果(全实部):

      振幅平方和PX两个位置的信号幅度不一样,这是因为距离长,数值色散影响的结果 (上图是仿真时间8飞秒的结果)。

       

       

      以上纯为我个人知识和见解,仅供参考。

       

       

       

       

       

    • Guilin Sun
      Ansys Employee

       

       

      补充一下,在网格精度为2的情况下,归化后的频域振幅可能因为色散与理论值差别大约为1E-6,如果你逐步提高网格精度,这个误差会逐渐变小。尽管看起来时域差别很大,但是,我个人人为脉冲包络按群速度而载波按相速度传播,导致包络顶点位置随位置而变,因此抽样不总是在载波的最高点上,也导致这个振幅看起来不同。(我做了个简单测试,网格精度2,平面波传输1毫米,透射率与理论值差别在-4量级上)。

      FDTD 的好处是,如果在其它设施都合适的情况下,随着网格精度的提高,误差是逐渐减小的。但是网格精度高,可能要求PML层数多,总的网格点3次方增加,时间4次方增加,仿真时间大大增加,降低仿真效率。比如网格变细一倍,仿真时间至少增加16倍。原来一小时能仿真完的,现在至少要16小时。

      因此,仿真总是在精度和效率之间折衷。

       

       

    • yihang lai
      Subscriber

      老师,您好:

              认真阅读了您的回信和补充知识,我仍然有一些疑问想要向您请教,下面的内容分为两个部分

        (1) 关于数值色散误差,这一部分是对您的回信的一些理解,以期达到一个共同的认识

              老师提出的数值色散的时域仿真,让我受益匪浅。

           我按照老师您的思路,回到最基本的问题,一个时域信号,在真空中传输,也会由于FDTD的数值色散产生时域的差别,正如老师仿真的这个图:

      前后相距10.6um的时间监视器测得的时域信号最大幅值会有一定的误差,而频域的总能量基本一致。

             如果是现实空间中的一个光信号在真空中传播10.6um,因为没有损耗,所以前后两个点测得的时域波形应该是一致的。但在FDTD中,却存在时域振幅不同

             基于老师您的指导,我认为“时域振幅不同”的原因有两方面:

                         (1)在FDTD仿真中,光源信号为脉冲信号,包含了不同的频率。不同频率的传播速度不同,进而导致光源信号传播一定距离后(10.6um),不同频率的最大值没有叠加在一起,进而使时域振幅产生了误差,但是能量的误差很小。也即老师在补充回答中的描述:“脉冲包络按群速度而载波按相速度传播,导致包络顶点位置随位置而变”。

                           (2)FDTD本身是一个数值仿真,由于空间和时间的离散化带来了数值色散的问题。如果时间和空间的步长可以无限小,这一部分的误差就消失了。但是仿真中的网格精度不满足“无限小”条件,所以也会对光源传播一定距离后“时域振幅不同”产生影响。

      我认为这是两个不同的误差。对于第二个误差,在FDTD中,设置输入光源为平面波,波长范围0.8-1.5微米,背景折射率为1,则传播10.6um后的两个“点时间监视器”在mesh accuracy为 2,4,8时的结果如下:时域振幅误差越来越小。

      对于第一个误差,我们把背景折射率该为2,对应输入光源在非真空中传播,其它条件不变,仍然测试mesh accuracy为 2,4,8时的结果,如下:

      观察上图中的最后一张图片,可以发现在高精度网格中,,对于0.5-1.8微米输入平面波,由色散带来的误差还是很小的。

      在后续的仿真中,我也会注意上述两个误差对仿真带来的影响

      以上是我对老师您的回复信息的一些理解,下面是另外一部分问题。

      (2)关于长时间信号的时域仿真,我补充一些描述不细致的地方,以方便老师对“我正在处理的问题”有更清楚的理解,进而方便解决问题

      下面这一部分内容,我是记录同一点的数据结果,且是在同一色散误差和网格精度下仿真得到的,所以我认为不再考虑上述误差分析的影响。

      (1)在做“谐振系统响应分析”的时候,我参考的网页为

      https://optics.ansys.com/hc/en-us/articles/360034394234-Understanding-frequency-domain-CW-normalization(文中提出CW归一化状态下,功率监视器记录的结果是系统的脉冲响应)

      https://optics.ansys.com/hc/en-us/articles/360034915813-Impulse-Analysis-Calculating-the-response-to-an-arbitrary-time-signal-using-the-impulse-response(用脉冲响应计算任意信号通过系统的响应)

      我在做谐振分析的时候,做了两次仿真,第一次输入一定频带范围的脉冲信号,记录系统的脉冲响应;第二次输入自定义的信号,记录该信号通过谐振环后的响应

      在谐振输出端口A点,测得的结果如下,“response FDTD”为点时间监视器测量的结果;“response impulse”为脉冲响应计算得到的结果。发现他们不重合。

      我提到的重合,是指,两种计算得到的输出结果的包络应该是完全一样的,但是显然他们不一样。

      我想请教老师:(1)谐振系统是否可以按照脉冲响应的方式来处理一个任意信号的响应?

      (2)关于老师您提到FDTD是一个振幅线性系统,我是理解的。我重新描述一下,在平移叠加验证部分,我处理问题的过程:

      对于下图所示的一个系统,输入信号的载频为系统的谐振波长。

      第一次仿真,输入信号自定义为上图所示的输入信号,在3端口的点时间监视器记录输出端口的Ez,

      第二次仿真,输入信号自定义为下图所示的输入信号,在3端口的点时间监视器记录输出端口的Ez_d(两个自定义信号的差别在于,同一个高斯脉冲向后平移了950fs)。

      第3步,数据处理,把“Ez的数据"和"Ez时域平移950ps数据"进行时域上的相干叠加,相干叠加的结果和Ez_d进行比较,把两者画在同一个图中,结果如下,发现他们是完全重合的。

      同样,后续的Px,功率P的处理方法也是一样的。

      后续老师提到功率P是电场和磁场叉乘的结果,所以不能相干叠加,这样的解释我赞同。(2)但是,对于一个非谐振系统,其功率P按照相干叠加的处理方式就是对的呢?

      如下图所示,“平移”表示平移叠加的处理方式,”仿真“表示直接仿真的结果。

      关于谐振系统的时域响应,其实点监视器记录的Ez的数据,相干叠加的结果,包络并不总是重合的,

      对于如下图所示的谐振系统,我处理一个更长时间的自定义输入信号:

      在3端口点监视记录的数据就不是重合的,如下图所示:

      就关于点监视器记录的Ez,(3)对于长时间自定义信号的仿真,结果不重合;而对于短时间自定义信号,结果反而重合,这应该怎么解释?我很疑惑

       

      我重新把第二部分文中的三个问题罗列如下:

      (1)谐振系统是否可以按照脉冲响应的方式来处理一个任意信号的响应?

      (2)对于一个非谐振系统,其功率P按照相干叠加的处理方式是对的,为什么和谐振系统不一样?

      (3)就关于点监视器记录的Ez,(3)对于长时间自定义信号的仿真,结果不重合;而对于短时间自定义信号,结果反而重合,这应该怎么解释?我很疑惑

      期待获得老师的指导~

       

       

    • Guilin Sun
      Ansys Employee

       

      A1: 完全同意你的分析,网格精度低时,可以明显看出两个时间监视器的旁瓣信号强度完全不同。好在频域结果差别不大。另外,随着网格精度的提高(有时还需要其它调整,比如PML距离和层数等)

      A2:

      (2)但是,对于一个非谐振系统,其功率P按照相干叠加的处理方式就是对的呢?

      (3)对于长时间自定义信号的仿真,结果不重合;而对于短时间自定义信号,结果反而重合,这应该怎么解释?我很疑惑

      谐振与否,与按相干叠加应该没有直接关系。当有谐振时,很可能前面脉冲的信号还有一点残余被叠加到第二个脉冲里面了。因此,两个信号之间的间距应该长一些。

      你在比较两个脉冲时,“我在做谐振分析的时候,做了两次仿真,第一次输入一定频带范围的脉冲信号,记录系统的脉冲响应;第二次输入自定义的信号,记录该信号通过谐振环后的响应”,光源光谱是否一样?

       

       

      Q(1)谐振系统是否可以按照脉冲响应的方式来处理一个任意信号的响应?

      A: 应该可以,网上例子仿真的是谐振腔。

      Q(2)对于一个非谐振系统,其功率P按照相干叠加的处理方式是对的,为什么和谐振系统不一样?

      A: 我感觉应该一样,之所以不一样可能是响应法算的频率范围不合适。似乎与之前回复有的矛盾,但是里面还有些问题我没有太明白。

      这个问题可能需要单独开贴讨论。

      Q(3)就关于点监视器记录的Ez,(3)对于长时间自定义信号的仿真,结果不重合;而对于短时间自定义信号,结果反而重合,这应该怎么解释?我很疑惑

      长时间信号对应的波长范围很窄,网格有变化了。在比较时,你需要同时固定划分网格和材料拟合的波长范围,使得不同信号的仿真在同样的网格和材料情况下进行。

      有两类问题需要区分:

      1: 长和短时间信号结果比较,必须用同样的网格和和材料;

      2:时间域和脉冲响应方法:所计算的结果必须在脉冲响应的范围之内,也就是用脉冲响应计算的信号输出时,所计算的波长必须保证在脉冲响应波长范围内。

      另外,使用长脉冲很窄谱线与短脉冲很宽谱线情况下,如果频率对应的场强度(振幅)比较低,那么傅里叶变换和频域归化时,会产生一定的误差,虽然可能比较小。在信号处理过程中,如果一个频率的成分占总信号比较小,计算误差会大一些。这就是为什么我们要指定光源波长范围并且让频域监视器仅记录这个波长范围内的频率结果的原因。在指定光源波长范围内,每个频率的强度都比较大。

      以上仅为个人观点,不属于仿真和软件问题的范畴,仅供参考。

       

    • Guilin Sun
      Ansys Employee

      再回答你PRBS信号问题:直接仿真当然太耗时,但是如果要通过脉冲响应计算,这个脉冲需要很窄,使得PRBS信号的频率仅为起频率范围的很小一部分,保证傅里叶变换准确,参见脉冲响应例子。

      就这个例子,A与B都有谐振信号,只不过A点监视器记录的是反射而已,你把A点放圆环后面的,可能受影响更大一些。

      功率问题: 场是线性的,你的仿真测试显示是重合的;功率是线性的吗?为什么功率变大了呢?我估计是因为前面脉冲的残余有贡献。这两个脉冲间隔可能有讲究,你可能还需要再琢磨琢磨。你同时监测H场看看。这个问题需要单独讨论,如何得到的结果需要描述更详细一些。

       

       

       

       

Viewing 5 reply threads
  • You must be logged in to reply to this topic.