12-01-2014 03:58 PM
Hello,
I am in the process of developing a bio-impedance measurement system: we are using an external stimulation signal (of known amplitude, frequency and phase) and measure two pressure signals (the impedance is calculated from these). However, the heart acts sort of as a secondary stimulator, which puts an unwanted interference in our signal. The problem is, that the heart's frequency is right in the range of our stimulating signal, so we cannot use a simple high/low-pass filter, plus the heart's frequency and amplitude changes a bit in time. This interference is sometimes tolerable and does not bother the analysis, while sometimes it makes analysis nearly impossible.
Can we get rid of this secondary component from our signals? We have the blood pressure data recorded, which correlates with the heart's activity and I guess this might be some starting point for the filtering. What should I do? (I have no expertise with filtering, unfortunately).
Thanks very much
12-01-2014 04:12 PM
This is a challenging situation. Filters generally will not work.
What I would consider, based on the limited description, is a synchronous detection process. When the detection is synchronized with the stimulation it is possible to reject interference from sources with frequencies quite close to the stimulation frequency. The trade-off is slow response times. In many ways this is simular to a lock-in amplifier.
Without specifics on frequencies, amplitudes, and waveforms I cannot give any estimate of how likely this method might be to succeed.
Lynn
12-01-2014 04:36 PM - edited 12-01-2014 04:41 PM
This does not necessarily have to be an online solution, as we do the analysis afterwards, so postprocessing is acceptable.
I have created a vi with a sample recording included as default data. It is recorded with 128hz sampling for 6s.
P1 is the first pressure transducers data channel, which is mainly affected by the heart, while P2, the other pressure signal is much less affected (it is physically further from the subject). BP data is the blood pressure signal I mentioned, to characterize heart activity. I have added a 6s-long sample of the stimulation signal as well, which is a 4s long signal, however it might be actually starting from another starting point, as it is continuously generated and we start somewhere the recording.
The stimulation signal is a composite of 23 sine waves ranging from 0.5 to 20.75 Hz with given phases (relative prime multiplies of a fundamental frequency of 0.25 Hz), while heart rate is in a frequency similar range.
Thanks
12-01-2014 07:22 PM
Than you for posting the data.
After a quick look, here are my thoughts.
1. I looked at spectra of the signals and correlations between the Stimulation signal and the various measured data. Clearly some correlation between P2 and the stimulus is apparent. The spectrum of P2 is dominated by the spectrum of the stimulus.
2. The last column of the data has a strong 50 Hz component - probably power line interference.
3. The 128 Hz sampling rate is way too low to get good recovery of the stimulus signal. You only have about 6 samples per cycle at the highest frequency of the stimulus. That is not enough for good waveform reproduction and phase sensitive measurements. It will be very marginal for the kind of processing I was considering. If the DAQ hardware will support it, try setting the sampling rate 16 times higher.
4. For the actual processing you will need the stimulus signal to be synchronized with the data collection. If you have an available channel, sample the stimulus along with the other data.
5. If I understand correctly you want to recover stimulus related signals from the P1 and P2 channels and want to suppress the heart rate components, right?
6. In this data set do you have any idea how big the desired signal in the P1 channel is?
7. To what extent is the impedance you want to measure frequency and phase dependent across the stimulus frequency range?
8. Testing on rodents?
Lynn
12-02-2014 02:24 AM - edited 12-02-2014 02:27 AM
Thanks for looking into it.
Here I attach a rough image of our setup: we have the stimulator to create a pressure signal, p2 is right at this stimulator (abount an inch further), while p1 is further from it (about an inch from the subject). The stimulator is attached to the subject via a tube, and the pressure transducers are sampling from the inside of the tube.
1. This I guess explains, why P2 is so similar to the original.
2. I think, the last column is not actual data.
3. We are using an NI-6211, so I guess we can get to higher sampling rates. However, previously we have used 128 or 256 Hz for quite a long time and they were more or less fine, although we did not try automatically removing heart interference. How high should I go? We are now working on 3-4 channels, however we plan to include some more channels, not more than 8 (with differential reading).
4. Ok, I'll loop back the AO to an AI. (Or can I somehow read it back from software? I am using a continuous generation based on NI cont. generation example)
5. That's right, I want to suppress heart-related components.
6. Right now I do not know exactly, however as I have some new subjects, I'll try to get some measurements with no heart as well. (although it will be two separate files: one with heart present and another one without heart)
7. We only need impedance at frequency components of the stimulation signal, and we need the complex impedance (however not as mag/phase, but re/im, but I guess it's marginal)
8. Yes, rats.
Actually, if you think it's better, we can get ECG instead of the blood pressure, however I think that blood pressure might correlate more with our interference.
12-02-2014 07:19 PM
Thank you for the explanantion of the system.
I am working on an idea which might get most of the information you want.
Can you post the VI which generates the stimulation signal or a list of the frequencies and phases?
Lynn
12-03-2014 09:20 AM
I have sent you some details in PM.
Thanks