Abstract:
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.

Description:
[0001]    This application is a continuation of U.S. patent application Ser. No. 15/071,915 filed, Mar. 16, 2016, which is a continuation-in-part of U.S. patent application Ser. No. 14/921,489, filed on Oct. 23, 2015, now U.S. Pat. No. 9,392,952, which claims priority to U.S. Provisional Patent Application No. 62/133,485, filed on Mar. 16, 2015, the entire contents of all of which are incorporated by reference herein in their entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The invention relates generally to systems and methods for monitoring the wellbeing of a fetus by the non-invasive detection and analysis of fetal cardiac activity data. 
       BACKGROUND 
       [0003]    Monitoring fetal cardiac activity can be useful to determine the health of a fetus during pregnancy. 
       SUMMARY 
       [0004]    In some embodiments, the instant invention is directed to a computer-implemented method which includes at least the steps of: 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, where the plurality of bandpass filters includes a L number of bandpass filters, where 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, where M is equal to L multiply by K; 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 filtered denoised filtered ICA transforms; compiling, by the at least one computer processor, a S number of a plurality of detection heartbeat (DH) inputs, including: 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, 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. 
         [0005]    In some embodiments, where the wavelet denoising includes at least: 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, 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. 
         [0006]    In some embodiments, K is equal to a number of the plurality of acoustic sensors, and L is equal to 6. 
         [0007]    In some embodiments, each filter of the plurality of bandpass filters has a bandwidth of 10-100 Hz and a frequency range of 5-110 HZ. 
         [0008]    In some embodiments, the detecting of the beat locations of the beats in each of DH inputs includes at least: 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, where the group of peaks has the smallest variance measure; calculating, by the at least one computer processor, initial locations of the beats. 
         [0009]    In some embodiments, the calculating the confidence score includes at least: generating, by the at least one computer processor, a beat-by-beat heartbeat graph for each DH input based on the beat locations. 
         [0010]    In some embodiments, 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 includes at least: 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. 
         [0011]    In some embodiments, the present invention is directed to a specifically programmed computer system, including at least the following components: at least one specialized computer machine, including: 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, where the plurality of bandpass filters includes a L number of bandpass filters, where 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, where M is equal to L multiply by K; 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, including: 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. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]      FIG. 1  shows the positions of the exemplary acoustic sensors on the abdomen of a pregnant woman according to some embodiments of the present invention. 
           [0013]      FIG. 2  shows a flow chart of an algorithm used to detect and analyze cardiac activity data according to some embodiments of the present invention. 
           [0014]      FIGS. 3A and 3B  show flow charts of a signal denoising algorithm according to some embodiments of the present invention. 
           [0015]      FIGS. 4-8  show graphs illustrating results of processing of data from acoustic sensors according to some embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0016]    For clarity of disclosure, and not by way of limitation, the detailed description of the invention is divided into the following subsections that describe or illustrate certain features, embodiments or applications of the present invention. 
         [0017]    In some embodiments, the present invention provides a system for detecting, recording and analyzing aucoustic data from a pregnant mother carrying a fetus to discern cardiac data of mother and/or fetus. In some embodiments, a plurality of acoustic sensors is used to record phonocardiogram (PCG) signals, representative of cardiac activity data. The phonocardiogram signals are recordings of all the sounds made by the heart during a cardiac cycle due to, typically, for example, vibrations created by closure of the heart valves. For instance, there can be at list two sound generating events: the first when the atrioventricular valves close at the beginning of systole (S1) and the second when the aortic valve and pulmonary valve close at the end of systole (S2). 
         [0018]    In some embodiments, the exemplary inventive system of the present invention can utilize a plurality of acoustic sensors (e.g., 2, 3, 4, 5, 6, 7, 8, 9, 10, etc.) to be positioned on and/or near the abdomen of a pregnant woman. For example, in some embodiments, the acoustic sensors are directly attached. In some embodiments, the acoustic sensors are incorporated into an article, such as, for example, a belt, a patch, and the like, and the article is worn by, or placed on, the pregnant mother. In some embodiments, the recorded acoustic signal data from the plurality of acoustic sensors is transmitted via, for example, at least one communication link, originated by at least one data transmitter resided in the article, to at least one remote server for the processing by at least one specifically programmed computer processor in accordance with the principles of the present invention. In some embodiments, the communication link is based on at least one wireless-type communication implementations (e.g., low emission Bluetooth (Bluetooth Low Energy). In some embodiments, the exemplary system of the present invention for recording, detecting and analyzing acoustic signal data includes an analog pre-processing module, an analog to digital converter/microcontroller (ADC/MCU) module, a communications module, a smartphone module, and a cloud computing module. In some embodiments, the analog pre-processing module performs at least one function selected from the group consisting of: amplification of the recorded signals, and filtering the recorded signals. In some embodiments, the ADC/MCU module performs at least one task selected from the group consisting of: converting analog signals to digital signals, converting the recorded signals to digital signals, compressing the data, digital filtering, and transferring the recorded PCG signals data to the transmitter. In some embodiments, the communications module transmits the recorded signals to a wireless receiver of the system of the present invention. 
         [0019]    In some embodiments, the choice of acoustic sensors is readily determined by one of ordinary skill in the art. Factors influencing acoustic sensor choice include, but are not limited to, the sensitivity of the microphone component, the size of the acoustic sensor, the weight of the acoustic sensor, and the like. In some embodiments, the acoustic sensor is configured to compensate for the changes in sound propagation caused by the skin-air interface. Acoustic signals comprise sound waves or vibrations that propagate as a mechanical wave of pressure and displacement, through a medium such as air, water, or the body. Without intending to be limited to any particular theory, the behavior of sound propagation can be affected by the relationship between the density and pressure of the medium though which the sound wave propagates. Also, the behavior of sound propagation can be affected by the motion of the medium though which the sound wave propagates. Furthermore, the behavior of sound propagation can be affected by the viscosity of the medium though which the sound wave propagates. 
         [0020]    For example, as shown in  FIG. 1 , the exemplary inventive system of the present invention utilizes a set of four acoustic sensors (M 1 -M 4 ) at respective exemplary positions. In some embodiments, the positioning of acoustic sensors can varies based, at least in part, on, for example, shape of mother&#39;s stomach, the stage of the pregnancy, physiological characteristics of mother and/or fetus(es), previous acoustic and/or other types of cardio recordings (e.g., Electrocardiogram (ECG) signal recordings and analysis, etc.), and other similarly suitable data. 
         [0021]    In some embodiments, the acoustic sensors of the present invention record the internal sound produced inside the woman with added noise from the environment. As detailed below, from these recordings the heartbeat sound of the fetus(es) and/or the mother are extracted and the heart rate of each subject is calculated. 
         [0022]    In some embodiments, the level of detection by each acoustic sensor is independent of the other acoustic sensors (e.g, in  FIG. 1 , on other three acoustic sensors). Referring to  FIG. 1 , in some embodiments, it is determined that, typically, the fetus PCG signals are detected by the acoustic sensors in locations M 3  and/or M 4 , while the maternal PCG signals are detected by the acoustic sensors in locations M 1  and/or M 2 . In some embodiments, the maternal PCG signals can be detected by all four sensors (M 1 -M 4 ) and have to be cleaned in order to detect the fetus(es) heartbeats. In some embodiments, as detailed below, the cleaning process is performed using at least one Independent component analysis (ICA) algorithm of the present invention. For instance, in some embodiments, the inventive system of the present invention assumes that the interfering noises are audio sources which are not the fetal origin that thus are statistically independent from the fetal heart sounds. 
         [0023]    An Example of an Illustrative Process Utilized to Estimate the Fetus(es) and/or Maternal Heartbeat Data in Accordance with the Present Invention 
         [0024]      FIG. 2  shows an exemplary process utilized, in some embodiments, by the exemplary inventive system of the present invention to estimate the fetus(es) and/or maternal heartbeat data (e.g., presence of heartbeats, heartbeat patterns, heartbeat frequency, ect.). 
         [0025]    Referring to  FIG. 2 , the illustrative process contains at the following four stages. 
         [0026]    Stage 1: Filter Bank 
         [0027]    Referring to  FIG. 2 , the input is the signal data recorded by each acoustic sensor (M 1 -M 4 ) shown in  FIG. 1 . In some embodiments, the recorded signal data from each of the four acoustic sensors is passed through, for example but not limited to, L number of bandpass filters, where each filter has a predetermine frequency range. In some embodiments, the exemplary six bandpass filters (L=6) can have the following six bandwidths: 
         [0028]    10-45 Hz 
         [0029]    20-50 Hz 
         [0030]    25-65 Hz 
         [0031]    40-80 Hz 
         [0032]    55-95 Hz 
         [0033]    20-80 Hz. 
         [0034]    In some embodiments, there can be at least 3 bandpass filters. In some embodiments, there can be between 3-12 bandpass filters. In some embodiments, there can be between 5-10 bandpass filters. In some embodiments, there can be at least 5 bandpass filter. In some embodiments, there can be at least 7 bandpass filter. 
         [0035]    In some embodiments, the bandwidth of a particular filter can be selected from a range of 10-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 20-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 30-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 40-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 50-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 60-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 70-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 80-100 Hz. In some embodiments, the bandwidth of a particular filter can be selected from a range of 90-100 Hz. 
         [0036]    In some embodiments, a particular filter can have a frequency range of 5-110 Hz. In some embodiments, a particular filter can have a frequency range of 15-110 Hz. In some embodiments, a particular filter can have a frequency range of 25-110 Hz. In some embodiments, a particular filter can have a frequency range of 35-110 Hz. In some embodiments, a particular filter can have a frequency range of 45-110 Hz. In some embodiments, a particular filter can have a frequency range of 55-110 Hz. In some embodiments, a particular filter can have a frequency range of 5-105 Hz. In some embodiments, a particular filter can have a frequency range of 5-100 Hz. In some embodiments, a particular filter can have a frequency range of 5-95 Hz. In some embodiments, a particular filter can have a frequency range of 5-25 Hz. In some embodiments, a particular filter can have a frequency range of 5-50 Hz. In some embodiments, a particular filter can have a frequency range of 5-75 Hz. 
         [0037]    In some embodiments, referring to  FIG. 2 , a K number of outputs (filtered PCG outputs) from each of the six filters are forwarded to the second stage. For example, in some embodiments, detailed below, K is equal to, but not limited to, 4. In some embodiments, K is equal to the number of acoustic sensors (M 1 -M 4 ) being used to collect the acoustic sensor data. In some embodiments, a predetermined number of outputs is forwarded to the second stage. 
         [0038]    Stage 2: Wavelet Denoising 
         [0039]    In some embodiments, for example, one of the four filtered PCG outputs from the six bandpass filters is further subject to wavelet denoising, where such particular filtered PCG output is deconstructed by passing through a succession of low and high pass filters up to X times to form the deconstructed filtered PCG output. In some embodiments, the value of X depends on a sampling frequency which allows to achieve suitable results to meet requirements detailed below. For example, in some embodiments, the particular filtered PCG output is deconstructed by passing through a succession of low and high pass filters up to 3 times. For example, in some embodiments, the particular filtered PCG output is deconstructed by passing through a succession of low and high pass filters up to 5 times. For example, in some embodiments, the particular filtered PCG output is deconstructed by passing through a succession of low frequency pass and high frequency pass filters up to 6 times. 
         [0040]      FIGS. 3A and 3B  show illustrative diagrams of the exemplary denoising stage. In some embodiments, the result of the denoising is the wavelet transform coefficients called approximations and details. Specifically, the deconstructed filtered PCG output can be reconstructed using the details: Dj(n), j=1, . . . , N and the approximation Aj(n) to form the denoised filtered PCG output. 
         [0041]    In some embodiments, the denoised filtered PCG output is determined based on equation 1: 
         [0000]        y   r ( n )= A   N ( n )+Σ j−1   N   D   j ( n )  (1).
 
         [0042]    Specifically, initially, in the first step of the denoising, all details that most likely do not carry information of the heartbeat signal are set to 0, for example but not limited to : D_j (n)=0, j=1, 2, 3, 5, 6, . . . , N. For example, details that do not contain sound data corresponding to S1 and/or S2 phases of the cardiac contraction cycle. 
         [0043]    Then, the remaining detail, the fourth detail, is thresholded using a threshold calculated utilizing, for example but not limited to, Stein&#39;s Unbiased Risk Estimate (SURE) method illustrated by equation 2: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       D 
                       4 
                     
                      
                     
                       ( 
                       n 
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               0 
                               ∀ 
                             
                           
                           
                             
                               
                                 
                                   D 
                                   4 
                                 
                                  
                                 
                                   ( 
                                   n 
                                   ) 
                                 
                               
                               &lt; 
                               
                                 TH 
                                 SURE 
                               
                             
                           
                         
                         
                           
                             
                               
                                 D 
                                 4 
                               
                                
                               
                                 ( 
                                 n 
                                 ) 
                               
                             
                           
                           
                             Otherwise 
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0044]    In some embodiments, the threshold can be calculated using any other similarly suitable method. 
         [0045]    In some embodiments the remaining detail can be any of the details or a combination of them. 
         [0046]    Lastly, the denoised filtered PCG output is calculated using equation (1). 
         [0047]    Stage 3: ICA transformation 
         [0048]    Referring to  FIG. 2 , (1) the filtered PCG output and (2) the denoised filtered PCG output are further transformed using at least one ICA algorithm to form (1) the transformed filtered PCG output and (2) the transformed denoised filtered PCG output, respectively. In some embodiments, the exemplary ICA algorithm is, for example but not limited to, the FAST ICA algorithm. In some embodiments, the FAST ICA algorithm is, for example, utilized in accordance with “ Independent component analysis: Algorithms and applications ,” Hyvarinen et al.,  Neural Networks  13 (4-5): 411-430 (2000), whose specific descriptions are hereby incorporated herein for such specific purpose. 
         [0049]    The term “transformation(s)” as used herein refers to linear or non-linear mathematical transformations, which may include, inter alia, digital filtering, mathematical linear or non-linear decomposition, mathematical optimization. 
         [0050]    Stage 4: Detection of fetal and maternal heart beats 
         [0051]    To summarize, at this stage, all outputs of the filterbank, denoisng, and ICA, from the previous three stages are being utilized as a S number of detection heartbeat (DH) inputs, where S is a number of all outputs of the filterbank, denoisng, and ICA stages, calculated as L×M, as determined below: 
         [0052]    1) M filtered PCG outputs, resulted from 4 signal data inputs of the acoustic sensors M 1 -M 4  being passed through L bandpass filters; 
         [0053]    2) M filtered ICA transforms of the filtered PCG outputs; 
         [0054]    3) M denoised filtered PCG outputs; and 
         [0055]    4) M denoised filtered ICA transforms of the denoised filtered PCG outputs, where M=L×K. 
         [0056]    In some embodiments, the exemplary inventive system of the present detection assumes that the heart beats of the mother and/or the fetus(es) can be detected in each one of these DH inputs. In some embodiments, the exemplary inventive system has no prior historical data to suggest in which of these DH inputs the heartbeat of the fetus(es) would be detected, or the heartbeat of the mother, or both, or none. 
         [0057]    For example, in some embodiments, the L number of filters in the filter bank is 6 and the total number of inputs for stage 4 is M×L=96. 
         [0058]    In some embodiments, the stage 4 is further divided into four sub-stages: 
         [0059]    Sub-stage 1: Detect all heartbeats in each of the DH inputs; 
         [0060]    Sub-stage 2: Calculate a confidences score that describes the probability that the heartbeats detected in Step 1 are actual heartbeats and not the noise; 
         [0061]    Sub-stage 3: Divide all the DH inputs into at least two groups:
       Group 1: fetal heartbeat outputs that contain fetal heartbeats   Group 2: maternal heartbeat outputs that contain maternal heartbeats;       
 
         [0064]    Sub-stage 4: Select from each group the most probable output that contains the corresponding heartbeat. 
         [0065]    Sub-stage 1: Heartbeat Detection 
         [0066]    Typically, acoustic signal can contain at least some noise and heartbeats in at least some cases can be “covered” with noise or in a very noisy surrounding. In addition, typically, the heartbeat morphology can vary form one heartbeat to the next. In some embodiments, the Sub-stage 1 is carried out in at least the following number of steps. 
         [0067]    Step 1: Beat Detection 
         [0068]    i) In some embodiments, the exemplary inventive system of the present invention calculates a slow envelope of the absolute of the Hilbert transform of the acoustic signal. For instance, exemplary inventive system of the present invention calculates this envelope by applying a moving average filter on the absolute value of the Hilbert transform. In some embodiments, the exemplary inventive system of the present invention can utilize the moving average window having a predetermined length of P. For example, in some embodiments, P is 300 milliseconds (ms). In some embodiments, P varies from 100 to 500 ms. In some embodiments, P varies from 200 to 500 ms. In some embodiments, P varies from 300 to 500 ms. In some embodiments, P varies from 400 to 500 ms. 
         [0069]    ii) The exemplary inventive system of the present invention then determines all the peaks of the signal by identifying the zero crossings of the derivative of the signal in each respective DH input. 
         [0070]    iii) The exemplary inventive system of the present invention then discards all peaks that are not prominent enough, based, at least in part, on the following criteria used is: 
         [0000]    
       
         
           
             
               Select 
                
               
                   
               
                
               
                 ∀ 
                 
                   
                     peaks 
                      
                     
                         
                     
                      
                     such 
                      
                     
                         
                     
                      
                     that 
                      
                     
                         
                     
                      
                     
                       
                         p 
                          
                         
                           ( 
                           k 
                           ) 
                         
                       
                       
                         median 
                          
                         
                           ( 
                           
                             [ 
                             
                               
                                 p 
                                  
                                 
                                   ( 
                                   1 
                                   ) 
                                 
                               
                               , 
                               
                                 p 
                                  
                                 
                                   ( 
                                   2 
                                   ) 
                                 
                               
                               , 
                               … 
                                
                               
                                   
                               
                               , 
                               
                                 p 
                                  
                                 
                                   ( 
                                   N 
                                   ) 
                                 
                               
                             
                             ] 
                           
                           ) 
                         
                       
                     
                   
                   &gt; 
                   
                     Thresh 
                      
                     
                         
                     
                      
                     k 
                   
                 
               
             
             = 
             
               1 
                
               
                   
               
                
               … 
                
               
                   
               
                
               N 
                
               
                   
               
                
               where 
                
               
                   
               
                
               
                 p 
                  
                 
                   ( 
                   k 
                   ) 
                 
               
                
               
                   
               
                
               is 
                
               
                   
               
                
               the 
                
               
                   
               
                
               prominence 
                
               
                   
               
                
               of 
                
               
                   
               
                
               the 
                
               
                   
               
                
               
                 k 
                 th 
               
                
               
                   
               
                
               
                 peak 
                 . 
               
             
           
         
       
     
         [0071]    iv) The exemplary inventive system of the present invention then groups all peaks into two groups according to, for example, shape and size. For example, such grouping is done using a Gaussian Mixture model clustering algorithm with the following features for each peak:
       the width of each peak divided by the max peak width, and   the height of the peak divided by its prominence.       
 
         [0074]    v) The exemplary inventive system of the present invention then selects a group of peaks that has the smallest variance measure as the peaks for the next steps. 
         [0075]    vi) The exemplary inventive system of the present invention then repeats steps i-v using an average window length R ms. In some embodiments, the average window length of 250 ms. In some embodiments, the average window length is between 100-300 ms. 
         [0076]    vii) The exemplary inventive system of the present invention then calculates the Excess Kurtosis measure of the distribution (an adjusted version of Pearson&#39;s kurtosis) for the locations of peaks, and selects the peak locations that provide the smallest Excess Kurtosis.  FIG. 4  shows the result of the detection at this step, specifically the beat located in a noisy area is not detected. 
         [0077]    viii) From the selected peaks locations, the exemplary inventive system of the present invention then calculates an initial estimate of the average Heart Rate (HR). 
         [0078]    Step 2—Enhanced Detection 
         [0079]    The exemplary inventive system of the present invention refines the detection results of Step 1 by, for example, adding missing beats and correcting the Step 1 detection locations. 
         [0080]    i) The exemplary inventive system of the present invention calculates a fast envelope using a Q ms window in the same manner performed as detailed in item (i) of Step 1. For example, in some embodiments, Q is 100 ms. In some embodiments, Q varies between 50-200 ms. In some embodiments, Q varies between 50-150 ms. In some embodiments, Q varies between 50-100 ms. 
         [0081]    ii) The exemplary inventive system of the present invention then identifies peaks on the fast envelope signal and selects all prominent peaks in same manner as detailed in item (iii) of Step 1. 
         [0082]    iii) The exemplary inventive system of the present invention then calculates all beat to beat intervals (B2B) from the detection results of Step 1, where B2B is an interval between successive beats. 
         [0083]    iv) Referring to  FIG. 5 , the exemplary inventive system of the present invention then completes missing beats which are not identified in Step 1, by reiteratively analyzing all beat to beat intervals determined in the item (iii) of Step 2 based on at least the following exemplary, but not limiting, conditions:
       if B2B(k) is higher than 1.5×B2B(average) calculated in item (viii) of Step 1, find a peak from the fast envelope which is as close as possible to the last peak found in item (viii) of Step 1+B2B(average).       
 
         [0085]    v) The exemplary inventive system of the present invention then corrects the detection of Step 1, using the fast envelope. 
         [0086]    In some embodiments, the exemplary inventive system of the present invention performs Step 2 to the extent necessary to minimize the beat to beat variance. 
         [0087]    Sub-stage 2: Calculate a confidence score for the heartbeat detection 
         [0088]    Typically, a beat-by-beat heart rate is a physiological signal which cannot change too fast and usually follows a baseline that defines an average heart rate. In some embodiments, the exemplary inventive system of the present invention utilizes the average heart rate as the base for calculating the confidence score. For each detection of heart beats (for example but not limited to 96 of them, obtained at the end of Sub-Stage 1 from 96 DH inputs), the exemplary inventive system of the present invention calculates the confidence score in accordance with the following steps. 
         [0089]    i) The exemplary inventive system of the present invention generates a beat-by-beat heartbeat graph (shown in  FIG. 6 ) based on the locations of the beats. 
         [0090]    ii) The exemplary inventive system of the present invention then estimates the heart rate for the whole signal (HRestim), by calculating a histogram of all the beat-by-beat heart rates, where the estimated heart rate for the whole signal is at the maximum of the histogram. 
         [0091]    iii) The exemplary inventive system of the present invention then estimates a base line for the beat-by-beat heartbeat graph ( FIG. 6 ) using a median filter (e.g., order 20, etc.). 
         [0092]    iv) The exemplary inventive system of the present invention then calculates the confidence score based on the following equation (3): 
         [0000]    
       
         
           
             
               
                 
                   
                     Score 
                     = 
                     
                       
                         
                           
                             MfRR 
                             2 
                           
                           + 
                           
                             SfRR 
                             2 
                           
                           + 
                           
                             OvMP 
                             2 
                           
                         
                         3 
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       where 
                        
                       
                           
                       
                        
                       MfRR 
                     
                     = 
                     
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                            
                           
                             
                               HR 
                                
                               
                                 ( 
                                 n 
                                 ) 
                               
                             
                             - 
                             HRestim 
                           
                            
                         
                       
                       N 
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     SfRR 
                     = 
                     
                       std 
                        
                       
                         ( 
                         
                            
                           
                             
                               HR 
                                
                               
                                 ( 
                                 n 
                                 ) 
                               
                             
                             - 
                             HRestim 
                           
                            
                         
                         ) 
                       
                     
                   
                   , 
                   
                     OvMP 
                     = 
                     
                       
                         1 
                         N 
                       
                        
                       
                         ∑ 
                         
                           1 
                           HR 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       1 
                       HR 
                     
                     = 
                     
                       { 
                       
                         
                           
                             
                               
                                 1 
                                 , 
                               
                             
                             
                               
                                 
                                    
                                   
                                     
                                       HR 
                                        
                                       
                                         ( 
                                         n 
                                         ) 
                                       
                                     
                                     - 
                                     HRestim 
                                   
                                    
                                 
                                 &lt; 
                                 
                                   HRestim 
                                   × 
                                   0.15 
                                 
                               
                             
                           
                           
                             
                               
                                 0 
                                 , 
                               
                             
                             
                               otherwise 
                             
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   
                     ( 
                     3 
                     ) 
                   
                   , 
                 
               
             
           
         
       
     
         [0093]    Sub-stage 3: Group all heartbeat detections into 2 groups: Maternal and Fetal 
         [0094]    Based on the Stages 1-3 and Sub-stages 1-2, The exemplary inventive system of the present invention generates S beat-by-beat heartbeat graphs, which are vectors representative of the DH inputs obtained from Stages 1-3 (DH input vectors). For example, in case of 96 DH inputs, 96 beat-by-beat heartbeat graphs is generated. Some of the DH input vectors represent maternal heartbeat and some represent the fetal heartbeat. 
         [0095]    In some embodiments, the exemplary inventive system of the present invention can utilize, for example, other contemporaneous maternal heartbeat data about the maternal heartbeat which has been separately determined based on data collected from non-acoustic sensor(s)/equipment (e.g., ECG data) to group all DH input vectors that are highly correlated with the other contemporaneous maternal heartbeat data as candidates for maternal heart rate detection and the remaining DH input vectors are grouped as fetal heartbeat candidates. 
         [0096]    In some embodiments, when the other contemporaneous maternal heartbeat data is not available, the exemplary inventive system of the present invention can group the DH input vectors, by clustering the estimated heart rate of each DH input vector according to its value. In some embodiments, the exemplary inventive system of the present invention then designates the DH input vectors with a higher average heartbeat rate into the fetal heartbeat group. 
         [0097]    Sub-stage 4: Select the fetal and maternal best detections 
         [0098]    In some embodiments, based on the best confidence score, the exemplary inventive system of the present invention selects the best representative maternal DH input vector as the best detection of the maternal heartbeat rate from the group of the maternal heartbeat DH input vectors identified in Sub-stage 3. 
         [0099]    In some embodiments, based on the best confidence score, the exemplary inventive system of the present invention selects the best representative fetal DH input vector as the best detection of the fetal heartbeat rate from the group of the fetal DH input vectors identified in Sub-stage 3. 
         [0100]      FIG. 7  shows an illustrative example a beat-by-beat heartbeat graph representative of an exemplary DH input vector with a low confidence score. 
         [0101]      FIG. 8  shows an illustrative example a beat-by-beat heartbeat graph representative of an exemplary DH input vector with a high confidence score. 
         [0102]    In some embodiments, the instant invention is directed to a computer-implemented method which includes at least the steps of: 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, where the plurality of bandpass filters includes a L number of bandpass filters, where 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, where M is equal to L multiply by K; 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 filtered denoised filtered ICA transforms; compiling, by the at least one computer processor, a S number of a plurality of detection heartbeat (DH) inputs, including: 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, 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. 
         [0103]    In some embodiments, where the wavelet denoising includes at least: 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, 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. 
         [0104]    In some embodiments, K is equal to a number of the plurality of acoustic sensors, and L is equal to 6. 
         [0105]    In some embodiments, each filter of the plurality of bandpass filters has a bandwidth of 10-100 Hz and a frequency range of 5-110 HZ. 
         [0106]    In some embodiments, the detecting of the beat locations of the beats in each of DH inputs includes at least: 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, where the group of peaks has the smallest variance measure; calculating, by the at least one computer processor, initial locations of the beats. 
         [0107]    In some embodiments, the calculating the confidence score includes at least: generating, by the at least one computer processor, a beat-by-beat heartbeat graph for each DH input based on the beat locations. 
         [0108]    In some embodiments, 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 includes at least: 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. 
         [0109]    In some embodiments, the present invention is directed to a specifically programmed computer system, including at least the following components: at least one specialized computer machine, including: 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, where the plurality of bandpass filters includes a L number of bandpass filters, where 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, where M is equal to L multiply by K; 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, including: 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. 
         [0110]    Publications cited throughout this document are hereby incorporated by reference in their entirety. Although the various aspects of the invention have been illustrated above by reference to examples and preferred embodiments, it will be appreciated that the scope of the invention is defined not by the foregoing description but by the following claims properly construed under principles of patent law.