how to remove unwanted signal
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (4)
Youssef Khmou
el 7 de Jun. de 2013
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 comentarios
Image Analyst
el 8 de Jun. de 2013
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 comentarios
rafael gonzalez
el 8 de Jun. de 2013
2 comentarios
Image Analyst
el 8 de Jun. de 2013
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.
Ver también
Categorías
Más información sobre Digital Filter Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!