Example #1
0
def test_tracking():
  prn = 15
  init_doppler = 1234
  init_code_phase = 0
  file_format = '2bits_x2'
  freq_profile = 'low_rate'
  skip_param = '--skip-ms'
  skip_val = 0
  samples_filename = generate_sample_file(prn, init_doppler,
                                          init_code_phase,
                                          file_format, freq_profile)

  run_peregrine(samples_filename, file_format, freq_profile,
                skip_param, skip_val, False)

  # Comparison not working on Travis at the moment, needs further debugging.
  # Simply make sure tracking runs successfully for now.
  #with open(NEW_TRK_RES, 'rb') as f:
  #  new_trk_results = cPickle.load(f)
  #with open(OLD_TRK_RES, 'rb') as f:
  #  old_trk_results = cPickle.load(f)
  #assert new_trk_results == old_trk_results

  # Clean-up.
  os.remove(samples_filename)
Example #2
0
def run_acq_test(init_doppler, init_code_phase,
                 prns, file_format,
                 freq_profile='low_rate',
                 skip_samples=None, skip_ms=None):

  if skip_samples is not None:
    skip_param = '--skip-samples'
    skip_val = skip_samples
  elif skip_ms is not None:
    skip_param = '--skip-ms'
    skip_val = skip_ms
  else:
    skip_param = '--skip-ms'
    skip_val = 0

  for prn in prns:
    samples_filename = generate_sample_file(prn, init_doppler,
                                   init_code_phase,
                                   file_format, freq_profile)

    run_peregrine(samples_filename, file_format, freq_profile,
                  skip_param, skip_val)

    code_phase = propagate_code_phase(init_code_phase,
                   get_sampling_freq(freq_profile),
                   skip_param, skip_val)

    if skip_val == 0:
      check_acq_results(samples_filename, prn, init_doppler, code_phase)

    # Clean-up.
    os.remove(get_acq_result_file_name(samples_filename))
    os.remove(samples_filename)
Example #3
0
def run_track_test(samples_file,
                   expected_lock_ratio,
                   init_doppler,
                   init_code_phase,
                   prn,
                   file_format,
                   freq_profile,
                   skip_samples=None,
                   skip_ms=None,
                   pipelining=None,
                   short_long_cycles=None):

    bands = fileformat_to_bands(file_format)

    skip_param, skip_val = get_skip_params(skip_samples, skip_ms)

    run_peregrine(samples_file,
                  file_format,
                  freq_profile,
                  skip_param,
                  skip_val,
                  skip_tracking=False,
                  pipelining=pipelining,
                  short_long_cycles=short_long_cycles)

    for band in bands:
        dopp_ratio = 1
        if band == "l2c":
            dopp_ratio = l2 / l1
        run_tracking_loop(prn,
                          band,
                          init_doppler * dopp_ratio,
                          init_code_phase,
                          samples_file,
                          file_format,
                          freq_profile,
                          0,
                          pipelining=pipelining,
                          short_long_cycles=short_long_cycles)

    #code_phase = propagate_code_phase(init_code_phase,
    #get_sampling_freq(freq_profile),
    #skip_param, skip_val)

    check_per_track_results(expected_lock_ratio, samples_file, prn, bands,
                            pipelining, short_long_cycles)

    check_tr_loop_track(expected_lock_ratio, samples_file, prn, bands,
                        pipelining, short_long_cycles)

    # Clean-up.
    os.remove(get_acq_result_file_name(samples_file))
    for band in bands:
        os.remove(get_peregrine_tr_res_file_name(samples_file, prn, band))
        os.remove(get_tr_loop_res_file_name(samples_file, prn, band))
Example #4
0
def run_track_test(samples_file, expected_lock_ratio, init_doppler,
                   init_code_phase, prn, file_format, freq_profile,
                   skip_samples=None, skip_ms=None,
                   pipelining=None, short_long_cycles=None):

  bands = fileformat_to_bands(file_format)

  skip_param, skip_val = get_skip_params(skip_samples, skip_ms)

  run_peregrine(samples_file, file_format, freq_profile,
                skip_param, skip_val, skip_tracking=False,
                pipelining=pipelining, short_long_cycles=short_long_cycles)

  for band in bands:
    dopp_ratio = 1
    if band == "l2c":
      dopp_ratio = l2 / l1
    run_tracking_loop(prn, band, init_doppler * dopp_ratio, init_code_phase,
                      samples_file, file_format, freq_profile, 0,
                      pipelining=pipelining,
                      short_long_cycles=short_long_cycles)

  #code_phase = propagate_code_phase(init_code_phase,
                 #get_sampling_freq(freq_profile),
                 #skip_param, skip_val)

  check_per_track_results(expected_lock_ratio, samples_file, prn, bands,
                          pipelining, short_long_cycles)

  check_tr_loop_track(expected_lock_ratio, samples_file, prn, bands,
                      pipelining, short_long_cycles)

  # Clean-up.
  os.remove(get_acq_result_file_name(samples_file))
  for band in bands:
    os.remove(get_peregrine_tr_res_file_name(samples_file, prn, band))
    os.remove(get_tr_loop_res_file_name(samples_file, prn, band))