I am currently trying to deconvolute 2 vectors (a & b) from 1 (c). Actually, I have access to the recorded data of (a) & (c) but not (b). All are signal vs time with signal totally random. I convert everything in histogram and I'd like to extract only the distribution of (b) for my work. Of course I can not only recorded it. Do you know a reliable approach to "remove" the data from (a) to the data from (c)? So far, I tried to simply subtract the frequency of (a) to (c) but a part of the distribution of (b) is still missing and I don't know how to rebuilt the missing part. If you have any idea, please let me know. Cheers!
To the extent that "a" is in "c" as a simple complex scaling, you can perform a complex correlation to determine the magnitude and phase of this scaling and then complete the subtraction. You would use a sliding correlation specifically (cross-correlation function) to determine both the time lag as well as the magnitude and phase of the relationship.
It is very important that the scaling and phase is accurate and inverted in order to provide full cancellation; I recommend testing your algorithm with a noise free signal to ensure you have compensated/scaled everything properly.
It is likely too that the content of the signal in "c" is at a fractional delay from the content in "a", or the relationship is not a simple single scaling value, (but still linear with multiple delays). In these cases you can use the Wiener-Hopf equations to determine the relationship. Rather than answer again, see my answer at the link below where I did this same thing with a sound file. In your case you would use the approach to determine the "channel" between a and c, and from that channel you can pass a through c, invert and subtract.