Setup: Sensor A measures noise, with most of the signal existing at 0.5 Hz and
3-4 Hz. Sensor B also measures noise, with some signal at 0.5 Hz and most at 3-4 Hz. The goal is to use the signal from Sensor A to cancel out the signal from Sensor B in real time. The 3-4 Hz signal matches almost exactly, so cancellation is not hard. However, the 0.5 Hz signals differ on the two sensors, so I won't bother doing the cancellation. The phase is important because if there is a mismatch, I will get incomplete cancellation.What I want to do is filter out the 0.5 Hz signal from sensor A while minimally distorting or phase shifting the signal at 3-4Hz. It seems like if I use a high order high pass filter, then the phase is messed up in the passband, so that won't work. Another idea was to use a subtractive low pass filter, and then use a phase shifter to make the phase at least a multiple of 180 deg to the original signal. The 0.5 Hz signal has a fairly long coherence time, like 10+ oscillations worth, so I don't think it will be a big deal if I'm off by 1 or 1/2 periods.
I don't understand higher order filters and group delay stuff that well, so I don't know if what I am saying makes sense or is correct.
My questions are: Any other good ways to solve this problem? What type of filter to use? I was going to use Butterworth. Is the best cutoff frequency actually below 0.5 Hz, so that both signals are on the cutoff slope? That seems to give the best attenuation ratio. However, the phase varies rapidly in this region.