def __init__(self, work_queue, out_queue, center, sample_rate, search_depth, search_window, verbose): self._work_queue = work_queue self._cad = cut_and_downmix.CutAndDownmix(center=center, sample_rate=sample_rate, search_depth=search_depth, verbose=verbose) self._dem = demod.Demod(sample_rate=sample_rate, use_correlation=True, verbose=verbose) self._out_queue = out_queue self._search_window=search_window self._verbose = verbose
file_name = "/dev/stdin" basename = "stdin" else: file_name = remainder[0] basename = filename = re.sub('\.[^.]*$', '', file_name) signal = iq.read(file_name) cad = cut_and_downmix.CutAndDownmix(center=center, sample_rate=sample_rate, symbols_per_second=symbols_per_second, preamble_length=preamble_length, search_depth=search_depth, verbose=verbose, search_window=search_window) d = demod.Demod(sample_rate=sample_rate, verbose=verbose) temp_signal, freq, _ = cad.cut_and_downmix(signal=signal, search_offset=search_offset, direction=direction) dataarray, data, access_ok, lead_out_ok, confidence, level, nsymbols, final_offset = d.demod( temp_signal, return_final_offset=True) print "RAW: %s %d %010d A:%s L:%s %3d%% %.3f %3d %s" % ( basename, 0, freq, ("no", "OK")[access_ok], ("no", "OK")[lead_out_ok], confidence, level, (nsymbols - 12), data) signal, freq, _ = cad.cut_and_downmix(signal=signal, search_offset=search_offset, frequency_offset=-final_offset) print "F_off:", -final_offset
else: file_name = remainder[0] basename = filename = re.sub('\.[^.]*$', '', file_name) det = detector.Detector(sample_rate=sample_rate, fft_peak=fft_peak, sample_format=fmt, search_size=search_size, verbose=verbose, signal_width=search_window) cad = cut_and_downmix.CutAndDownmix(center=center, sample_rate=sample_rate, search_depth=search_depth, verbose=verbose) dem = demod.Demod(sample_rate=sample_rate, use_correlation=True, verbose=verbose) def process_one(basename, time_stamp, signal_strength, bin_index, freq, signal): mix_signal, mix_freq = cad.cut_and_downmix(signal=signal, search_offset=freq, search_window=search_window) dataarray, data, access_ok, lead_out_ok, confidence, level, nsymbols = dem.demod( mix_signal) msg = "RAW: %s %09d %010d A:%s L:%s %3d%% %.3f %3d %s" % ( basename, time_stamp, mix_freq, ("no", "OK")[access_ok], ("no", "OK")[lead_out_ok], confidence, level, (nsymbols - 12), data) out_queue.put(msg) if mix_freq < 1626e6 and confidence > 95 and nsymbols > 40 and access_ok == 1:
file_name = remainder[0] basename = filename = re.sub('\.[^.]*$', '', file_name) det = detector.Detector(sample_rate=sample_rate, fft_peak=fft_peak, sample_format=fmt, search_size=search_size, verbose=verbose, signal_width=search_window, burst_size=burst_size) cad = cut_and_downmix.CutAndDownmix(center=center, input_sample_rate=sample_rate, search_depth=search_depth, verbose=verbose, search_window=search_window) dem = demod.Demod(sample_rate=cad.output_sample_rate, verbose=verbose) def process_one(basename, time_stamp, signal_strength, bin_index, freq, signal): try: msg = None try: mix_signal, mix_freq, mix_direction = cad.cut_and_downmix( signal=signal, search_offset=freq, direction=direction) dataarray, data, access_ok, lead_out_ok, confidence, level, nsymbols = dem.demod( signal=mix_signal, direction=mix_direction) msg = "RAW: %s %09d %010d A:%s L:%s %3d%% %.3f %3d %s" % ( basename, time_stamp, mix_freq, ("no", "OK")[access_ok], ("no", "OK")[lead_out_ok], confidence, level, (nsymbols - 12), data) except cut_and_downmix.DownmixError:
decimation = 1 basename=None if len(remainder)==0 or pipe !=None: if pipe==None: pipe="t" basename="i-%.4f-%s1"%(time.time(),pipe) file_name = "/dev/stdin" else: file_name = remainder[0] basename= filename= re.sub('\.[^.]*$','',file_name) det = detector.Detector(sample_rate=sample_rate, fft_peak=fft_peak, sample_format=fmt, search_size=search_size, verbose=verbose, signal_width=search_window, burst_size=burst_size) cad = cut_and_downmix.CutAndDownmix(center=center, input_sample_rate=sample_rate, search_depth=search_depth, verbose=verbose, decimation=decimation) dem = demod.Demod(sample_rate=cad.output_sample_rate, use_correlation=True, verbose=verbose) def process_one(basename, time_stamp, signal_strength, bin_index, freq, signal): mix_signal, mix_freq = cad.cut_and_downmix(signal=signal, search_offset=freq, search_window=search_window) dataarray, data, access_ok, lead_out_ok, confidence, level, nsymbols = dem.demod(mix_signal) msg = "RAW: %s %09d %010d A:%s L:%s %3d%% %.3f %3d %s"%(basename,time_stamp,mix_freq,("no","OK")[access_ok],("no","OK")[lead_out_ok],confidence,level,(nsymbols-12),data) out_queue.put(msg) def wrap_process(time_stamp, signal_strength, bin_index, freq, signal): global queue_len, queue_blocked, in_count, drop_count if offline: if queue_len > max_queue_len: while queue_len > max_queue_len/2: time.sleep(1) else: if queue_len > max_queue_len: