Source code for sweep_design.prepared_sweeps.dwell_sweep

from typing import Union
import numpy as np

from ..axis import ArrayAxis, get_array_axis_from_array

from ..relation import Relation
from ..sweep import Sweep
from ..uncalculated_sweep import ApriorUncalculatedSweep
from ..utility_functions.ftat_functions import dwell
from ..utility_functions.a_t import tukey_a_t


[docs]def get_dwell_sweep( time: Union[ArrayAxis, np.ndarray], f_start=1.0, f_central=5.0, f_end=100.0, time_tapper=1.0, aprior_data: Relation = None, ) -> Sweep: """Create a dwell sweep using an a priori data. time_tapper in seconds is used to apply tukey function at the end of dwell sweep signal. """ if not isinstance(time, ArrayAxis): time = get_array_axis_from_array(time) ftat_method = dwell(f_start, f_end, f_central) uasw = ApriorUncalculatedSweep(time, aprior_data, ftat_method) tukey_array = tukey_a_t(time.array, time_tapper, "both") tukey_window = Relation(time, tukey_array) return uasw() * tukey_window