I have two complex-valued datasets, A and B that can be considered as vectors with the same number of elements.
The datasets are multiplied together using complex point-by-point multiplication, such that the first element of A is multiplied by the first element of B, the second element of A is multiplied by the second element of B, and so on. The multiplication is similar to the Matlab dot operator, C = A.*B
.
The resulting dataset is C.
A is a filter kernel in the frequency domain, which models the effects of a medium on a signal B.
B is the reflection of the signal from the medium. I want to treat B as noise.
The point-by-point multiplication of A by B in the frequency domain is equivalent to a convolution in the time domain.
Suppose that I do not know A or B, but using a statistical algorithm I want to remove B from C to get A.
C is a signal that is recorded by experiment, and so A and B are unknown. However, I can assume statistical properties of A and B.
This problem has given me much headache because normally in the literature, B is treated as the desired signal to be extracted, and A is removed as unwanted "noise". I want to do this the opposite way around. This is the reason why I have tried (perhaps unnecessarily) to recast the problem in a different way, and this is also the reason why I have turned to statistical analysis.
I need some guidance on which type of numerical procedure to use, and perhaps a good reference with some example problems. I suspect that some form of linear prediction algorithm used in numerical statistics might be beneficial here.
Here is more detailed information that might be pertinent.
Given only C, but not A and B, I would like to approximate A and B using a statistical method. I am searching for an algorithm or method that is reasonably well-known and documented (i.e. a tutorial, book or paper is available, and the method is known to work well.)
Here is what I know about the datasets. I am certain that these statements can be written in a more precise manner.
- Datasets A and B are uncorrelated.
- A and B are not constant.
- A has smaller variability than B
- Both the real and imaginary parts of A are "smooth" curves, where the rate of change is gradual
- The real and imaginary parts of B are "spiky" curves, and the rate of change is quicker than A
- The histograms of the real and imaginary parts of B are not skewed. Multiplying A by B skews the histograms of C. Can the histograms of C be separated in some way?
- A represents the frequency-domain attenuation kernel of a signal, hence the need for complex variables.
- B represents the signal in the frequency domain. The signal B is modified by A. The signal B is a reflection from a waveform that has been passed through an attenuating medium.
- A models the effects of the medium on the waveform.
- Despite A and B being in the frequency domain, they are nothing more than just datasets of complex numbers.
Alternately, the problem can be reformulated so that A has elements consisting only of real values, and B is complex-valued, with real and imaginary parts.
Thus, the imaginary part of A is zero for all elements in the dataset. The same statements above hold for A and B.
Does this make the problem easier? I wonder if PCA or Fourier-transform methods would be useful for this problem. I am not certain which class of statistical methods would be useful for this type of problem.