except ValueError:
            continue
        #fig = plt.figure()
        correlator.time_domain_signals = None
        num_channels = 4
        for channel in range(num_channels):
            filename = "{c}.npy".format(c = channel)
            with open("{d}/{t}/{f}".format(d = directory, t = timestamp, f = filename)) as f:
                signal = np.load(f)
                #subplot_sig = fig.add_subplot(4, 2, (2*channel) + 1)
                #subplot_fft = fig.add_subplot(4, 2, (2*channel) + 2)
                #subplot_sig.plot(signal)
                #fft = np.abs(np.fft.rfft(signal))
                #subplot_fft.plot(np.linspace(0, 400, len(fft)), fft)
                signal = notch_filter(signal, fs, 0, args.f_start)
                signal = notch_filter(signal, fs, args.f_stop, 400e6)
                signal = time_domain_filter(signal, 10, 10)
                if correlator.time_domain_signals == None:
                    correlator.time_domain_signals = np.ndarray((num_channels, len(signal)))
                correlator.time_domain_signals[channel] = signal
                #subplot_sig.plot(signal)
                #fft = np.abs(np.fft.rfft(signal))
                #subplot_fft.plot(np.linspace(0, 400, len(fft)), fft)
            correlator.time_domain_axis = np.linspace(0,
                                            len(correlator.time_domain_signals[0])/fs,
                                            len(correlator.time_domain_signals[0]),
                                            endpoint = False)
        #plt.show()
        df.df_impulse(args.d, t = timestamp)
    exit()
Example #2
0
        num_channels = 4
        for channel in range(num_channels):
            filename = "{c}.npy".format(c=channel)
            with open("{d}/{t}/{f}".format(d=directory,
                                           t=timestamp,
                                           f=filename)) as f:
                signal = np.load(f)
                #subplot_sig = fig.add_subplot(4, 2, (2*channel) + 1)
                #subplot_fft = fig.add_subplot(4, 2, (2*channel) + 2)
                #subplot_sig.plot(signal)
                #fft = np.abs(np.fft.rfft(signal))
                #subplot_fft.plot(np.linspace(0, 400, len(fft)), fft)
                signal = notch_filter(signal, fs, 0, args.f_start)
                signal = notch_filter(signal, fs, args.f_stop, 400e6)
                signal = time_domain_filter(signal, 10, 10)
                if correlator.time_domain_signals == None:
                    correlator.time_domain_signals = np.ndarray(
                        (num_channels, len(signal)))
                correlator.time_domain_signals[channel] = signal
                #subplot_sig.plot(signal)
                #fft = np.abs(np.fft.rfft(signal))
                #subplot_fft.plot(np.linspace(0, 400, len(fft)), fft)
            correlator.time_domain_axis = np.linspace(
                0,
                len(correlator.time_domain_signals[0]) / fs,
                len(correlator.time_domain_signals[0]),
                endpoint=False)
        #plt.show()
        df.df_impulse(args.d, t=timestamp)
    exit()
    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)
        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)