Multi-Sensor
Tools for analysing relationships between multiple measurement channels: correlation matrices, coherence matrices, and the cross-spectral density matrix (input to FDD).

dspkit.multisensor.correlation_matrix(data)
Pairwise Pearson correlation matrix for multi-channel data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
(array_like, shape(n_channels, N))
|
Each row is a time series from one sensor. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
R |
(ndarray, shape(n_channels, n_channels))
|
Correlation matrix with values in [-1, 1].
|
Source code in dspkit/multisensor.py
dspkit.multisensor.coherence_matrix(data, fs, window='hann', nperseg=None, noverlap=None, detrend='constant')
Pairwise magnitude-squared coherence matrix.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
(array_like, shape(n_channels, N))
|
Each row is a time series from one sensor. |
required |
fs
|
float
|
Sampling frequency [Hz]. |
required |
window
|
str
|
Window function (default |
'hann'
|
nperseg
|
int or None
|
Welch segment length. Defaults to |
None
|
noverlap
|
int or None
|
Overlap between segments. |
None
|
detrend
|
str or False
|
Per-segment detrending. |
'constant'
|
Returns:
| Name | Type | Description |
|---|---|---|
freqs |
(ndarray, shape(M))
|
Frequency vector [Hz]. |
C |
(ndarray, shape(n_channels, n_channels, M))
|
Coherence matrix. |
Source code in dspkit/multisensor.py
dspkit.multisensor.psd_matrix(data, fs, window='hann', nperseg=None, noverlap=None, detrend='constant')
Cross-spectral density matrix (power spectral density matrix).
Computes the full n_channels × n_channels CSD matrix at each frequency. This is the input required for Frequency Domain Decomposition (FDD).
The matrix is Hermitian at each frequency: G[i,j,f] = conj(G[j,i,f]).
Diagonal entries G[i,i,f] are real-valued (auto-PSD).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
(array_like, shape(n_channels, N))
|
Each row is a time series from one sensor. |
required |
fs
|
float
|
Sampling frequency [Hz]. |
required |
window
|
str
|
Window function (default |
'hann'
|
nperseg
|
int or None
|
Welch segment length. Defaults to |
None
|
noverlap
|
int or None
|
Overlap between segments. |
None
|
detrend
|
str or False
|
Per-segment detrending. |
'constant'
|
Returns:
| Name | Type | Description |
|---|---|---|
freqs |
(ndarray, shape(M))
|
Frequency vector [Hz]. |
G |
(ndarray, shape(n_channels, n_channels, M), complex)
|
Cross-spectral density matrix. |