exojax.signal package
Submodules
exojax.signal.convolve module
- exojax.signal.convolve.convolve_same(input_signal, kernel)
convolve same
Note
this function is substitute of jnp.convolve, which requires cuDNN
- Parameters:
input_signal (1D array) – original input signal
kernel (1D array) – convolution kernel
- Returns:
convolved signal
- Return type:
1D array
exojax.signal.ola module
- exojax.signal.ola.generate_padding_matrix(padding_value, input_matrix, filter_length)
generate a matrix with (padding_value)-padding (numpy)
- Parameters:
input_matrix (n dimensional array) – input matrix, n >= 2, (ndiv, div_length,…)
fir_filter (array) – FIR filter
- Returns:
input matrix w/ x-pad
- Return type:
n dimensional array
- exojax.signal.ola.generate_zeropad(input_matrix, fir_filter)
Generate zero padding input matrix and FIR filter
- Parameters:
input_matrix (2D array) – input matrix
fir_filter (array) – FIR filter
- Returns:
input matrix w/ zeropad, FIR filter w/ zeropad
- Return type:
2D array, 1D array
- exojax.signal.ola.np_olaconv(input_matrix, fir_filter)
Overlap and Add convolve (numpy version)
- Parameters:
input_matrix (jax.ndarray) – reshaped matrix to (ndiv, div_length) of the input
fir_filter (jax.ndarray) – real FIR filter. The length should be odd.
- Returns:
convolved vector w/ length of (len(input) + len(fir_filter) - 1)
- exojax.signal.ola.ola_lengths(input_matrix, fir_filter)
derive OLA basic length
- Parameters:
input_matrix (2D or nD array) – input matrix (n >=2)
fir_filter (array) – FIR filter
- Returns:
number of mini batches, divided mini batch length of the input, FIR filter length
- Return type:
int, int, int
- exojax.signal.ola.olaconv(input_matrix_zeropad, fir_filter_zeropad, ndiv, div_length, filter_length)
Overlap and Add convolve (jax.numpy version)
- Parameters:
input_matrix_zeropad (jax.ndarray) – reshaped matrix to (ndiv, div_length) of the input w/ zeropad
fir_filter_zeropad (jax.ndarray) – real FIR filter w/ zeropad.
Note
ndiv is the number of the divided input sectors. div_length is the length of the divided input sectors.
- Returns:
convolved vector w/ output length of (len(input vector) + len(fir_filter) - 1)
- exojax.signal.ola.optimal_fft_length(filter_length)
optimal fft length of OLA
Notes
This code was taken and modified from scipy.signal._signaltools._oa_calc_oalens under BSD 3-Clause “New” or “Revised” License
- Parameters:
filter_length (int) – filter length
- Returns:
optimal fft length
- Return type:
int
- exojax.signal.ola.overlap_and_add(ftarr, output_length, div_length)
Compute overlap and add
- Parameters:
ftarr (jax.ndarray) – filtered input matrix
output_length (int) – length of the output of olaconv
div_length (int) – the length of the divided input sectors, equivalent to block_size in scipy
- Returns:
overlapped and added vector