When using a sequential neural network to classify signals with their frequency spectrum, we would need to normalize the length of the signals to perform vectorization. The only method I'm aware at this point is zero padding. Does zero padding have any disadvantages? If so, are there any alternative methods to that?
2 Answers
The other method would be to capture more data in time out to the length desired. This approach would improve the actual frequency resolution achieved, where here frequency resolution means the ability to distinguish in frequency the existence of two closely spaced tones. Zero padding decreasing the bin spacing, meaning how many Hz each bin represents but does NOT increase the resolution: two closely spaced tones would still appear as one tone (spread over multiple bins) if the frequency resolution was not sufficient and the length was only increased by zero-padding.
In general, without further windowing, the frequency resolution in Hz is related to the time duration of the signal according to:
$$f_{BW} \approx 1/T$$
Where $f_{BW}$ is the equivalent noise bandwidth in Hz (which is the same power that would result from a brickwall filter of that bandwidth if white noise was at the input) and $T$ is the duration of the data in seconds.
This relationship applies universally to continuous and discrete systems given the relationship between a rectangular window and its Fourier Transform in both the CTFT and DFT (A Sinc for the CTFT and essentially an aliased Sinc function in the DFT, approaching the Sinc as the number of samples increases).
I don’t know much about sequential neural networks, but depending on the features that you are looking for, could it make sense to resample the waveforms to a common length?