Way to filter out a portion of a time domain signal when its amplitude drops below a certain value?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
jgg
2016-2-28
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
2016-2-29
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
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!