1. A system for monitoring maternal and fetal cardiac activity comprising: a. at least one electrocardiogram sensor configured to contact the skin of the abdomen of a pregnant human subject and detect fetal and maternal cardiac electrical activity; b. at least one acoustic sensor configured to contact the skin of the abdomen of a pregnant human subject and detect fetal and maternal cardiac electrical activity; c. a garment configured to position and contact the at least one electrocardiogram sensor and the at least one acoustic sensor on the abdomen of the pregnant human subject; d. 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 raw Electrocardiogram (ECG) signals data from the at least one pair of ECG sensors; wherein the at least one pair of ECG sensors is positioned in on an abdomen of a pregnant human subject; wherein the raw ECG signals data comprise data representative of a N number of raw ECG signals (raw N-ECG signals data) which are being acquired in real-time from the at least one pair of ECG sensors; digital signal filtering the raw ECG signals data to form filtered N-ECG signals data having filtered N-ECG signals; detecting maternal heart peaks in each of the filtered N-ECG signal in the filtered N-ECG signals data; subtracting, from each of the filtered N-ECG signal of the filtered N-ECG signals data, the maternal ECG signal, by utilizing at least one non-linear subtraction procedure to obtain corrected ECG signals data which comprise data representative of a N number of corrected ECG signals (corrected N-ECG signals data), wherein the at least one non-linear subtraction procedure comprises: iteratively performing: i) dividing each filtered N-ECG signal of N-ECG signals of the filtered N-ECG signals data into a second plurality of ECG signal segments,) wherein each ECG signal segment of the plurality of ECG signal segments corresponds to a beat interval of a full heartbeat, and 2) wherein each beat interval is automatically determined based, at least in part on automatically detecting an onset value and an offset value of such beat interval; ii) modifying each of the plurality of filtered N-ECG signal segments to form a plurality of modified filtered N-ECG signal segments, wherein the modifying is performed using at least one inverse optimization scheme based on a set of parameters, wherein values of the set of parameters is determined based on: iteratively performing: 1) defining a global template based on a standard heartbeat profile of an adult human being; 2) setting a set of tentative values for a local template for each filtered N-ECG signal segment; and 3) utilizing at least one optimization scheme to determine an adaptive template for each filtered N-ECG signal segment based on the local template being matched to the global template within a pre-determined similarity value; and iii) eliminating the modified segments from each of the filtered N-ECG signals, by subtracting the adaptive template from the filtered N-ECG signal thereby generating each corrected ECG signal; extracting raw fetal ECG signals data from the filtered N-ECG signals data based on the corrected ECG signals data, wherein the raw fetal ECG signals data comprises a N number of fetal ECG signals (raw N-ECG fetal signals data); processing the raw N-ECG fetal signals data to improve a signal-to-noise ratio of the N-ECG fetal signals to form filtered N-ECG fetal signals data; detecting fetal heart peaks in the filtered N-ECG fetal signals data; calculating, based on detected fetal heart peaks, at least one of: i) fetal heart rate, ii) fetal heart curve, iii) beat-2-beat fetal heart rate, or iv) fetal heart rate variability; and outputting a result of the calculating operation; e. 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, 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; 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; f. 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: i. receiving a calculated fetal heart rate for a plurality of time points over a particular time interval from filtered N-ECG fetal signals data and a calculated fetal heart rate for a plurality of time points over a particular time interval from filtered PCG outputs; ii. determining the score of the calculated fetal heart rate for the plurality of time points over the particular time interval for the filtered N-ECG fetal signals; iii. determining the score of the calculated fetal heart rate for the plurality of time points over the particular time interval for the filtered PCG outputs; iv. based on the calculated fetal heart rate and score for a plurality of time points over a particular time interval from filtered N-ECG fetal signals data, and the calculated fetal heart rate and score for a plurality of time points over a particular time interval from filtered PCG outputs, determining a consolidated fetal heart rate and score for the plurality of time points over the particular time interval, wherein the consolidated fetal heart rate and score for an individual time point within the plurality of time points is determined as one of the four options selected from the group consisting of: 1. the weighted average of the calculated heart rate from the filtered N-ECG fetal signals data and the filtered PCG outputs for the individual time point, if the calculated heart rate from the filtered N-ECG fetal signals data and the filtered PCG outputs for the individual time point differs by 10 beats per minute or less, and if the scores of the calculated fetal heart rate for the individual time point for both the filtered N-ECG fetal signals data and the filtered PCG outputs are valid; 2. the calculated heart rate having the lower score, if the calculated heart rate from the filtered N-ECG fetal signals data and the filtered PCG outputs for the individual time point differs by more than 10 beats per minute, and if the scores of the calculated fetal heart rate for the individual time point for both the filtered N-ECG fetal signals data and the filtered PCG outputs are valid; 3. the calculated heart rate that has the valid score; and 4. no consolidated fetal heart rate and score, if neither the calculated heart rate from the filtered N-ECG fetal signals data or the filtered PCG outputs has a valid score; v. based on the consolidated heart rate and scores for the plurality of time points over the particular time interval, generating, by the at least one computer processor, a fetal heart rate probability mesh; vi. based on the fetal heart rate probability mesh, generating, by the at least one computer processor, an estimated fetal heart rate over the particular time interval, wherein the estimated fetal heart rate over the particular time interval is calculated based on (1) cost representing fetal heart probability mesh values at each point of the estimated fetal heart rate over the particular time interval; and (2) cost representing the overall tortuosity of the estimated fetal heart rate over the particular time interval.