• Recovering one irregular signal in the presence of another stronger

    From Eric Jacobsen@21:1/5 to pcdhSpamMeSenseless@electrooptical. on Tue May 18 22:50:46 2021
    On Tue, 18 May 2021 18:31:28 -0400, Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote:

    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.

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

    3. 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

    Would an Adaptive Noise Cancelling or Adaptive Noise Reduction
    technique work? I'd guess that the mom's heartbeat could be isolated reasonably well as the "noise" source with potentially a separate
    sensor placed to minimize the fetal heartbeat, and use that as the
    noise to be cancelled by the ANC/ANR?

    Just a thought. Since the mom's heartbeat has higher SNR it seems
    like it could be subtracted, and an ANR/ANC would be a pretty
    well-established way to do that. If the mom's heartbeat needs more
    SNR, or the fetal heartbeat rejected more for the noise reference
    signal, a separate sensor or sensors might help with that.

    Sounds like an interesting problem, regardless.

    Eric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil Hobbs@21:1/5 to Eric Jacobsen on Tue May 18 19:16:34 2021
    Eric Jacobsen wrote:
    On Tue, 18 May 2021 18:31:28 -0400, Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote:

    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.

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

    3. 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

    Would an Adaptive Noise Cancelling or Adaptive Noise Reduction
    technique work? I'd guess that the mom's heartbeat could be isolated reasonably well as the "noise" source with potentially a separate
    sensor placed to minimize the fetal heartbeat, and use that as the
    noise to be cancelled by the ANC/ANR?

    Just a thought. Since the mom's heartbeat has higher SNR it seems
    like it could be subtracted, and an ANR/ANC would be a pretty well-established way to do that. If the mom's heartbeat needs more
    SNR, or the fetal heartbeat rejected more for the noise reference
    signal, a separate sensor or sensors might help with that.

    Sounds like an interesting problem, regardless.

    Thanks. The ANC thing has been tried, and helps a fair amount, but so
    far not enough on account of the low SNR of both parts of the signal.

    Folks have been trying to do this for over 20 years--their papers always declare victory, but there are no commercial products despite a widely-recognized need. (This is my first whack at it.)

    The instantaneous SNRs of both signals are frequently way, way down in
    the mud, like 2 dB for the baby and 15 dB for the mum. Thus the
    uncertainty in the maternal pulse signal can make a mess of the remainder.

    The pulse waveforms themselves are slowly varying, but the pulse rates
    can change +-20% within 10 beats or so. Thus my hope is to do the DPLL
    thing to get the phase vs. time for the mom's pulse, do some signal
    averaging on the resampled signal to recover a decent estimate of the
    'true' maternal signal.

    Thanks again

    Phil Hobbs

    --
    Dr Philip C D Hobbs
    Principal Consultant
    ElectroOptical Innovations LLC / Hobbs ElectroOptics
    Optics, Electro-optics, Photonics, Analog Electronics
    Briarcliff Manor NY 10510

    http://electrooptical.net
    http://hobbs-eo.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christian Gollwitzer@21:1/5 to All on Wed May 19 07:37:55 2021
    Am 19.05.21 um 00:31 schrieb Phil Hobbs:
    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.

    How about using a second channel to detect the mother's heartbeat? For
    example an ECG channel? It's not perfectly synchronized, though, the
    delay between ECG and pulse oxymetry is influenced by the blood
    pressure. So it only works if the blood pressure is constant.

    Christian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil Hobbs@21:1/5 to Christian Gollwitzer on Wed May 19 11:31:16 2021
    Christian Gollwitzer wrote:
    Am 19.05.21 um 00:31 schrieb Phil Hobbs:
    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.

    How about using a second channel to detect the mother's heartbeat? For example an ECG channel? It's not perfectly synchronized, though, the
    delay between ECG and pulse oxymetry is influenced by the blood
    pressure. So it only works if the blood pressure is constant.

        Christian



    Thanks. We can isolate the mom's pulse-ox signal, and as Eric
    suggested, it's possible to use that for adaptive noise cancellation
    except that (as far as we gather from the literature) it doesn't work
    well enough for a technological measurement. We can get the mom's pulse
    rate vs. time from that, which will be a big help.

    We really need to resample at the child's pulse rate in order to
    concentrate its signal into as narrow a bandwidth as possible to improve
    the SNR.

    Folks have been trying this sort of thing since the late '90s without
    producing a commercial instrument. Despite the optimistic tone of all scientific papers, this leads me to suppose that although an expert can
    make it work once or twice, getting it to work many times in non-expert
    hands is hard.

    There's also a lot of physiological variability, including thickness of
    skin and subcutaneous fat, presentation (normal, breech, reverse, etc.)

    When you're working with 150-dB path loss, a 2% change will lose you
    half your signal. :(

    Cheers

    Phil Hobbs

    --
    Dr Philip C D Hobbs
    Principal Consultant
    ElectroOptical Innovations LLC / Hobbs ElectroOptics
    Optics, Electro-optics, Photonics, Analog Electronics
    Briarcliff Manor NY 10510

    http://electrooptical.net
    http://hobbs-eo.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Les Cargill@21:1/5 to Phil Hobbs on Sun May 30 21:14:04 2021
    Phil Hobbs wrote:
    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.

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

    3. 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


    I'd be tempted to take a cuff-style/smartwatch heartrate reading from Ma
    and use that as the top of a search tree for the other frequencies. "Top
    of a search tree" isn't really all that much help but it's a start.

    The thing I'd wonder is whether the fetal ox cycle isn't a harmonic of
    Ma's respiratory cycle. Actually, if it's not that's kind of an even
    more interesting question.

    There are weak multiplicative
    effects between maternal and fetal signals, as you'd expect.

    This makes me think of an old Stroboconn/Peterson tuner. Obviously,
    those are solving a much simpler problem. I'd be tempted to play
    with the aliasing/sidebands.

    The peterson/Stroboconn had a base model of the frequency under
    measurement and provided a visual , intentionally aliased display
    of the difference. It literally wagonwheeled.

    This probably isn't much help, but it's clearly a profound problem.
    Seems like a thing more for metaphor than for mechanism. Find the story
    and the mechanism reveals itself. I'd almost bet that there's a model in
    the brain of every neonatalist.

    --
    Les Cargill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil Hobbs@21:1/5 to Les Cargill on Wed Jun 2 12:39:02 2021
    Les Cargill wrote:
    Phil Hobbs wrote:
    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.

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

    3. 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


    I'd be tempted to take a cuff-style/smartwatch heartrate reading from Ma
    and use that as the top of a search tree for the other frequencies. "Top
    of a search tree" isn't really all that much help but it's a start.

    We get the mum's pulse more or less for free, right on her abdomen.
    That has the added advantage that it has the right phase and pulse
    shape, so that we can strobe the signal to increase the SNR. (You win
    by multiplying the signal by a cleaned-up version of itself.)

    The thing I'd wonder is whether the fetal ox cycle isn't a harmonic of
    Ma's respiratory cycle. Actually, if it's not that's kind of an even
    more interesting question.

    Nope, they both vary independently, with the child's running about 1.5x
    and 2d the mum's unless the child is in respiratory distress, when they
    can cross over. That's obviously an important constraint, because you
    _really_ need a good measurement then.


    There are weak multiplicative
    effects between maternal and fetal signals, as you'd expect.

    This makes me think of an old Stroboconn/Peterson tuner. Obviously,
    those are solving a much simpler problem. I'd be tempted to play
    with the aliasing/sidebands.

    The peterson/Stroboconn had a base model of the frequency under
    measurement and provided a visual , intentionally aliased display
    of the difference. It literally wagonwheeled.

    This probably isn't much help, but it's clearly a profound problem.
    Seems  like a thing more for metaphor than for mechanism. Find the story
    and the mechanism reveals itself. I'd almost bet that there's a model in
    the brain of every neonatalist.


    So overall it looks like the best-guess algorithm is something like:

    Use one set of LEDs and several photodetectors at different spacings (corresponding to different depths)

    Oversample several channels massively

    Run a digital PLL on the mum and reconstruct a filtered pulse shape.

    Strobe the data with the reconstructed pulse, and refine the mum's pulse
    rate vs. time.

    Resample the noisy data so that the mum's pulse is perfectly periodic

    Notch her out of the picture, and (possibly) resample back to the
    original uniform spacing

    Repeat the two-step DPLL/strobe thing on the child's pulse

    Resample the data so the child's pulse is periodic

    Average N periods to improve SNR, possibly using a data window sideways
    if the noise floor isn't flat (That is, if there are K samples in each
    of N periods, use a window function W(n), not W(k).)

    Extract the child's pulse ox signal.

    There may be some stable iterative way of improving the pulse rate
    estimates, I don't know. We'll have probably a good 15 minutes' worth
    of data, and perhaps several hours.

    Fun problem--tire kicking welcome.

    Cheers

    Phil Hobbs


    --
    Dr Philip C D Hobbs
    Principal Consultant
    ElectroOptical Innovations LLC / Hobbs ElectroOptics
    Optics, Electro-optics, Photonics, Analog Electronics
    Briarcliff Manor NY 10510

    http://electrooptical.net
    http://hobbs-eo.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil Hobbs@21:1/5 to Phil Hobbs on Sun Jun 6 14:45:11 2021
    Phil Hobbs wrote:
    (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.)


    Crap. Sorry!

    Cheers

    Phil Hobbs

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From boB@21:1/5 to pcdhSpamMeSenseless@electrooptical. on Thu Jun 10 22:53:17 2021
    On Sun, 6 Jun 2021 14:45:11 -0400, Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote:

    Phil Hobbs wrote:
    (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.)


    Crap. Sorry!

    Cheers

    Phil Hobbs

    Sorry about what ?

    It's an interesting project but my digital PLL skills are a bit
    lacking. At least in software which is where I would like to be
    better at.

    I do know about acquiring ECGs but only using diff amps.

    Might be a good question for the "dsprelated" forum along with
    embeddedrelated and all that stuff.

    boB

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Phil Hobbs@21:1/5 to boB on Fri Jun 11 10:20:15 2021
    boB wrote:
    On Sun, 6 Jun 2021 14:45:11 -0400, Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote:

    Phil Hobbs wrote:
    (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.)


    Crap. Sorry!



    Sorry about what ?

    Posting the same thing here twice, when I intended the second one to go
    to sci.electronics.design.

    It's an interesting project but my digital PLL skills are a bit
    lacking. At least in software which is where I would like to be
    better at.

    I do know about acquiring ECGs but only using diff amps.

    Might be a good question for the "dsprelated" forum along with embeddedrelated and all that stuff.

    Thanks. I pretty well keep to Usenet.

    Cheers

    Phil Hobbs

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)