referring first to fig1 a heart beat coincidence detection system 10 is shown . system 10 is implemented , for example , on a corometrics 120 series maternal / fetal monitor manufactured by ge marquette medical systems of milwaukee , wis . however , system 10 may be implemented on other fetal monitoring systems , or other medical devices . system 10 includes an input / output device 12 coupleable via wires or wirelessly to one or more transducers 14 . transducers 14 include a fetal heartbeat transducer 16 and a maternal heartbeat transducer 18 , and may further include additional transducers 20 . transducers 14 may each include an electrocardiogram electrode , ultrasound transducer , blood pressure transducer , pulse oximetry transducer , or other transducer configured to monitor cardiac activity from a heart beat source and to generate a cardiac signal based on that activity . input / output device 12 includes a port , circuit board , or other circuit configured to receive the cardiac signals from transducers 14 and provide one or more of the cardiac signals to a digital signal processor 22 . digital signal processor 22 is an integrated circuit or other circuit configured to receive analog signals from transducers 14 , digitize them , and detect heart beats on the cardiac signals . digital signal processor 22 includes a processor and program - storage memory to perform these tasks , but may include any necessary circuit elements , such as discrete components , analog components , programmable logic , etc . digital signal processor 22 provides a priority interrupt to a central processing unit 24 ( e . g ., an intel or motorola microprocessor , or other processing circuit ) each time a heart beat is detected . central processing unit 24 runs a heart beat coincidence detection algorithm stored in program memory 26 each time the priority interrupt is received from digital signal processor 22 . the algorithm will be described below with reference to fig2 a and 2b . according to an alternative structure , digital signal processor 22 and central processing unit 24 can be fabricated on one integrated circuit . alternative methods and systems of heart beat detection for both fetal heart beats and maternal heart beats may be utilized in system 10 . system 10 further includes an operator input device 28 including keypads , switches , dials , a touch - screen interface , and / or other devices configured to receive input data from a caregiver or other operator . system 10 further includes one or more output devices 30 , such as , a display 32 , a strip chart device 34 , and / or a communications link 36 coupled to the central processing unit 24 and including any necessary interface circuitry . central processing unit 24 generates output signals , such as display signals , based on the heart beat coincidence detection algorithm stored in program memory 26 and provides these output signals to one or more of output devices 30 . the heart beat coincidence algorithm of fig2 a and 2b is configured to compare the heart beats on two or more cardiac signals and determine whether the heart beats exhibit coincidence . the above matrix illustrates the transducers which may be compared by the exemplary system and method . for example , a fetal electrocardiograph signal ( f 1ecg ) is compared to a maternal electrocardiograph signal ( m ecg ) as indicated by the word “ yes ” in the chart . however , a fetal electrocardiograph signal ( f 1ecg ) is not compared to a maternal blood pressure signal ( m bp ) as indicated by the word “ no ” in the chart . the symbols f 1ecg , f 1us ( fetal ultrasound signal 1 ), f 2us ( fetal ultrasound signal 2 ), m ecg , m spo2 ( maternal pulse oximetry transducer ), and m bp correspond to ports of input / output device 12 configured to receive cardiac signals from corresponding transducers . thus , f 1ecg is not compared to f 1ecg as indicated by the “ x ” since only one port on system 10 is available for this transducer . further , it is noted that the maternal blood pressure sensor is not utilized in this exemplary embodiment for comparison to any other signal . other alternative configurations of this matrix are contemplated , depending on the capabilities of the system . referring now to fig2 a and 2b , an exemplary heart beat coincidence detection method 50 is shown . method 50 is operable in system 10 as software , but may alternatively be operable via discrete circuit elements or other programming elements . at step 52 , cardiac signals on two channels , channel 1 and channel 2 , are monitored . when a heart beat occurrence is detected on one of channels 1 or 2 , the heart beat occurrence is registered and timestamped . hbt 1 and hbt 2 in fig2 a indicate the heart beat timestamps for a heart beat occurrence detected on channel 1 and a heart beat occurrence detected on channel 2 , respectively . when a heart beat occurrence is detected on the other of the two channels , the method proceeds to step 54 . a heart beat occurrence on one of channels 1 and 2 followed by a heart beat occurrence on the other of channels 1 and 2 is referred to hereinafter as a cycle . at step 54 , the method identifies whether the heart beat occurrences on channels 1 and 2 bear a 1 : 1 correspondence . in other words , at step 54 , the method calculates whether the number of heart beat occurrences from one of channels 1 and 2 occurs twice between successive heart beat occurrences in the other channel . if a correspondence of greater or less than 1 : 1 is found , the method proceeds to step 55 . at step 55 , if channel 1 ( representing the fetal heart beat in this exemplary embodiment ) has greater than one heart beat for one heart beat of channel 2 ( representing the maternal heart beat in this exemplary embodiment ), the method proceeds to step 68 . if channel 1 has less than one heart beat for one heart beat of channel 2 , the method proceeds to step 72 ( fig2 b ). alternatively , when the heart beat occurrences indicate greater or less than 1 : 1 correspondence , the method may directly generate a divergence signal , as described below with respect to step 82 . once a cycle of heart beat occurrences is detected and time stamped , times associated with each heart beat occurrence are compared to detect coincidence . the following is one exemplary method for comparing heart beat occurrences to detect coincidence , though alternative methods are contemplated utilizing heart beat occurrences . at step 56 , a time offset ( e . g ., a phase shift ) between hbt 1 and hbt 2 is calculated . next , the running jitter between multiple cycles of occurrences is determined to indicate coincidence or divergence . in this exemplary embodiment , determining jitter between cycles includes keeping a record of the minimum and maximum phase shifts occurring among a plurality of cycles . therefore , the jitter determination assumes multiple cycles over a period of time ( e . g ., a time “ window ”). the time window is a fixed time ( e . g ., three seconds ) in this exemplary embodiment after which the minimum and maximum phase shift variables are reset but may alternatively depend on a cycle count or all cycles during a period of 1 : 1 correspondence . at step 58 , a minimum phase shift variable is updated with the new phase shift provided the new phase shift is smaller than the prior minimum phase shift . at step 60 , a maximum phase shift variable is updated with the new phase shift provided the new phase shift is greater than the prior maximum phase shift . at step 62 , a jitter is calculated by subtracting the minimum phase shift from the maximum phase shift . once the phase relationship has been characterized by phase shift and jitter , this data is used to determine if the heart beat occurrences are representative of coincidence or divergence . maximum jitter and maximum phase shift criteria are applied . thus , at step 64 , the jitter is compared to a maximum jitter threshold ( j ) and the maximum phase shift is compared to a maximum phase shift threshold ( s ). maximum jitter threshold ( j ) and maximum phase shift threshold ( s ) are variable and may be adjusted to tune the algorithm . for example , maximum jitter threshold ( j ) may be set at approximately 100 ms , or as low as approximately 1 ms . in one exemplary embodiment , maximum jitter threshold ( j ) is less than one - half the minimum expected beat - to - beat interval . for example , if the minimum expected beat - to - beat interval is 200 ms ( i . e ., corresponding to 300 beats per minute ), maximum jitter threshold ( j ) is set to one - half of 200 ms , or 100 ms . phase shift threshold ( s ) may be set at approximately 200 ms , or between 1 and 2 , 000 ms . alternatively , ( j ) and ( s ) may be tuned to any value , depending upon the application and such factors as transducer type / cardiac source . maximum phase shift and maximum phase jitter thresholds may be dynamically variable by the algorithm or static . the potential range of the phase shift between channels with signal peaks demonstrating a 1 : 1 correspondence is defined as 0 - 359 degrees , but would generally be expected to be within 180 degrees . in the time domain this could be from 0 to 1999 milliseconds depending upon the period between beats from channel 1 and channel 2 . coinciding heart beats at the low end could occur offset 1999 milliseconds from one another and be 359 degrees out of phase . maximum phase jitter may be defined as a constant or as a variable to the algorithm . one method is to make j a function of the maximum phase shift . for example , j = max shift / 3 . in this example , the maximum allowable jitter for beats to be characterized as coinciding would be 33 %. an embodiment that followed these principles would , first , characterize beats from two channels to be within 359 degrees phase of each other if the beat registry is 1 : 1 . then , within a window of comparison , the jitter , which is evaluated as the difference between the maximum and minimum phase shift , may be qualified characteristic of coincidence if less than 33 % of the maximum . maximum shift may be further qualified in the time domain if so desired , and would be a function which takes into account system latencies , this embodiment is more forgiving of the degree of phase shift , but enforces consistency in the phase relationship by allowing only a minimum in the phase jitter . with this approach the max jitter threshold should not be implemented to exceed 49 %. if the jitter is less than the maximum jitter threshold and the maximum phase shift is less than the maximum phase shift threshold , a coincidence counter is incremented and a divergence counter is decremented at step 66 . alternatively , the coincidence counter is decremented and the divergence counter is incremented at step 68 . as indicated by steps 64 , 66 , and 68 , both an increasing jitter and an exceedingly high phase shift indicate divergence . a steady jitter and a smaller phase shift indicate coincidence . at step 70 the heart beat registry is reset and prepared for registration of a new cycle of heart beat occurrences . at step 72 , a coincidence index is calculated . the coincidence index represents the degree of coincidence or divergence between heart beat occurrences on channels 1 and 2 over a time window which is either fixed or variable , as described hereinabove . in this example , the time window includes all heart beat occurrences in a three second window . the time window may include between 2 and 100 heart beat cycles . at step 72 , the coincidence index may be calculated , for example , as a ratio ( as in this exemplary embodiment ) or as a percentage of cycles which coincide . at step 74 , the coincidence index is compared to coincidence / divergence criteria ( e . g ., a coincidence trigger threshold ( c )) which indicates when a sufficient amount of coincidence or divergence is detected to alert the operator . the coincidence / divergence criteria are variable and may be adjusted to tune the algorithm . for example , coincidence trigger threshold ( c ) may be set at approximately 70 % of cycles being coincident , or approximately 3 coincident cycles to every 1 divergent cycle . alternatively , ( c ) may range between 50 % and 90 %, or may be any other value , depending upon the application and such factors as transducer type / cardiac source . if the coincidence index meets the coincidence / divergence criteria , a timer is started for the respective criterion . if the coincidence index continues to meet the coincidence / divergence criteria over multiple heart beat cycles for a predetermined time period , a signal will be generated to the user to notify the user of coincidence or divergence . in this exemplary embodiment , a coincidence trigger flag is used to implement the timer . at step 74 , if the coincidence index exceeds the coincidence trigger threshold ( c ), the coincidence trigger flag is checked at step 76 to see if it is false . if the coincidence trigger flag is false , at step 78 the coincidence trigger flag is set to true , a coincidence timer is started , and the algorithm returns to step 52 . the coincidence timer may be set to 60 seconds , between 40 and 80 seconds , or any other time , depending upon the application . if the coincidence trigger flag is not false at step 76 , at step 80 the coincidence timer is checked to see if it expired . if not , the algorithm returns to step 52 . if so , a coincidence signal is generated at step 82 and provided to one of output devices 30 . returning to step 74 , if the coincidence index does not exceed the coincidence index trigger threshold ( c ), the coincidence trigger flag is checked at step 84 . if the coincidence trigger flag is true , at step 86 , the coincidence trigger flag is set to false , a divergence timer is started , and the algorithm returns to step 52 . the divergence timer may be set to 5 seconds , between 1 and 10 seconds , or any other time , depending upon the application . if the coincidence trigger flag is not true , at step 88 the divergence timer is checked to see if it expired . if not , the algorithm returns to step 52 . if so , a divergence signal is generated at step 82 and provided to one of output devices 30 . in operation , when the coincidence index exceeds coincidence index trigger threshold ( c ) for a predetermined time ( i . e ., the duration of the coincidence timer ), a coincidence indicia is generated on one or more of output devices 30 . when the coincidence index is below coincidence index trigger threshold ( c ) for a predetermined time ( i . e ., the duration of the divergence timer ), a divergence indicia is generated on one or more of output devices 30 . according to one alternative , a divergence indicia is only provided to output devices 30 if a coincidence indicia was previously provided to output devices 30 . this alternative is particularly advantageous when the strip chart is utilized , since no indicia need be provided to the user when the heart beat occurrences are divergent unless a previous indicia indicated the heart beat occurrences were coincident . referring now to fig3 a chart 89 illustrates the operation of a portion of the heart beat coincidence detection algorithm of fig2 a . a heart beat occurrence on channel 1 is shown at occurrence 90 . a heart beat occurrence on channel 2 is shown at occurrence 92 . the phase shift or time offset between occurrences 90 and 92 is indicated by time period 94 . the x - axis of the chart represents real time in milliseconds ( ms ). in this example , the phase shift between occurrence 90 and 92 is 150 ms , as shown . in operation , the algorithm first updates the maximum and minimum phase shift values with the new phase shift value of 150 ms . a subsequent heart beat occurrence 96 is received on channel 1 , and a further subsequent heart beat occurrence 98 is received on channel 2 . note that 1 : 1 correspondence is maintained between heart beat occurrences on channels 1 and 2 from the first cycle to the second cycle . the phase shift between occurrences 96 and 98 is calculated as 155 ms , indicating a slight difference from the previous cycle . the maximum phase shift is updated to equal 155 ms and a jitter is calculated as 5 ms . further heart beat occurrences on chart 89 indicate phase shifts of 153 ms , 220 ms , 250 ms , and 190 ms and corresponding jitters of 5 milliseconds , 70 milliseconds , 100 milliseconds , and 100 milliseconds . the maximum phase shift and jitter are compared to maximum phase shift threshold ( s ) and maximum jitter threshold ( j ) to determine whether coincidence and divergence counters should be incremented or decremented . the coincidence index is then calculated and compared to the coincidence index trigger threshold ( c ). this occurs over a three second time window . processing continues in accordance with the relevant steps of fig2 b . the output of the algorithm is dependent on the values of thresholds ( j ), ( s ), and ( c ), which may be programmed when manufactured , may be updateable , and may also be adjusted by the operator via operator input device 28 to give the operator control over the sensitivity . referring now to fig4 a screen display 100 is shown . screen display 100 is generated by display 32 ( fig1 ) in response to display signals provided by central processing unit 24 . additional graphics cards or alternative circuitry may be implemented . screen display 100 includes an indicia 102 ( e . g ., the text “ hbc ”) indicating that the heart beat coincidence feature is currently operational . at step 82 of the heart beat coincidence algorithm ( fig2 b ), the algorithm generates a display signal which is one of a coincidence signal , a divergence signal , or no signal . display 100 indicates that a coincidence signal is received by displaying heart rates for channels 1 and 2 in inverse video at indicia 104 and 106 . other indicia may be used to indicate coincidence , such as , two side - by - side hearts , the text “ coincidence detected ”, an audible tone , other indicia , or some combination thereof . divergence is indicated in this example by ordinary ( i . e ., non - inverse ) video , but may be indicated by a different indicia or by no indicia . referring now to fig5 a portion 110 of a strip chart is shown . portion 110 is generated by strip chart device 34 ( fig1 ) in response to signals provided by central processing unit 24 . additional graphics cards or alternative circuitry may be implemented . portion 110 includes an indicia 112 ( e . g ., the text “ hbc ”) indicating that the heart beat coincidence feature is currently operational . indicia 112 is printed periodically ( e . g ., every 30 minutes ), but may alternatively be printed only once . at step 82 of the heart beat coincidence algorithm ( fig2 b ), the algorithm generates a display signal which is one of a coincidence signal and a divergence signal . strip chart device 34 indicates that a coincidence signal is received by printing a coincidence indicia 114 ( e . g ., two overlapping heart icons ). other indicia may be used , such as , the text “ coincidence detected ”, an audible tone , or some combination thereof . divergence may be indicated by a different indicia , such as indicia 116 ( e . g ., two non - overlapping heart icons ) or by no indicia . indicia 116 indicates that the coincidence was resolved . coincidence indicia 114 and divergence indicia 116 may be printed periodically to approve the current status , or may be printed only when the status changes . according to a further advantageous feature , the coincidence or divergence status may also be output via communications link 36 . while the embodiments and application of the invention illustrated in the figures and described above are presently preferred , it should be understood that these embodiments are offered by way of example only . for example , alternative algorithms may be employed to compare the heart beat occurrences . further , the method steps presented may be employed in a different order . accordingly , the present invention is not limited to a particular embodiment , but extends to various modifications that nevertheless fall within the scope of the appended claims .
a method of detecting heart beat coincidence includes receiving first and second signals from first and second heart beat sources . the method further includes detecting first heart beat occurrences on the first signal , each first heart beat occurrence having a respective time associated therewith and detecting second heart beat occurrences on the second signal , each second heart beat occurrence having a respective time associated therewith . the method further includes comparing the times of the first and second heart beat occurrences to detect coincidence .