Clear Filters
Clear Filters

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

1 view (last 30 days)
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 Comments
jgg
jgg on 28 Feb 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 on 29 Feb 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

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!