def set_capture_sequence(awg_sa_cmd, seq_0, seq_1): """ キャプチャシーケンスを AWG にセットする """ capture_0 = awgsa.AwgCapture( time = seq_0.get_wave(step_id = 0).get_duration() + 20, delay = 440, do_accumulation = False) capture_1 = awgsa.AwgCapture( time = seq_1.get_wave(step_id = 0).get_duration() + 20, delay = 440, do_accumulation = False) # キャプチャシーケンスの定義 capture_sequence_0 = (awgsa.CaptureSequence(ADC_FREQ, is_iq_data = False) .add_step(step_id = 0, capture = capture_0)) capture_sequence_1 = (awgsa.CaptureSequence(ADC_FREQ, is_iq_data = False) .add_step(step_id = 0, capture = capture_1)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config = (awgsa.CaptureConfig() .add_capture_sequence(awgsa.AwgId.AWG_0, capture_sequence_0) .add_capture_sequence(awgsa.AwgId.AWG_1, capture_sequence_1)) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, awg_id_to_wave_sequence): """ キャプチャシーケンスを AWG にセットする """ capture_config = awgsa.CaptureConfig() for awg_id, wave_sequence in awg_id_to_wave_sequence.items(): # キャプチャ時間は, キャプチャする波形の長さ + 35 ns とする. # delay が波形ステップの開始から終了までの時間を超えないように注意. capture_0 = awgsa.AwgCapture( time=wave_sequence.get_wave(step_id=0).get_duration() + 35, delay=345, do_accumulation=True) capture_1 = awgsa.AwgCapture( time=wave_sequence.get_wave(step_id=1).get_duration() + 35, delay=345, do_accumulation=True) # キャプチャシーケンスの定義 capture_sequence = (awgsa.CaptureSequence(ADC_FREQ).add_step( step_id=0, capture=capture_0).add_step(step_id=1, capture=capture_1)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config.add_capture_sequence(awg_id, capture_sequence) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, awg_to_wave_sequence): """ キャプチャシーケンスを AWG にセットする """ capture_config = awgsa.CaptureConfig() for awg_id, wave_sequence in awg_to_wave_sequence.items(): capture_0 = awgsa.AwgCapture( time=wave_sequence.get_wave(step_id=0).get_duration(), delay=0, do_accumulation=do_accumulation) capture_1 = awgsa.AwgCapture( time=wave_sequence.get_wave(step_id=1).get_duration(), delay=0, do_accumulation=do_accumulation) # キャプチャシーケンスの定義 tile = awg_sa_cmd.get_adc_tile_id_by_awg_id(awg_id) sampling_rate = tile_to_sampling_rate[tile] capture_sequence = (awgsa.CaptureSequence(sampling_rate).add_step( step_id=0, capture=capture_0).add_step(step_id=1, capture=capture_1)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config.add_capture_sequence(awg_id, capture_sequence) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, seq): """ キャプチャシーケンスを AWG にセットする """ # キャプチャ時間は, キャプチャする波形の長さ + 40 ns とする. # delay が波形ステップの開始から終了までの時間を超えないように注意. capture_0 = awgsa.AwgCapture(time=seq.get_wave(step_id=0).get_duration() + 40, delay=CAPTURE_DELAY, do_accumulation=True) capture_1 = awgsa.AwgCapture(time=seq.get_wave(step_id=1).get_duration() + 40, delay=CAPTURE_DELAY, do_accumulation=True) # キャプチャシーケンスの定義 capture_sequence_0 = (awgsa.CaptureSequence( ADC_FREQ, is_iq_data=False).add_step( step_id=0, capture=capture_0).add_step(step_id=1, capture=capture_1)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config = (awgsa.CaptureConfig().add_capture_sequence( awgsa.AwgId.AWG_0, capture_sequence_0)) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, seq_0, seq_1): """ キャプチャシーケンスを AWG にセットする """ # キャプチャ時間は, キャプチャする波形の長さ + 20 ns とする. # delay が波形ステップの開始から終了までの時間を超えないように注意. capture_0 = awgsa.AwgCapture( time=seq_0.get_wave(step_id=0).get_duration() + 20, delay=CAPTURE_DELAY, do_accumulation=False) capture_1 = awgsa.AwgCapture( time=seq_0.get_wave(step_id=1).get_duration() + 20, delay=CAPTURE_DELAY, do_accumulation=False) # 波形シーケンス 1 全体をキャプチャするため, キャプチャ時間は, # シーケンス 1 全体の長さ - 余分にとった時間 (POST_BLANK) + 20 ns とする. capture_2 = awgsa.AwgCapture(time=seq_1.get_whole_duration() - POST_BLANK + 20, delay=CAPTURE_DELAY, do_accumulation=False) # キャプチャシーケンスの定義 capture_sequence_0 = (awgsa.CaptureSequence( ADC_FREQ, is_iq_data=False).add_step( step_id=0, capture=capture_0).add_step(step_id=1, capture=capture_1)) capture_sequence_1 = (awgsa.CaptureSequence( ADC_FREQ, is_iq_data=False).add_step(step_id=0, capture=capture_2)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config = (awgsa.CaptureConfig().add_capture_sequence( awgsa.AwgId.AWG_0, capture_sequence_0).add_capture_sequence(awgsa.AwgId.AWG_1, capture_sequence_1)) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, awg_id_to_wave_sequence): """ キャプチャシーケンスを AWG にセットする """ capture_0 = awgsa.AwgCapture(time=500, delay=CAPTURE_DELAY, do_accumulation=False) capture_1 = awgsa.AwgCapture( time=awg_id_to_wave_sequence[awg_list[1]].get_whole_duration() - POST_BLANK + 100, delay=CAPTURE_DELAY, do_accumulation=False) # キャプチャシーケンスの定義 capture_sequence_0 = awgsa.CaptureSequence(ADC_FREQ).add_step( step_id=0, capture=capture_0) capture_sequence_1 = awgsa.CaptureSequence(ADC_FREQ).add_step( step_id=0, capture=capture_1) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config = awgsa.CaptureConfig() capture_config.add_capture_sequence(awg_list[0], capture_sequence_0) capture_config.add_capture_sequence(awg_list[1], capture_sequence_1) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, awg_id_to_wave_sequence): """ キャプチャシーケンスをキャプチャモジュールにセットする """ capture_config = awgsa.CaptureConfig() for awg_id, wave_sequence in awg_id_to_wave_sequence.items(): capture_sequence = awgsa.CaptureSequence(ADC_FREQ) for step_id in wave_sequence.get_step_id_list(): # delay が波形ステップの開始から終了までの時間を超えないように注意. capture = awgsa.AwgCapture( time=wave_sequence.get_wave(step_id).get_duration() + 35, delay=CAPTURE_DELAY, do_accumulation=False) # キャプチャシーケンスへのキャプチャステップの追加 capture_sequence.add_step(step_id, capture) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config.add_capture_sequence(awg_id, capture_sequence) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, awg_id_to_wave_sequence): """ キャプチャシーケンスを AWG にセットする """ capture_config = awgsa.CaptureConfig() for awg_id, wave_sequence in awg_id_to_wave_sequence.items(): # delay が波形ステップの開始から終了までの時間を超えないように注意. capture_0 = awgsa.AwgCapture(time=wave_sequence.get_whole_duration() + 1000, delay=CAPTURE_DELAY, do_accumulation=False) # キャプチャシーケンスの定義 capture_sequence = (awgsa.CaptureSequence(ADC_FREQ).add_step( step_id=0, capture=capture_0)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config.add_capture_sequence(awg_id, capture_sequence) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)
def set_capture_sequence(awg_sa_cmd, awg_id_to_wave_sequence): """ キャプチャシーケンスを AWG にセットする """ capture_config = awgsa.CaptureConfig() for awg_id, wave_sequence in awg_id_to_wave_sequence.items(): # DAC から出力する波形の NUM_CYCLES_IN_WINDOW サイクル分の期間をキャプチャ時間とする num_dac_wave_samples = int(DAC_FREQ / wave_sequence.get_wave(0).get_frequency()) capture = awgsa.AwgWindowedCapture(time=1000 * NUM_CYCLES_IN_WINDOW * num_dac_wave_samples / ADC_FREQ, num_windows=NUM_WINDOWS, delay=CAPTURE_DELAY) # キャプチャシーケンスの定義 capture_sequence = (awgsa.CaptureSequence(ADC_FREQ).add_step( step_id=0, capture=capture)) # キャプチャシーケンスとキャプチャモジュールを対応付ける capture_config.add_capture_sequence(awg_id, capture_sequence) # キャプチャモジュールにキャプチャシーケンスを設定する awg_sa_cmd.set_capture_config(capture_config)