correlator = Correlator(logger=logger.getChild('correlator')) correlator.set_accumulation_len(args.acc_len) correlator.add_cable_length_calibrations( '/home/jgowans/workspace/directionFinder_backend/config/cable_length_calibration_actual_array.json' ) correlator.add_frequency_bin_calibrations( '/home/jgowans/workspace/directionFinder_backend/config/frequency_domain_calibration_through_chain.json' ) df = DirectionFinder(correlator, array, args.f_start, logger.getChild('df')) if args.impulse == True: df.set_time() # go into time mode # 100 impulse filter len = 0.5 us correlator.set_impulse_filter_len(100) correlator.set_impulse_setpoint(args.impulse_setpoint) correlator.re_sync() time.sleep(0.1) correlator.impulse_arm() while True: if args.impulse == True: if df.fetch_impulse() == True: correlator.save_time_domain_snapshots(df_raw_dir) # not necessary to apply cal as it's done in the correlation routine df.df_impulse(df_raw_dir) else: df.fetch_frequency_crosses() correlator.save_frequency_correlations(df_raw_dir) correlator.apply_frequency_domain_calibrations() df.df_strongest_signal(args.f_start, args.f_stop, df_raw_dir)
import itertools import logging from colorlog import ColoredFormatter if __name__ == '__main__': logger = logging.getLogger('main') handler = logging.StreamHandler() colored_formatter = ColoredFormatter("%(log_color)s%(asctime)s%(levelname)s:%(name)s:%(message)s") handler.setFormatter(colored_formatter) logger.addHandler(handler) logger.setLevel(logging.DEBUG) correlator = Correlator(logger = logger.getChild('correlator')) time.sleep(1) correlator.set_impulse_filter_len(50) correlator.set_impulse_setpoint(3772) correlator.add_time_domain_calibration('/home/jgowans/workspace/directionFinder_backend/config/time_domain_calibration_long_sma_cables_only.json') correlator.add_cable_length_calibrations('/home/jgowans/workspace/directionFinder_backend/config/cable_length_calibration.json') correlator.re_sync() correlator.impulse_arm() fig = plt.figure() axes = [[], []] axes[0].append(fig.add_subplot(2, 4, 1)) axes[0].append(fig.add_subplot(2, 4, 2, sharex=axes[0][0], sharey=axes[0][0])) axes[0].append(fig.add_subplot(2, 4, 3, sharex=axes[0][0], sharey=axes[0][0])) axes[0].append(fig.add_subplot(2, 4, 4, sharex=axes[0][0], sharey=axes[0][0])) axes[0][0].set_ylim([-130, 130]) axes[1].append(fig.add_subplot(2, 1, 2))
import logging from colorlog import ColoredFormatter if __name__ == '__main__': logger = logging.getLogger('main') handler = logging.StreamHandler() colored_formatter = ColoredFormatter( "%(log_color)s%(asctime)s%(levelname)s:%(name)s:%(message)s") handler.setFormatter(colored_formatter) logger.addHandler(handler) logger.setLevel(logging.DEBUG) correlator = Correlator(logger=logger.getChild('correlator')) time.sleep(1) correlator.set_impulse_filter_len(50) correlator.set_impulse_setpoint(3772) correlator.add_time_domain_calibration( '/home/jgowans/workspace/directionFinder_backend/config/time_domain_calibration_long_sma_cables_only.json' ) correlator.add_cable_length_calibrations( '/home/jgowans/workspace/directionFinder_backend/config/cable_length_calibration.json' ) correlator.re_sync() correlator.impulse_arm() fig = plt.figure() axes = [[], []] axes[0].append(fig.add_subplot(2, 4, 1)) axes[0].append( fig.add_subplot(2, 4, 2, sharex=axes[0][0], sharey=axes[0][0]))
handler.setFormatter(colored_formatter) handler.setLevel(logging.DEBUG) root = logging.getLogger() root.addHandler(handler) root.setLevel(logging.INFO) logger = logging.getLogger('main') logger.propagate = False logger.addHandler(handler) logger.setLevel(logging.INFO) correlator = Correlator(logger = logger.getChild('correlator')) time.sleep(1) correlator.set_impulse_filter_len(100) correlator.set_impulse_setpoint(100) correlator.add_time_domain_calibration('/home/jgowans/workspace/directionFinder_backend/bin/time_domain_calibration.json') correlator.re_sync() correlator.impulse_arm() impulse_levels = [] for _ in range(1000): impulse_levels.append( correlator.get_current_impulse_level()) #time.sleep(0.01) logger.info("Mean: {}".format(np.mean(impulse_levels))) logger.info("Std dev: {}".format(np.std(impulse_levels))) logger.info("Max: {}".format(np.max(impulse_levels)))
handler.setFormatter(colored_formatter) handler.setLevel(logging.DEBUG) root = logging.getLogger() root.addHandler(handler) root.setLevel(logging.INFO) logger = logging.getLogger('main') logger.propagate = False logger.addHandler(handler) logger.setLevel(logging.INFO) correlator = Correlator(logger=logger.getChild('correlator')) time.sleep(1) correlator.set_impulse_filter_len(100) correlator.set_impulse_setpoint(100) correlator.add_time_domain_calibration( '/home/jgowans/workspace/directionFinder_backend/bin/time_domain_calibration.json' ) correlator.re_sync() correlator.impulse_arm() impulse_levels = [] for _ in range(1000): impulse_levels.append(correlator.get_current_impulse_level()) #time.sleep(0.01) logger.info("Mean: {}".format(np.mean(impulse_levels))) logger.info("Std dev: {}".format(np.std(impulse_levels))) logger.info("Max: {}".format(np.max(impulse_levels)))
df_raw_dir = '/home/jgowans/Documents/df_raw/{c}/'.format(c = args.comment) if not os.path.exists(df_raw_dir): os.mkdir(df_raw_dir) array = AntennaArray.mk_from_config(args.array_geometry_file) correlator = Correlator(logger = logger.getChild('correlator')) correlator.set_accumulation_len(args.acc_len) correlator.add_cable_length_calibrations('/home/jgowans/workspace/directionFinder_backend/config/cable_length_calibration_actual_array.json') correlator.add_frequency_bin_calibrations('/home/jgowans/workspace/directionFinder_backend/config/frequency_domain_calibration_through_chain.json') df = DirectionFinder(correlator, array, args.f_start, logger.getChild('df')) if args.impulse == True: df.set_time() # go into time mode # 100 impulse filter len = 0.5 us correlator.set_impulse_filter_len(100) correlator.set_impulse_setpoint(args.impulse_setpoint) correlator.re_sync() time.sleep(0.1) correlator.impulse_arm() while True: if args.impulse == True: if df.fetch_impulse() == True: correlator.save_time_domain_snapshots(df_raw_dir) # not necessary to apply cal as it's done in the correlation routine df.df_impulse(df_raw_dir) else: df.fetch_frequency_crosses() correlator.save_frequency_correlations(df_raw_dir) correlator.apply_frequency_domain_calibrations() df.df_strongest_signal(args.f_start, args.f_stop, df_raw_dir)