Example #1
0
  def __init__(self, params):
    """
    Initialize L2C tracking channel with L2C specific data.

    Parameters
    ----------
    params : dictionary
    L2C tracking initialization parameters

    """
    # Convert acquisition SNR to C/N0
    cn0_0 = 10 * np.log10(params['acq'].snr)
    cn0_0 += 10 * np.log10(defaults.L2C_CHANNEL_BANDWIDTH_HZ)
    params['cn0_0'] = cn0_0
    params['coherent_ms'] = 20
    params['coherent_iter'] = 1
    params['loop_filter_params'] = defaults.l2c_loop_filter_params
    params['lock_detect_params'] = defaults.l2c_lock_detect_params_20ms
    params['IF'] = params['samples'][gps_constants.L2C]['IF']
    params['prn_code'] = L2CMCodes[params['acq'].prn]
    params['code_freq_init'] = params['acq'].doppler * \
        gps_constants.l2c_chip_rate / gps_constants.l2
    params['chipping_rate'] = gps_constants.l2c_chip_rate

    TrackingChannel.__init__(self, params)

    self.cnav_msg = CNavMsg()
    self.cnav_msg_decoder = CNavMsgDecoder()