plt.show() if __name__ == '__main__': # logging infrastructure 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')) correlator.set_shift_schedule(0b00000000000) correlator.set_accumulation_len(40000) correlator.add_frequency_bin_calibrations('baseline.json') time.sleep(1) correlator.re_sync() siggen = SCPI(host='localhost') offsets = {} offsets['axis'] = [] for a, b in correlator.cross_combinations: offsets["{a}{b}".format(a=a, b=b)] = [] for f in correlator.frequency_correlations[(0, 1)].frequency_bins: siggen.setFrequency(f) time.sleep(1) correlator.fetch_crosses()
parser.add_argument('--f_start', default=220e6, type=float) parser.add_argument('--f_stop', default=261e6, type=float) parser.add_argument('--array_geometry_file', default=None) parser.add_argument('--impulse', type=bool, default=False) parser.add_argument('--impulse_setpoint', type=int) parser.add_argument('--acc_len', type=int, default=40000) parser.add_argument('--comment', type=str) args = parser.parse_args() 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()
#a, b = baselines[idx] #to_plot = np.angle(np.fft.rfft(time[a]) * np.conj(np.fft.rfft(time[b])))[0:-1] lines[2][idx].set_ydata(to_plot) lines[3][idx].set_ydata(np.angle(cross[idx])) plt.pause(0.05) 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')) correlator.set_shift_schedule(0b00000000000) correlator.set_accumulation_len(40000) correlator.re_sync() correlator.fetch_autos() correlator.fetch_time_domain_snapshot(force=True) correlator.add_cable_length_calibrations('/home/jgowans/workspace/directionFinder_backend/config/cable_length_calibration.json') #correlator.apply_frequency_bin_calibrations('/home/jgowans/workspace/directionFinder_backend/config/frequency_domain_calibration_through_chain.json') correlator.add_frequency_bin_calibrations('/home/jgowans/workspace/directionFinder_backend/config/frequency_domain_calibration_direct_in_phase.json') created = False while True: time = [] correlator.fetch_time_domain_snapshot(force=True) for antenna_idx in range(4): time.append(correlator.time_domain_signals[antenna_idx][0:2048]) correlator.fetch_all() correlator.apply_frequency_domain_calibrations() frequency = [(correlator.frequency_correlations[(0,0)].signal)]
parser.add_argument('--f_start', default=220e6, type=float) parser.add_argument('--f_stop', default=261e6, type=float) parser.add_argument('--array_geometry_file', default=None) parser.add_argument('--impulse', type=bool, default=False) parser.add_argument('--impulse_setpoint', type=int) parser.add_argument('--acc_len', type=int, default=40000) parser.add_argument('--comment', type=str) args = parser.parse_args() 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: