Systems, apparatuses and methods for sensing fetal activity
The invention provides systems and methods for monitoring the wellbeing of a fetus by the non-invasive detection and analysis of fetal cardiac activity data, utilizing a plurality of acoustic sensors.
1. A computer-implemented method, comprising:
receiving, by at least one computer processor executing specific programmable instructions configured for the method, a plurality of Phonocardiogram (PCG) signals data inputs from a plurality of acoustic sensors;
digital signal filtering, by the at least one computer processor, utilizing a plurality of bandpass filters, the plurality of PCG signals data inputs to form a plurality of filtered PCG outputs, wherein the plurality of bandpass filters comprises a L number of bandpass filters, wherein each bandpass filter outputs a K number of filtered PCG outputs;
wavelet denoising, by the at least one computer processor, a first subset of filtered PCG outputs of the plurality of filtered PCG outputs to form a M number of denoised filtered PCG outputs, wherein M is equal to L multiply by K, wherein the wavelet denoising comprises:
deconstructing, by the at least one computer processor, each filtered PCG output to generate a plurality of transform coefficients, by irrelatively passing each filtered PCG output through a succession of low and high pass filters,
identifying, by the at least one computer processor, a subset of heartbeat-carrying transform coefficients from the plurality of transform coefficients, and
reconstructing, by the at least one computer processor, the subset of heartbeat-carrying transform coefficients to form the M number of denoised filtered PCG outputs;
transforming, by the at least one computer processor, utilizing an Independent-Component-Analysis (ICA), a second subset of filtered PCG outputs of the plurality of filtered PCG outputs to form the M number of filtered ICA transforms;
transforming, by the at least one computer processor, utilizing the Independent-Component-Analysis (ICA), a first portion of the second subset of denoised filtered PCG outputs to form the M number of denoised filtered ICA transforms;
compiling, by the at least one computer processor, a S number of a plurality of detection heartbeat (DH) inputs, comprising:
i) the M number of filtered PCG outputs,
ii) the M number of the denoised filtered PCG outputs,
iii) the M number of the filtered ICA transforms, and
iv) the M number of the denoised filtered ICA transforms;
detecting, by the at least one computer processor, beat locations of beats in each of DH inputs;
calculating, by the at least one computer processor, a confidence score that describes a probability that the beats in each DH input of the plurality of DH inputs represent actual heartbeats and not a noise;
dividing, by the at least one computer processor, the plurality of DH inputs into at least two groups:
i) a first group of DH inputs containing fetal heartbeats,
ii) a second group of DH inputs containing maternal heartbeats;
selecting, by the at least one computer processor, from the first group of DH inputs, at least one particular fetal DH input that contains the fetal heartbeat based on a first confidence score of the at least one particular fetal DH input; and
selecting, by the at least one computer processor, from the second group of DH inputs, at least one particular maternal DH input that contains the maternal heartbeat, based on a second confidence score of the at least one particular maternal DH input.
2. The computer-implemented method of claim 1 , wherein K is equal to a number of the plurality of acoustic sensors, and L is equal to 6.
3. The computer-implemented method of claim 1 , wherein each filter of the plurality of bandpass filters has a bandwidth of 10-100 Hz and a frequency range of 5-110 HZ.
4. The computer-implemented method of claim 1 , wherein the detecting of the beat locations of the beats in each of DH inputs, comprising:
calculating, by the at least one computer processor, a predetermined transform filter;
iteratively repeating, by the at least one computer processor, based on a predetermined average window length of the predetermined transform filter:
identifying, in each DH input, a subset of peaks having a predetermined shape and a predetermined size, and
selecting a group of peaks from the subset of peaks, wherein the group of peaks has the smallest variance measure;
calculating, by the at least one computer processor, initial locations of the beats.
5. The computer-implemented method of claim 1 , wherein the calculating the confidence score, comprising:
generating, by the at least one computer processor, a beat-by-beat heartbeat graph for each DH input based on the beat locations.
6. The computer-implemented method of claim 1 , wherein the dividing the plurality of DH inputs into the first group of DH inputs containing fetal heartbeats and the second group of DH inputs containing maternal heartbeats, comprising:
clustering, by the at least one computer processor, the beats of each DH input according to each beat value; and
assigning, by the at least one computer processor, a particular DH input having a higher average beat rate into the first group of DH inputs containing fetal heartbeats.
7. A specifically programmed computer system, comprising:
at least one specialized computer machine, comprising:
a non-transient memory, electronically storing particular computer executable program code; and
at least one computer processor which, when executing the particular program code, becomes a specifically programmed computing processor that is configured to at least perform the following operations:
receiving a plurality of Phonocardiogram (PCG) signals data inputs from a plurality of acoustic sensors;
digital signal filtering, utilizing a plurality of bandpass filters, the plurality of PCG signals data inputs to form a plurality of filtered PCG outputs, wherein the plurality of bandpass filters comprises a L number of bandpass filters, wherein each bandpass filter outputs a K number of filtered PCG outputs;
wavelet denoising a first subset of filtered PCG outputs of the plurality of filtered PCG outputs to form a M number of denoised filtered PCG outputs, wherein M is equal to L multiply by K, wherein the wavelet denoising comprises:
deconstructing each filtered PCG output to generate a plurality of transform coefficients, by irrelatively passing each filtered PCG output through a succession of low and high pass filters,
identifying a subset of heartbeat-carrying transform coefficients from the plurality of transform coefficients, and
reconstructing the subset of heartbeat-carrying transform coefficients to form the M number of denoised filtered PCG outputs;
transforming, utilizing an Independent-Component-Analysis (ICA), a second subset of filtered PCG outputs of the plurality of filtered PCG outputs to form the M number of filtered ICA transforms;
transforming, utilizing the Independent-Component-Analysis (ICA), a first portion of the second subset of denoised filtered PCG outputs to form the M number of denoised filtered ICA transforms;
compiling a S number of a plurality of detection heartbeat (DH) inputs, comprising:
i) the M number of filtered PCG outputs,
ii) the M number of denoised filtered PCG outputs,
iii) the M number of filtered ICA transforms, and
iv) the M number of denoised filtered ICA transforms;
detecting beat locations of beats in each of DH inputs;
calculating a confidence score that describes a probability that the beats in each DH input of the plurality of DH inputs represent actual heartbeats and not a noise;
dividing the plurality of DH inputs into at least two groups:
i) a first group of DH inputs containing fetal heartbeats,
ii) a second group of DH inputs containing maternal heartbeats;
selecting, from the first group of DH inputs, at least one particular fetal DH input that contains the fetal heartbeat based on a first confidence score of the at least one particular fetal DH input; and
selecting, from the second group of DH inputs, at least one particular maternal DH input that contains the maternal heartbeat, based on a second confidence score of the at least one particular maternal DH input.
8. The specifically programmed computer system of claim 7 , wherein K is equal to a number of the plurality of acoustic sensors, and L is equal to 6.
9. The specifically programmed computer system of claim 7 , wherein each filter of the plurality of bandpass filters has a bandwidth of 10-100 Hz and a frequency range of 5-110 HZ.
10. The specifically programmed computer system of claim 7 , wherein the detecting of the beat locations of the beats in each of DH inputs, comprising:
calculating a predetermined transform filter;
iteratively repeating, based on a predetermined average window length of the predetermined transform filter:
identifying, in each DH input, a subset of peaks having a predetermined shape and a predetermined size, and
selecting a group of peaks from the subset of peaks, wherein the group of peaks has the smallest variance measure;
calculating initial locations of the beats.
11. The specifically programmed computer system of claim 7 , wherein the calculating the confidence score, comprising:
generating a beat-by-beat heartbeat graph for each DH input based on the beat locations.
12. The specifically programmed computer system of claim 7 , wherein the dividing the plurality of DH inputs into the first group of DH inputs containing fetal heartbeats and the second group of DH inputs containing maternal heartbeats, comprising:
clustering the beats of each DH input according to each beat value; and
assigning a particular DH input having a higher average beat rate into the first group of DH inputs containing fetal heartbeats.