Way to filter out a portion of a time domain signal when its amplitude drops below a certain value?

1 vue (au cours des 30 derniers jours)
Is there any way to filter a time domain signal such that portions of the signal, where the amplitude drops below a certain level, are ignored?
In the attached image, the real parts of two complex signals are plotted against time. I essentially need to ignore the portions of the signal where the amplitude of the peaks are less than 1E-7 and the troughs are greater than -1E-7 since they are causing phase jumps when I subsequently unwrap the complex signal.
Many Thanks.
  2 commentaires
jgg
jgg le 28 Fév 2016
If your signal is s couldn't you just do:
incl_idx = (abs(s) < 1e-7);
s = s(incl_idx);
Then you get a new, truncated signal. For instance:
s = rand(1000,1);
inclu_idx = (s < 0.5);
s = s(inclu_idx );
John BG
John BG le 29 Fév 2016
do you really mean 'clipping' what you really want to do to this signal?
holding x>1e-7 right on 1e-7 as long as signal above 1e-7 and anything below -1e-7 remains -1e-7 while signal below threshold?
If you really remove the samples out of [-1e-7 1e7] you will shrink the signal.
if so, clipping so low may cause more phase jumps than without clipping.
Why don't you hang the data in a file so readers can use the sample directly?
John

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by