how to remove unwanted signal
4 次查看(过去 30 天)
显示 更早的评论
I have a signal that is roughly in the shape of a sine wave rectifier. At random intervals there are square wave pulses inserted in the signal. I wish to automatically remove the square wave signal whenever it occurs.
I could clean up the signal by interpolating in between the gap where the square pulse exists. I am struggling to do this automatically could you please give me suggestions on how to detect the pulse edge of the signal so that i can determine the points to interpolate.
0 个评论
回答(4 个)
Youssef Khmou
2013-6-7
hi,
One you know the mathematical formula of the square pulse you subtract it from your signal, or transform you signal into frequency domain and truncate the frequency of the square pulse,
Can you post an example of your data?
0 个评论
Image Analyst
2013-6-8
Do you have the Signal Processing Toolbox? You could use diff() to identify drops greater than a certain amount and then use a Savitzky-Golay filter to smooth the signal by fitting it to a local polynomial. Or you could try to do an fft on the signal and do a really low pass filter on the signal by zeroing out any frequencies greater than the frequency of the sine wave.
0 个评论
rafael gonzalez
2013-6-8
2 个评论
Image Analyst
2013-6-8
max(original_signal) - min(original_signal) + min(original_signal);
does not look right because the last two terms cancel out. You didn't tell us that we were able to synthesize a "perfect" signal - I thought all we had to work with was the original signal.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filter Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!