"There is in the backend the depthwise_conv2d, which does what you want, but only for 4D data. It misses the depthwise_conv1D, although you could also make your data (batch, 1, timesteps, nfeatures) and use a kernel size (1,5). But you would need to create a custom layer (to enable trainable filters) and use this function inside it."
Create a function to create a cascade of convolutions and 'abs' operations in 1-d. |x\psi1|, ||x\psi1|*\psi2| ....
Successive applications of "Conv" should not sum over channels, you need something equivalent to DepthwiseConv2D (which doesn't have a 1D equivalent).
The cascade will create a graph of convolutions with many "end-points", e.g.
|x\psi1|, |x\psi2|, ... etc.
Be sure to name the end-points with a unique number, and something to identify the order, e.g. 1-1, 2-1, ... , 10-2, ...
to label the endpoint and -x to label the order.
https://stackoverflow.com/questions/50528863/keras-convolution-1d-channel-indepently-samples-timesteps-features-wind-tur.
"There is in the backend the depthwise_conv2d, which does what you want, but only for 4D data. It misses the depthwise_conv1D, although you could also make your data (batch, 1, timesteps, nfeatures) and use a kernel size (1,5). But you would need to create a custom layer (to enable trainable filters) and use this function inside it."
Alternatively, work entirely in the fourier domain: https://datascience.stackexchange.com/questions/42803/how-to-implement-a-fourier-convolution-layer-in-keras