LoginSignup
2
0

光信号の伝送シミュレーション

Last updated at Posted at 2024-03-25

光信号を100km伝搬させて受信した時の電力波形を算出するpythonのシミュレーションプログラムです。
今回は光源の波長を1.55[μm]としてシミュレーションを行っています。

    N = 2**10 #データ点数
    trange = 5.714e-10    #全時間幅
    dt = trange/N
    z1 = 100e3 #伝送距離
    B = -21.7*10**(-27) #波長1.55[μm]のとき
    ff = np.zeros(N, dtype=np.complex128)
    
    ###角周波数設定###
    omega1=np.linspace(0.0,np.pi/dt,N/2.0,endpoint=False)
    omega2=np.linspace(-np.pi/dt,0.0,N/2.0,endpoint=False)
    omega=np.hstack((omega1,omega2))

    ####送信-->受信波形####
    ##########分散##########
    ##fft
    ff = np.fft.fft(signal)
    #分散式
    signal_rx = ff * np.exp(-1j*B*(omega**2)*z1/2)

    ##ifft
    gf1 = np.fft.ifft(signal_rx)
    #受信後の分散波形
    signal_bun1 = np.abs(gf1) # 複素振幅波形
    signal_bun1k = np.abs(gf1) * np.abs(gf1) # 電力波形
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0