Recovering one irregular signal in the presence of another stronger one--_in utero_ pulse ox

(I posted this in comp.dsp a couple of weeks ago, but most of the actual DSP people seem to have disappeared, so the discussion petered out fairly fast. Trying again here.)

Hi, all,

Hoping there are still some DSP folks round here despite the evil Google ban. (But I repeat myself.)

I'm working on a completely noninvasive sensor for fetal blood oxygen, using optical sensing through the mom's abdomen. It's a very low SNR measurement on account of all the attenuation.

The mom's heartbeat modulates her pulse-ox signal, which is much stronger than the fetus's on account of the scattering and absorption in maternal tissue.

The data are several time series. The main issue is the variability of both pulses, which smear out the spectra and therefore knock the peak heights way down towards the noise. There are weak multiplicative effects between maternal and fetal signals, as you'd expect.

What I'm looking to do is something like:

  1. Use a digital PLL to find the time-dependent maternal pulse rate.

  1. Resample the data accordingly, and notch out the first 5 or so mom harmonics.

  2. Do the PLL thing on the fetal pulse, and signal average to pull out the average fetal pulse ox signal.

Extra credit: sometimes the baby's pulse can cross the first or second harmonic of the mom's, and it would be good to preserve both pulse shapes accurately.

Resampling a noisy signal isn't necessarily the most well-conditioned operation, so I'd welcome suggestions for just how to do this.

Thanks

Phil Hobbs

Reply to
Phil Hobbs
Loading thread data ...

Not a guru at this stuff, but two points come to mind:

1) Is it really necessary to constrain the problem to optical detection? Given the opportunity, I'd try to use acoustical cues as well. If both the fetal and maternal heartbeats are detectable with a microphone, perhaps one that's integrated in the sensor right next to the optical hardware, that might be a good source of data for cross correlation. 2) I wouldn't worry about occasional harmonic coincidence between the fetal and maternal pulses, except to the extent needed to reject those pulses. Why ask for trouble? You don't need every pulse, do you? The maternal pulse is a strong signal, so I'd use it to time-gate the fetal pulse detection process.

-- john, KE5FX

Reply to
John Miles, KE5FX

That's how it's done today, an ultrasound technique called cardiocotography. It's very sensitive, but not very selective--fetal heart rate responds to a very wide range of effects unrelated to respiratory distress.

The result is a lot of unnecessary C-sections, with serious health consequences to both mums and babies.

We really need to measure differential optical absorption in the child's blood to get its O2 sat level.

It's a serious problem for signal detection. The pulse rates are only

1-2 Hz, so you don't get that many pulses in a measurement of a few minutes.

Thanks

Phil Hobbs

Reply to
Phil Hobbs

søndag den 6. juni 2021 kl. 20.45.47 UTC+2 skrev Phil Hobbs:

can't you get the maternal pulse rate from a regular pulse rate monitor?

Reply to
Lasse Langwadt Christensen

So there's unlikely to be a way to cross-correlate results from both? Never mind ultrasound, if you hold an ordinary microphone to the mother's abdomen, maybe with some conduction gel, wouldn't you get both sounds? Obviously they'll be at or near the noise floor but there might be enough of a signal to enhance the SNR in the photodetection process you're running at the same time.

Exactly, which is why multispectral sensing comes to mind.

-- john, KE5FX

Reply to
John Miles, KE5FX

Sure. We get it for free anyway.

The measurement scheme is to use two or three LED wavelengths, and interrogate the optical intensity field inside the child's head using a few photodetectors spaced out along a line.

In a lossless but highly scattering medium, the optical intensity obeys Laplace's equation, so the typical penetration depth you interrogate is of the order of the separation of the source and detector.

The detectors closest to the LEDs thus get almost pure maternal signal. One can do adaptive noise cancellation (ANC) tricks by taking the combined fetal/maternal signal from the more distant detectors and subtracting off an adjustable amount of the maternal signal until the cross-correlation is minimized. Folks have been doing that for probably

20 years, but no commercial instrument has resulted.

So what I want to do is to concentrate all of the fetal pulse ox signal into a single frequency bin so as to maximize the SNR. That's what all the resampling is about.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

The acoustic signal doesn't carry the O2 saturation information that we care about. The acoustic properties don't change measurably with O2 saturation.

Not sure what you mean there.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

How long do you plan to sample for? And do you expect either pulse rate to change much during that time?

I'm thinking about saving a lot of samples and doing a sort of adpative tracking correlation on the saved data, essentially locking to a changing non-sine signal. If you do the dominant mom signal first, you could subtract it from the baby signal.

Several whacko time-domain algorithms come to mind. Not FFT based, since the frequencies may drift, but there might be a freq domain equivalent.

If you were here, we could try my new Amazon whiteboard markers.

Imagine a polynomial that essentially time modulates the saved samples. Now do a polynomial curve fit to maximize the signal autocorrelation. Use that to subtract the time drift, and then subtract out the mom waveform. Then do the babywave.

Or something even worse.

One of our scopes can do a software PLL on stored samples to recover the clock and payload of serial data.

Reply to
jlarkin

Suppose you poke a needle into mom's belly, with some sort of fiberoptical things. Stop just short of the baby's hide.

Reply to
jlarkin

Anywhere from 10 minutes to some hours, depending if it's an office visit or childbirth. The rates go all over the place--2:1 is not unknown.

Yup, that's the plan. My current tentative scheme is to use a DPLL to measure the instantaneous frequency and resample to make it appear harmonic. Not entirely sure about the variation of pulse shape with pulse rate--it might be invariant, proportional, or some tertium quid.

That would be fun. Maybe later this summer.

OK, sort of an implicit version of the DPLL/resampling thing.

Use that to subtract the time drift, and then

To get good enough rejection for cases where the fundamental or first few harmonics collide, we might do something like bootstrap statistics, where you use random selection with replacement to generate many synthetic distributions from your single observed one. Picking times when the phase relations are favourable might make it easier.

I'd sort of like to generate ensemble-averaged pulse waveforms and use them to strobe the input data. That ought to be be good for 5-10 dB of SNR in tough situations.

In the words of Arlo Guthrie, "I'm not proud. Or tired." (Just wait for it to come around again on the gee-tar.)

For a 2-Hz signal, a Cortex M33 ought to be able to do amazing things. The question is, what things exactly?

Cheers

Phil Hobbs

Reply to
Phil Hobbs

During childbirth, that's done already--you can get a good measurement as long as the cervix is dilated by 2 cm or so.

Amniocentesis does the same sort of thing, but results in a ~1% fatality rate for the baby IIRC, so you wouldn't want to do that routinely.

(BITD Mo and I decided against amniocentesis, as we weren't going to abort regardless.)

Cheers

Phil Hobbs

Reply to
Phil Hobbs

This is a paper about inferring behavioral patterns from noisy data from e.g. radio trackers attached to sea creatures, but might be relevant to the current problem (sorry, couldn't find non-paywalled version):

formatting link
Reply to
bitrex

Sounds like the application there is they're trying to figure out which "small signal" movements of the seal imply it's resting or mating or feeding but the position sensor also records the seal being shoved around by the tides and currents which is a larger, but irrelevant signal

Reply to
bitrex

As I recall, there are math models (more complicated than a single polynomial) of the pulse EKG waveforms.

It ought to be possible to have a pair of windowed batch processors that lock onto the two EKGs independently. Probably one would start with the mother's EGG, and then subtract that and look in the residue for the baby's EKG.

Given that one is looking for full waveforms, one will be able to fit with many samples per heartbeat cycle, sidestepping the 1 to 2 Hz issue.

Joe Gwinn

Reply to
Joe Gwinn

The quick/dirty way would be to consider only the two fundamentals, run two PLLs with quadrature (sine and cosine) outputs. Then do the multiply-accumulate of two components of mother signal and two components of fetal signal, and hope they don't synchronize too often. Getting more harmonics than one, while useful, is a less quick way to get the project wrapped up.

Two harmonics? Six? No obvious right number, to my knowledge.

Reply to
whit3rd

Interesting article on racial bias in regular pulse oximeters:

formatting link

Reply to
Jasen Betts

they make it sound like they were intentionally designed to not work as well on dark skin. I guess that gets more clicks

Reply to
Lasse Langwadt Christensen

Hmm, so stuff really was better in the old days. But it sounds like it's a skin-tone bias, not a "racial" bias per se.

There is or used to be some exhibit at the Museum of Science in Boston that incidentally returned your "race" according to your Fitzpatrick skin type determined by a similar kind of measurement. During the summer when I've got a farmer's tan it repeatedly returned "Middle Eastern" despite that I'm not the slightest bit Middle Eastern.

and all AI-based systems to determine a person's "race" from physical characteristics will make the same kind of gross errors from time to time, guaranteed, because the concept is bunkum, the "artificial intelligence" is only a mechanical Turk for returning the biases of their designers. Unfortunately like polygraphs it is something the government spends money on, anyway...

Reply to
bitrex

Mom's rate vs time should be obvious. Use that as the first whack at the polynomial (or whatever function) rubber-bands the sample timing. Then fine tune.

I'd imagine that unexpected events could make mom's pulse rate jump around.

I remember a certain lady screaming at the nurse GIVE ME DRUGS YOU BITCH.

The nurse said she was used to that sort of thing.

Reply to
jlarkin

Depends on how you interpret the phrase "built in", I don't think that automatically implies it was done intentionally, the text certainly doesn't as far as I can tell.

It's a colloquial usage like "built to fail" if it were an article about that early airliner with square windows, obviously its designers didn't intend that.

Reply to
bitrex

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.