Source: GitHub
Signature¶
def sdynpy.signal_processing.sdynpy_cpsd.cpsd(signals: numpy.ndarray, sample_rate: int, samples_per_frame: int, overlap: float, window: str, averages_to_keep: int = None, only_asds: bool = False, reference_signals=None)Compute cpsd from signals
Parameters¶
signals : np.ndarray 2D numpy array containing the signals, with each row containing a signal and each column containing a sample of each signal
sample_rate : int Sample rate of the signal.
samples_per_frame : int Number of samples per frame in the CPSD
overlap : float Overlap as a fraction of the frame (e.g. 0.5 not 50).
window : str Name of a window function in scipy.signal.windows, or a NumPy ndarray with the window coefficients
averages_to_keep : int, optional Optional number of averages to use. The default is None.
only_asds : bool, optional If True, only compute autospectral densities, otherwise compute the full CPSD matrix
reference_signals : np.ndarray If specified, these signals will be used for the columns of the CPSD matrix. If not specified, the signals passed to the
signalsargument will be used for both the rows and columns of the CPSD matrix. Cannot be used simultaneously with theonly_asdsargument being set to True.
Returns¶
frequency_spacing : float The frequency spacing of the CPSD matrix
response_spectral_matrix : np.ndarray A complex array with dimensions number of frequency lines by number of signals (by number of signals, if only_asds is False)