RFI
savgol_filter
your.utils.rfi.savgol_filter(bandpass, channel_bandwidth, frequency_window=15, sigma=6)
Apply savgol filter to the data. See Agarwal el al. 2020 for details.
Args:
bandpass (numpy.ndarray): bandpass of the data
channel_bandwidth (float): channel bandwidth (MHz)
frequency_window (float): frequency window (MHz)
sigma (float): sigma value to apply cutoff on
Returns:
numpy.ndarray: mask for channels
spectral_kurtosis
your.utils.rfi.spectral_kurtosis(data, N=1, d=None)
Compute spectral kurtosis. See Nita et al. (2016) for details.
Args:
data (numpy.ndarray): 2D frequency time data
N (int): Number of accumulations on the FPGA
d (float): shape factor
Returns:
numpy.ndarray: Spectral Kurtosis along frequency axis
sk_filter
your.utils.rfi.sk_filter(data, channel_bandwidth, tsamp, N=None, d=None, sigma=5)
Apply Spectral Kurtosis filter to the data
Args:
data (numpy.ndarray): 2D frequency time data
channel_bandwidth (float): channel bandwidth (MHz)
tsamp (float): sampling time (seconds)
N (int): Number of accumulations on the FPGA
d (float): shape factor
sigma (float): sigma value to apply cutoff on
Returns:
numpy.ndarray: mask for channels
calc_N
your.utils.rfi.calc_N(channel_bandwidth, tsamp)
Calculates number of accumulations on FPGA
Args:
channel_bandwidth (float): channel bandwidth (MHz)
tsamp (float): sampling time (seconds)
Returns:
int: FPGA accumulation length
sk_sg_filter
your.utils.rfi.sk_sg_filter(
data,
your_object=None,
spectral_kurtosis_sigma=6,
savgol_frequency_window=15,
savgol_sigma=5,
foff=None,
tsamp=None,
)
Apply Spectral Kurtosis and Savgol filter to the data
Args:
data (numpy.ndarray): 2D frequency time data
your_object: Your object
spectral_kurtosis_sigma (float): sigma value to apply cutoff on for SK filter
savgol_frequency_window (float): frequency window for savgol filter(MHz)
savgol_sigma (float): sigma value to apply cutoff on for savgol filter
foff (float): Channel bandwidth (MHz). If provided, will be used instead of `your_object`
tsamp (float): Sampling interval (seconds). If provided, will be used instead of `your_object`
Returns:
numpy.ndarray: mask for channels