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.

  1. Datasets A and B are uncorrelated.
  2. A and B are not constant.
  3. A has smaller variability than B
  4. Both the real and imaginary parts of A are "smooth" curves, where the rate of change is gradual
  5. The real and imaginary parts of B are "spiky" curves, and the rate of change is quicker than A
  6. 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?
  7. A represents the frequency-domain attenuation kernel of a signal, hence the need for complex variables.
  8. 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.
  9. A models the effects of the medium on the waveform.
  10. 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.

  • $\begingroup$ After your last revision of the question, I interpret the context of the question as: Given a filtered signal C, how can I reconstruct the original signal A and the filter B, given some information about A and B? I still think that even after the revision your problem is not constrained enough. Usually in this kind of problem you should have a relatively good idea of what the filter B is (or alternatively A). Note that given any choice of C and A, you can always find a filter B such that C=B*A, meaning that without good constraints it is impossible to reconstruct the signal. $\endgroup$
    – Bitwise
    Oct 11, 2012 at 18:00
  • $\begingroup$ Thanks, Bitwise. What constraints are required (statistical or otherwise) to make this ill-posed problem into one that is tractable? And what is a good algorithm to do the reconstruction? I am finding it a bit challenging to navigate the literature, and I need a suggestion of what procedure I should use, and a good reference on the implementation. $\endgroup$ Oct 11, 2012 at 18:07

2 Answers 2


I think I know what problem you're trying to solve, and the problem is way too underconstrained to approach in this fashion. If you had additional information about A or B then you could use deconvolution in the frequency domain C/(A or B) to recover the other vector. In an ideal case, deconvolution will recover the other vector perfectly, but due to noise in real datasets we have to often regularize the deconvolution operator.

  • $\begingroup$ Yes, I think this is a deconvolution problem, but I only know the parametric equation form of A and perhaps the statistical distribution of B. This might be a blind deconvolution problem, but up to now navigating the literature has been tricky, so I am thinking that there might be a statistical method to do the same in a similar way. If there is a blind deconvolution algorithm, where might I look to be able to implement it? $\endgroup$ Oct 11, 2012 at 23:47
  • $\begingroup$ It looks like blind deconvolution might be worth investigating... But you won't get very good results from it, without severely constraining either A or B. If you know the distribution of B, you could run a Monte Carlo experiment, where you randomly sample possible B vectors from the distribution, and perform deconvolution on them. You could then summarize the distribution of expected A vectors. If you're looking for a single answer for A and B then prepare to be disappointed. $\endgroup$ Oct 12, 2012 at 2:59
  • $\begingroup$ And for good reason. You're asking for a solution to a physical problem where you record a signal without knowing the input or the medium, and you want to invert for both; simultaneously. If you could solve this problem uniquely, you would be famous: this problem (or variants of it) is one of the most important classes of problems in many physical sciences. $\endgroup$ Oct 12, 2012 at 3:04
  • $\begingroup$ Thanks for your insightful comments. I am not looking for a single answer for A or B, I am only looking for a numerical procedure that works well enough to get a good approximation. I might be able to get the distribution of B, and so the Monte Carlo approach seems to be useful. Could you suggest a reference? $\endgroup$ Oct 12, 2012 at 3:20

Well, A.*B is simply element-wise multiplication, meaning that separating C into these two matrices is in like separating each value Cij to Aij*Bij. It seems clear that you can then deconstruct this in infinitely many ways, and it would seem your constraints might not be strong enough. For example, set B=C and A=1 (1 at all coordinates), then A.*B=C and at least your first two conditions are fulfilled.

So the bottom line is that it seems there are just too many ways to deconstruct C.

  • $\begingroup$ Thanks for your response, Bitwise. Given additional constraints (i.e. distribution of the datasets), I would wonder if A and B might be approximated in some way. What if B does not equal C, and A does not equal 1 at all coordinates? Both A and B can be said to have a statistical distribution (but at this time, I do not know the distributions). $\endgroup$ Oct 11, 2012 at 15:14
  • $\begingroup$ @NicholasKinar the example I gave is just one simple deconstruction, but there are many possible deconstructions. Enforcing a certain distribution on A and B might be a strict enough constraint. $\endgroup$
    – Bitwise
    Oct 11, 2012 at 15:21
  • $\begingroup$ Thanks again, Bitwise. How might I set up the numerical algorithm to enforce a certain distribution? I am not seeking perfection here (that is the domain of exact mathematics); I am only looking for a method to "approximately" separate A and B using some sort of statistical information or method. $\endgroup$ Oct 11, 2012 at 15:33
  • $\begingroup$ Nicholas, you have a lot of freedom to impose severe constraints on $A$ and $B$. For instance, in some cases one solution is that $A$ is constant! That guarantees lack of correlation, smoothness, and low variability. This suggests you focus on your fifth criterion (skewnesses). Perhaps you might try to achieve low skewness while minimizing some measure of the roughness of $A$. But we cannot propose these changes: they have to reflect the phenomena measured by $A$ and $B$, about which you have left us ignorant. $\endgroup$
    – whuber
    Oct 11, 2012 at 16:06
  • 1
    $\begingroup$ The measure of roughness depends on the meaning of $A$ and $B$ and on what you are trying to achieve. If, say, $A$ is a "signal" and $B$ is "noise", then you need to characterize the noise as well as the signal. It's starting to sound like you may have a well-known problem in smoothing signals that has become (unnecessarily) more complicated through some preliminary analysis. Perhaps it would be best to state the problem you are actually trying to solve rather than this abstract formulation based on mathematical transformations of your data. $\endgroup$
    – whuber
    Oct 11, 2012 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.