A faster findsignal method
Show older comments
findsignal implements a method for finding the best similairty between two signals. findsignal is slow.
Is there a faster way to execute findsignal ?
Answers (2)
Walter Roberson
on 17 Oct 2021
0 votes
Maybe. It would not astonish me if parts if it could be rewritten to use an available GPU.
However... the algorithm already invokes two mex functions to improve performance, so you might be hard-pressed to find a more efficient algorithm.
The algorithm involves normalization of signals, and involves calculating dynamic time warping (dtw) https://www.mathworks.com/help/signal/ref/dtw.html to try to find the best match. The dtw is one of the portions done as mex.
You might be able to find a different algorithm, but you would need to ask whether it is doing the same job as findsignal() is doing. For example, some people might be satisfied with xcorr() https://www.mathworks.com/help/matlab/ref/xcorr.html but that does not have the same behaviour of trying to find the best possible place for the signals to fit together including stretching.
Matt Flax
on 17 Oct 2021
Categories
Find more on Pattern Recognition in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!