__init__.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:Physical_Simulation_Environment 作者: Telecominfraproject 项目源码 文件源码
def compute_psi(b2, l_eff_a, f_ch, channel_index, interfering_index, rs):
    """ compute_psi computes the psi coefficient of the analytical formula.

    :param b2: Fiber dispersion coefficient in ps/THz/km. Scalar
    :param l_eff_a: Asymptotic effective length in km. Scalar
    :param f_ch: Baseband channels center frequencies in THz. Array of size 1xNch
    :param channel_index: Index of the channel. Scalar
    :param interfering_index: Index of the interfering signal. Scalar
    :param rs: Channels' Symbol Rates in TBaud. Array of size 1xNch
    :return: psi: the coefficient
    """
    b2 = np.abs(b2)

    if channel_index == interfering_index:  # The signal interfere with itself
        rs_sig = rs[channel_index]
        psi = np.arcsinh(0.5 * np.pi ** 2 * l_eff_a * b2 * rs_sig ** 2)
    else:
        f_sig = f_ch[channel_index]
        rs_sig = rs[channel_index]
        f_int = f_ch[interfering_index]
        rs_int = rs[interfering_index]
        del_f = f_sig - f_int
        psi = np.arcsinh(np.pi ** 2 * l_eff_a * b2 * rs_sig * (del_f + 0.5 * rs_int))
        psi -= np.arcsinh(np.pi ** 2 * l_eff_a * b2 * rs_sig * (del_f - 0.5 * rs_int))

    return psi
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号