sample_rate sampling rate in Hz carrier_offset offset to B1C carrier in Hz (positive or negative)""") parser.disable_interspersed_args() parser.add_option("--prn", default="1-63", help="PRNs to search, e.g. 1,3,7-14,31 (default %default)") parser.add_option("--doppler-search", metavar="MIN,MAX,INCR", default="-7000,7000,20", help="Doppler search grid: min,max,increment (default %default)") parser.add_option("--time", type="int", default=80, help="integration time in milliseconds (default %default)") (options, args) = parser.parse_args() filename = args[0] fs = float(args[1]) coffset = float(args[2]) prns = util.parse_list_ranges(options.prn) doppler_search = util.parse_list_floats(options.doppler_search) ms = options.time # read first portion of file ms_pad = ms + 5 n = int(fs*0.001*ms_pad) fp = open(filename,"rb") x = io.get_samples_complex(fp,n) # resample to 8.192 MHz fsr = 8192000.0/fs nco.mix(x,-coffset/fs,0) h = scipy.signal.firwin(161,4e6/(fs/2),window='hanning') x = scipy.signal.filtfilt(h,[1],x)
"initial time intervals for wide FLL, then narrow FLL, in milliseconds (default %default)" ) parser.add_option( "--carrier-phase", help= "initial carrier phase in cycles (disables FLL: uses PLL from the start)") (options, args) = parser.parse_args() filename = args[0] fs = float(args[1]) coffset = float(args[2]) prn = int(args[3]) doppler = float(args[4]) code_offset = float(args[5]) loop_dwells = util.parse_list_floats(options.loop_dwells) carrier_p = 0.0 if options.carrier_phase is not None: carrier_p = float(options.carrier_phase) loop_dwells = 0, 0 fll_wide_time, fll_narrow_time = loop_dwells fp = open(filename, "rb") n = int(fs * 0.001 * ((b1i.code_length - code_offset) / b1i.code_length)) # align with 1 ms code boundary x = io.get_samples_complex(fp, n) code_offset += n * 1000.0 * b1i.code_length / fs s = tracking_state(