I have a 1D array of 32 bit floating point numbers representing the current draw of a radio operating over a 40 minute span. The number of elements in the array is 29 million and change. There is a signal of interest inside this array that I would like to be able to identify in future signals. I've copied the part of the array that I am interested in and used a python script to generate a parameterized mask. I would like to use this mask to look for similar signals in my 40 minute array. The issue is the amount of time it takes to "sweep" this mask over all the data to see if all the data points fit under the mask.
Generally, I would like to be able to identify signals of interest in large data sets and extract their indices.
I am using Python, numpy, and SciPy.
Images 1 Small signal and mask 2 Full 40 minute radio current draw
Given a signal waveform of interest, what is the most effective way to detect whether that signal exists inside another signal?
Here is a link to the raw data. It's a zipped csv format. The values are time and current draw in amps. Sampling rate of the data: One sample every 8.192E-05 seconds. Signal of interest begins around 917.65 seconds and lasts less than one second.
https://www.dropbox.com/s/rw5yt5zv5rpraoh/ExportedData.zip?dl=0