# Acquire npd = acquire.new_npy_directory(suffix=suffix) tic = time.time() try: tools.set_and_attempt_external_phase_lock(ri, f_lo=lo_MHz, f_lo_spacing=lo_round_to_MHz) ri.set_dac_attenuator(dac_attenuation) ri.set_tone_bins(bins=np.array([center_integer]), nsamp=2**tone_sample_exponent) ri.fft_bins = np.atleast_2d(np.array([n_filterbank])) ri.select_bank(0) ri.select_fft_bins(np.array([0])) time.sleep(wait) tools.optimize_fft_gain(ri, fraction_of_maximum=fraction_of_maximum) for tone_integer in tone_integers: ri.set_tone_bins(bins=np.array([tone_integer]), nsamp=2**tone_sample_exponent) ri.fft_bins = np.atleast_2d(np.array([n_filterbank])) ri.select_bank(0) ri.select_fft_bins(np.array([0])) time.sleep(wait) npd.write( ri.get_measurement(num_seconds=stream_length_seconds, demod=False, state=hw.state())) npd.write(ri.get_adc_measurement()) finally: npd.close() print("Wrote {}".format(npd.root_path))
suffix = 'r2h11nc' attenuation = 10 f_lo_MHz = 3000 df_lo_MHz = 10 num_tones = 4 f_baseband_MHz = np.linspace(10, 200, num_tones) tone_sample_exponent = 15 length_seconds = 10 # Hardware conditioner = analog.HeterodyneMarkI() hw = hardware.Hardware(conditioner) ri = hardware_tools.r2h11nc_with_mk1(initialize=True, use_config=False) #ri.adc_valon.set_ref_select(0) #ri.lo_valon.set_ref_select(1) ri.set_dac_attenuator(attenuation) ri.set_lo(f_lo_MHz, chan_spacing=df_lo_MHz) ri.set_tone_baseband_freqs(f_baseband_MHz, nsamp=2 ** tone_sample_exponent) # Run npd = acquire.new_npy_directory(suffix=suffix) tic = time.time() try: tools.optimize_fft_gain(ri) npd.write(ri.get_measurement(num_seconds=length_seconds, state=hw.state())) npd.write(ri.get_adc_measurement()) finally: npd.close() print("Wrote {}".format(npd.root_path)) print("Elapsed time {:.0f} minutes.".format((time.time() - tic) / 60))
# Acquire npd = acquire.new_npy_directory(suffix=suffix) tic = time.time() try: tools.set_and_attempt_external_phase_lock(ri, f_lo=lo_MHz, f_lo_spacing=lo_round_to_MHz) ri.set_lo(lomhz=lo_MHz, chan_spacing=lo_round_to_MHz) assert np.all(ri.adc_valon.get_phase_locks()) assert np.all(ri.lo_valon.get_phase_locks()) ri.set_dac_attenuator(dac_attenuation) ri.set_tone_bins(bins=np.array([center_integer]), nsamp=2 ** tone_sample_exponent) ri.fft_bins = np.atleast_2d(np.array([n_filterbank])) ri.select_bank(0) ri.select_fft_bins(np.array([0])) time.sleep(wait) tools.optimize_fft_gain(ri, fraction_of_maximum=0.5) time.sleep(wait) ri.iq_delay, _ = tools.find_best_iq_delay_adc(ri=ri) for tone_integer in tone_integers: ri.set_tone_bins(bins=np.array([tone_integer]), nsamp=2 ** tone_sample_exponent) ri.fft_bins = np.atleast_2d(np.array([n_filterbank])) ri.select_bank(0) ri.select_fft_bins(np.array([0])) time.sleep(wait) npd.write(ri.get_measurement(num_seconds=stream_length_seconds, demod=False, state=hw.state())) npd.write(ri.get_adc_measurement()) finally: npd.close() print("Wrote {}".format(npd.root_path)) print("Elapsed time {:.0f} minutes.".format((time.time() - tic) / 60))
# Acquire npd = acquire.new_npy_directory(suffix=suffix) tic = time.time() try: #tools.set_and_attempt_external_phase_lock(ri, f_lo=lo_MHz, f_lo_resolution=lo_round_to_MHz) ri.set_lo(lomhz=lo_MHz, chan_spacing=lo_round_to_MHz) assert np.all(ri.adc_valon.get_phase_locks()) assert np.all(ri.lo_valon.get_phase_locks()) ri.set_dac_attenuator(dac_attenuation) ri.set_tone_bins(bins=np.array([center_integer]), nsamp=2**tone_sample_exponent) ri.fft_bins = np.atleast_2d(np.array([n_filterbank])) ri.select_bank(0) ri.select_fft_bins(np.array([0])) time.sleep(wait) tools.optimize_fft_gain(ri) time.sleep(wait) ri.iq_delay, _ = tools.find_best_iq_delay_adc(ri=ri) for tone_integer in tone_integers: ri.set_tone_bins(bins=np.array([tone_integer]), nsamp=2**tone_sample_exponent) ri.fft_bins = np.atleast_2d(np.array([n_filterbank])) ri.select_bank(0) ri.select_fft_bins(np.array([0])) time.sleep(wait) npd.write( ri.get_measurement(num_seconds=stream_length_seconds, demod=False, state=hw.state())) npd.write(ri.get_adc_measurement()) finally: