Effacer les filtres
Effacer les filtres

How to Reduce Oscillations (not noise) in a Signal?

4 vues (au cours des 30 derniers jours)
Sardius
Sardius le 12 Juin 2024
Commenté : John D'Errico le 18 Juin 2024
How can oscillations be reduced in signals similar to the one shown in Figure 1 to achieve results like those in Figure 2? Please note that it is not a denoising or smoothing problem.

Réponses (1)

John D'Errico
John D'Errico le 12 Juin 2024
Modifié(e) : John D'Errico le 12 Juin 2024
To me, the upper signal looks like the convolution of something like a sinc with the lower signal. And that would mean, IF you knew the convolution kernel, you could recover the lower signal using decomvolution, though deconvolution is a noise amplifying process, an ill-posed problem.
But even if we ignore the issue of deconvolution as an ill-posed problem, you don't have sufficient information to perform deconvolution. It is not unlike saying you know the product of two numbers.
P=a*b
Now, given only the number P, can you recover the value of a? Or b? And of course you cannot do so. Both a and b could be infinitely many possible numbers.
So, sadly, the answer seems to be not really, and certainly not simply. I'm not a signals expert though.
  2 commentaires
Sardius
Sardius le 14 Juin 2024
Dear John, Thank you for your message and comments. You are correct that this can be considered a deconvolution problem. However, we do not know the sequence or the pulse that needs to be deconvolved. The signals in question are the output of a medical imaging ultrasonic scanner, so we only have access to the recorded data. When using these signals to generate the corresponding images, such oscillations cause fake and redundant features. Therefore, we need to either remove them completely or at least shrink and reduce them around each of the five incidents (in this example, you can see five regions of interest).
John D'Errico
John D'Errico le 18 Juin 2024
Yes. But I think you don't apppreciate my response. This is exactly a deconvolution problem, which is itself an ill-posed problem. But you don't know the convolution kernel. And that means there are infinitely many solutions, all equally good, or perhaps I should say equally bad.
Again, look at my simple counter-example. I'll give you a number x=123.45679. I'll tell you it is the product of two numbers, x=a*b. Now I'll ask you to tell me what were a and b? (It is a secret!) If I told you the value of a, then of course you can compute b. But my lips are sealed, and in that case, no meaningful solution exists.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by