referring to fig1 through 3 , there is shown in schematic form a model of how the heart behaves during sinus rhythm , tachycardias and during ventricular fibrillation , respectively . in fig1 a ventricular section of the heart is identified by the numeral 10 in which or on which two distinct catheters 12 and 14 have been implanted . catheter 12 has an electrode e 1 in contact with the heart tissue while catheter 14 has a corresponding electrode e 2 . schematically representing the sinus node or the supra - ventricular source is a master clock 16 which provides regularly occurring timing pulses which are distributed to various points in the heart , via the cardiac conduction system , represented by the delay paths 18 , 20 and 22 . the dotted line arcs as at 24 represent the propagation of the cardiac cell depolarization fields , finally impinging on the sensing electrodes . each of the electrodes e 1 and e 2 senses the composite depolarization activity from all over the heart , but the effect of each specific cellular depolarization field depends on the distance to each electrode and its relative timing . because the position of the two electrodes is different and because the orientation of the electrode relative to its indifferent electrode may also be different , the resulting signal waveforms 26 and 28 picked up by the electrodes generally will have differing morphologies during sinus rhythm . the qrs signals picked up by the electrodes in fig1 are a composite projection of a consistent pattern of cellular electrical activity , schematically represented as being triggered through a system of fixed delays by each pulse of a common clock . while these signals may appear quite different on the two leads , they are substantially coherent in the sense that there is a persistent linear relationship between them . the qrs on the lead 12 may , therefore , be deduced from that on the lead 14 , and vice - versa , by a linear process or transfer function . convolving one signal with a filter derived from the transfer function will reproduce the other signal . with respect to fig2 there is a similar depiction of the heart 10 during an episode of ventricular tachycardia . in comparing fig1 and 2 , the chief distinction is that a different pattern of delays times the cellular depolarizations , depicted by a shift in the master clock 16 position . ( the positions shown have no specific significance other than to indicate a change in timing .) thus , in stable monomorphic vt , all cells are driven by a master clock through a different pattern of delays than those which persist in sr . the qrs morphology on each of the leads 12 and 14 , in general , appears different from their observed counterparts during sinus rhythm , which is a result of the change in the depolarization sequence . however , the two signals are , again , substantially coherent , but with a different linear relationship reflecting the altered cellular depolarization order , or delay pattern . therefore , a different transfer function is required to convert the signal on one lead to that on the other . the similarity between sinus rhythm and ventricular tachycardia is that each cardiac cell depolarizes once , and only once , during a cardiac cycle . however , the timing is no longer controlled by the purkinje system , but by the relative distance from the ectopic focus that is stimulating the ventricular tachycardia . as with sinus rhythm , in ventricular tachycardia , a consistent pattern of delays and attenuations prevail , but a different timing pulse period go into the master clock 16 and a different system of delays and attenuation exit the master clock . the important thing to note is that with ventricular tachycardia a consistent linear process exists between the two electrodes and a transfer function relating the two signals to one another can be estimated . fig3 is intended to depict the gradual breakdown which occurs when progressing into a ventricular fibrillation . the schematic illustration depicts the heart as being controlled by a number of subclocks , each controlling a small domain within the heart and these domains may , in effect , run at different rates as illustrated by the different timing pulse patterns 30 , 32 , 34 shown as entering the subclocks 36 , 38 and 40 . it is found that these rates may also change in an inconsistent and continuous fashion . because of relative tissue proximity , each lead is dominated by electrical activity under control of a different clock . as such , the net result of electrodes e 1 and e 2 in fig3 is that they sense cardiac activity over the entire heart , but the spacial decorrelation manifests itself as a temporal decorrelation on leads 12 and 14 . a consistent transfer function no longer exists between the leads due to the face that the system of subclocks are clocking rates as well as attenuations and delays is changing in a continuous and inconsistent fashion . thus it can be seen that estimating the transfer function offers a means for discriminating between tachyarrhythmias . the transfer function , once determined , generates an accurate replica ( estimate ) of the signal on one lead from that on the other , which can be subtracted from the reference to form a null for stable rhythm . a filter tuned to produce a null to sinus rhythm will also null svt , since the depolarization sequence has little dependence on rate in a healthy heart . monomorphic vt is also sufficiently stable to produce a null by this means . however , a filter tuned to null sinus rhythm or svt will not , in general , null vt . the converse of the latter statement is also true . since the relationship is constantly changing , it is not possible to null vf consistently . failure to produce a stable transfer function is a hallmark of vf . moreover , filters tuned to null sr or vt will both produce an error output in the presence of vf . it has been stated that the complex ratio of fourier transforms of the signals on the two leads produces a result which resembles a transfer function , but does not carry with it the idea of persistence . there are , however , techniques for estimating a transfer function in which such a ratio is calculated for each of many adjacent intervals . the separate coefficients are then allowed to average , or adapt , to their final result by averaging over all the intervals . while implementable on a general purpose computer , this is a formidable task for an implantable device . the lms estimation technique was chosen because it is simple computationally and , therefore , more suited to an implantable device . while it has shortcomings relative to the more general technique , these shortcomings do not prevail in this application . in accordance with the present invention , ventricular activity is sensed on two separate endocardial leads , e . g ., a right ventricular apex bipolar lead and a right ventricular multi - ring catheter . the signals are applied to a variable transfer function , lms filter of the type described by bernard widrow et al in a paper entitled &# 34 ; adaptive noise cancelling : principles and applications &# 34 ;, proc . ieee , vol . 63 , vec . 1975 . more particularly , and with reference to fig4 numeral 42 again refers to a schematic representation of the heart with a multi - electrode lead 44 positioned in the right ventricle chamber and having a tip electrode e 1 at the right ventricular apex and ring electrodes e 2 and e 3 positioned proximally to effect primarily local near field activity between e 1 and e 2 and primarily global far field activity between e 1 and e 3 spaced - apart locations . conductive wires running through the body of the lead 44 connect electrodes e 1 and e 2 to a first differential amplifier 48 while conductors couple electrodes e 1 and e 3 to a differential amplifier 50 . adopting the designations utilized by professor widrow in the above - cited references , the output from the differential amplifier 48 comprises the input signal vector =[ x 0k , x 1k ... x . sub . ( n - 1 ) k ], to the lms adaptive filter 52 , wherein k is the time index . the signal emanating from differential amplifier 50 is defined as the desired signal d k and is applied to a summing node 54 along with the output from the lms adaptive filter 52 . the output from the adaptive filter 52 is the &# 34 ; estimate &# 34 ; signal y k . the output from the summation node 54 then comprises the error signal e k that is the difference between the desired or reference signal d k and the estimated siganl y k . also depicted in the block diagram of fig4 is a correlator 56 which receives as its inputs the desired signal d k and the estimate signal y k and yields the output ( 1 - r ), where r is the correlation coefficient . when the leads are detecting sinus rhythm and the filter has locked onto that , the correlation coefficient r is high , and the output from the correlation channel , ( 1 - r ), is low ( zero ). during vf , however , the estimate y k poorly approximates d k . therefore , r is low and the ( 1 - r ) output will go high . to better understand the fibrillation detection system of fig4 that figure also includes signal traces corresponding to data taken from a human patient undergoing cardiac electrophysiology laboratory procedures . because of the particular lead arrangement , the two channels have substantially parallel electrical vectors with common local components from electrode e 1 and with the desired channel incorporating differential amplifier 50 receiving a stronger global contribution . an examination of the waveforms of the outputs from the differential amplifiers 48 and 50 reveal that the two channels exhibit substantial morphologic similarity particularly during sinus rhythm . the low residual error signal e k is indicative of sinus rhythm and indicates a stable transfer function . the lms adaptive filter algorithm can be implemented using analog to digital converters and a programmed microprocessor for computing the various parameters . using state - of - the - art technology , it is thought that the technique can be adapted to implantable devices . having described in general terms with the aid of fig4 the adaptation of the lms adaptive filter to the discrimination between sr , vt and vf , it is believed helpful to a complete understanding of the present invention to set out in greater detail the implementation of the lms adaptive filter . in this regard , reference will be made to the block diagrams of fig5 and 6 . fig5 is an aid to understanding the lms algorithm when functioning in its filtering mode while fig6 pertains to operation in the up - date mode . when functioning in the filtering mode ( fig5 ) it behaves as a regular finite impulse response ( fir ) linear filter and the vector equation for that can be represented as : in the above expression , k is a time index , e k is the error signal at time k , d k is the instantaneous value of the desired signal at time k , x k is the input signal vector which is convolved with a weight vector w k and which indicates that the weights adapt over time to form an output signal y k which is an estimate of the value of d k at the time k . following the calculation of the vector quantity d k and w k , the weight vector is updated from w k to w k + 1 by the up - date algorithm represented as &# 34 ; u &# 34 ; in fig6 . the up - date algorithm can be represented by the equation : where μ is the adaptation time constant . by way of further explanation , if there are , for example , 32 weights which comprise w k , they may be identified as w 1k , w 2k . . . w nk on out to 32 , implying that these are the values of the 32 weights at time k . similarly , the input vector signal x k , which is the input signal at time k , will also have 32 values , i . e ., the values at time k , the immediate moment , plus the value at time k - 1 , k - 2 , etc ., going back 32 sample spaces . the summation of those products is the filter output , y k , which is subtracted from the immediate signal value d k to form the immediate error response e k . this error response is both the signal output from the adaptive filter system and the feedback to the updating equation for the weight vector ( fig6 ). with reference to fig5 the boxes labeled z - 1 represent unit delays between the elements of the input signal while the weights w 0k , w 1k are represented by the circles immediately below the unit delays . the individual products are summed at 58 to form the output signal y k . this signal is , in turn , summed with the desired signal d k at 60 to form the error signal e k at its output . the error signal is fed back via path 62 for updating the weight vector . referring now to fig6 there is shown the means by which the weight elements of the filter of fig5 are updated in response to the value of the error signal . understanding that a new error output occurs each time a new element of the input signal vector is sampled , the weight up - date operation also may occur as often as each new sample arrives , but it takes place between the calculations for the filter output . thus , a new filter output is first calculated to form the error signal and tht is followed by using that error signal to calculate a new set of increments to add to the weight vector to up - date the weight elements of the filter with the process continually repeating until a point of maximal adaptation has been reached . the updated weight elements w 0k + 1 , w 1k + 1 , etc ., represent the summation of the prior weight values w 0k , w 1k with the product of the current value of the error signal , e k and the input signal vector samples . the convergence value , μ , is a scaler quantity in the range of from 10 - 4 to 10 - 12 depending upon the specific application for the adaptive filter . the value of μ affects the rate at which the system will converge . having explained in detail the computational algorithm for implementing the lms adaptive filter , consideration will next be given to the manner in which the lms algorithm can be utilized with other conventional techniques in tachyarrhythmia discrimination . in this regard , reference is made to fig7 . it shows the outputs of several lms filters and rate classifiers as inputs to a &# 34 ; truth table &# 34 ; which determines the rhythm . the output of an lms filter is shown as &# 34 ; 0 &# 34 ; when the rhythm for which it is tuned is present , or , for continuous adaptation , when the rhythm is sufficiently stable to permit convergence . as an example , a &# 34 ; 1001 &# 34 ; pattern shows &# 34 ; 1 &# 34 ; for sinus rhythm filter ( rhythm is not sr ), a &# 34 ; 0 &# 34 ; for the primary vt filter ( specific to primary vt ), a &# 34 ; 0 &# 34 ; for the adaptive filter ( rhythm is stable enough to permit convergence ) and a &# 34 ; 1 &# 34 ;, indicating rate is in the tachycardia range . taken together , these responses indicate primary monomorphic vt . similarly , if lms 1 produces a null output while lms 2 does not , and the rhythm is stable such that the lms 3 filter converges , and the rate is high , supraventricular tachycardia is indicated . the other truth table entries shown in fig7 define other modalities . fig8 ( a ) and 8 ( b ) together comprise a flow chart of the program executable in a general purpose digital computer to implement the adaptive filtering and control whereby fibrillation and tachyarrhythmias discrimination can be achieved . for ease of explanation , the software is partitioned into an inner loop and an outer loop , the inner loop being shown in fig8 ( a ) and the outer loop in fig8 ( b ). the operations performed in the inner loop are initiated by the generation of an interrupt which is occasioned by the outputs from a sample clock or timer in the microprocessor hardware . this sample clock oversees the digitization process by the a - to - d converter , which may typically comprise a sample - and - hold circuit used to periodically capture the magnitude of these analog signals on the endocardial leads positioned within the right ventricle . when the sample - and - hold circuit is triggered to capture a new value , an interrupt is generated to the microprocessor causing the main control program to shift to the inner loop which then executes as an interrupt driven subroutine . block 60 represents a vectored interrupt stimulated by the sampling clock . in accordance with standard interrupt procedure , as indicated by block 62 , when the interrupt is true , the values contained in various registers in the microprocessor are stored so that when the interrupt subroutine is completed , control can return to the point in the program where it left off at the time that the vectored interrupt occurred . for example , the contents of the program counter and other operational registers are stored temporarily . once this operation has been performed , the operations , identified in block 64 are executed . specifically , a new sample of the input signal following its conversion from analog - to - digital form is brought into the microprocessor and stored away in a memory so as to become accessible to the arithmetic / logic portion of the microprocessor . in that in the present application , many samples of input data are simultaneously stored , it has been found convenient to utilize a so - called circular buffer , again , in accord with standard software techniques . it is to be recognized that the buffer needs to hold as many samples of the digitized input data as there are weights on the adaptive filter and these weights must periodically be updated . using a circular buffer , the address pointer is used to address the part of the circular buffer where the next sample is to be stored or where the next sample is to be fetched for performing an arithmetic operation . as represented by block 66 , the next operation in the inner loop is to calculate the lastest filter output , y est where y est , at time t , is equal to the summation over the range of i = 1 to k of the products of the current weights w i ( t ) and x i ( t ), the current data input value . when it is considered that the index , i , can be the address in the circular buffer referred to by the pointer , it can be seen that if the weight values are stored at sequential locations in the buffer , they may be read out in synchrony with the input samples contained in a like buffer similarly addressed but with an address offset and presented to the arithmetic logic unit where the sum of the products operation set out in box 66 of fig8 ( a ) is carried out . the computed result , y est ( t ) is the &# 34 ; estimate &# 34 ; output from the lms filter 52 ( fig4 ). following the calculation of the latest filter output as represented by block 66 in the flow diagram , a test is made at 68 to determine whether the weights are to be updated . in performing this decision , a test is made of a flag which is either in a set or a cleared condition depending upon the control exercised by the external program . for example , if the flag always remains set , the weights will be updated each time the filtering operation is executed . if the signals x k and d k are sufficiently stable , computation time may be saved by setting the &# 34 ; update weights &# 34 ; flag only periodically , say every tenth sample or , alternatively , it may be set in response to some external condition , such as a rapid transition in heart rate from sr to vt . assuming that the flag is set and that the weights are to be updated , the operation , for which the fortran &# 34 ; do &# 34 ; statement in box 70 is illustrative , is carried out by the microprocessor . following that , the storage location pointers for the input circular buffers are updated and the sample flag for the outer loop is set ( block 72 ). finally , as represented by block 74 , the program exits the interrupt routine once the program counter and other registers whose contents had been stored in the operation of the block 62 have been restored their appropriate registers . this completes the inner loop subroutine . the outer loop depicted in fig8 ( b ) depicts the software operations which are primarily &# 34 ; housekeeping &# 34 ; in nature . at the time that the system of the present invention is put into operation , a step referred to as &# 34 ; full initialization &# 34 ; ( block 76 ) is carried out . it is at this time that certain parameters are initially loaded into memory or holding registers associated with the microprocessor . for example , such things as adaptation time , bandwidth and the number of weights in the filter are established . following that , once the system is brought into operation , the &# 34 ; sample flag &# 34 ; is evaluated to determine whether a new sample is available from the a - to - d converter . this test is represented in the flow diagram by block 78 . it will be recalled that it was during the operations represented by block 72 in the inner loop subroutine of fig8 ( a ) that the &# 34 ; sample flag &# 34 ; for the outer loop was set . if no new test sample is available , the outer loop goes into a wait mode until such time as a new sample is available . at that time , the operation represented by block 80 in fig8 ( b ) is carried out . specifically , a test is made to determine whether the absolute value of the error plus the absolute value of the estimate is much greater than the absolute value of the desired signals ( fig4 ). if so , it is an indication that the filter is no longer stable indicative of a problem requiring reinitialization . when it has been determined that the system has lost stability , further interrupts to the inner loop are locked out and the system is reinitialized ( blocks 82 and 84 ). in partial initialization , typically the tap - weights for the filter will be reloaded from memory in the pattern indicating convergence to sinus rhythm . where it is determined that the filter is stable , the sequence progresses to block 86 which is the operation of &# 34 ; automatic gain control &# 34 ;. since in accordance with the lms adaptive filter algorithm , the &# 34 ; error &# 34 ; is equal to &# 34 ; desired &# 34 ; minus &# 34 ; estimate &# 34 ;, it necessarily follows that the &# 34 ; error &# 34 ; plus the &# 34 ; estimate &# 34 ; is equal to the &# 34 ; desired &# 34 ; signal . now , by normalizing , i . e ., dividing through by the &# 34 ; desired &# 34 ; signal for every sample point , two fractional values are obtained , one for the &# 34 ; error &# 34 ; and one for the &# 34 ; estimate &# 34 ;, and their sum is always equal to unity . as previously described , where there is a perfect accommodation to the input signal , substantially all of the energy will be in the &# 34 ; estimated &# 34 ; signal such that when the &# 34 ; estimated &# 34 ; signal is subtracted from the &# 34 ; desired &# 34 ; signal , the &# 34 ; error &# 34 ; signal has essentially zero energy . if then it is later determined that there is substantial energy in the &# 34 ; error &# 34 ; signal relative to the &# 34 ; estimate &# 34 ; signal , one of three situations are indicated . first , the heart may be in a transition between rhythms . secondly , it may have happened that the filter has diverged and is no longer operating properly . the third and most probable event is that ventricular fibrillation is involved precluding the lms adaptive filter from accommodating the continuously changing vector characteristic of ventricular fibrillation . the stabilized outputs ( desired , estimate , error ) are processed for pulse detection , beat - to - beat interval and variation and interchannel pulse coincidence . during stable rhythms , the &# 34 ; estimate &# 34 ; will coincide with the &# 34 ; desired &# 34 ;, and the &# 34 ; error &# 34 ; output will be below some predetermined threshold . during transistions between stable rhythms , the error output will be pulsatile and above that threshold . during unstable rhythms , e . g ., vf , the &# 34 ; error &# 34 ; output will be above threshold and there will be asynchrony between the &# 34 ; desired &# 34 ;, the &# 34 ; estimate &# 34 ; and the &# 34 ; error &# 34 ; channels . the operation indicated by block 88 indicates the necessity of keeping track of the duration of the period in which the &# 34 ; error &# 34 ; signal approaches or exceeds the threshold and , in this regard , a clock register in the microprocessor is utilized . a counter is also used to keep track of how many pulse may occur during a given length of time . the thresholds , counts and clocks thus need to be periodically updated when it is considered that the system of the present invention is utilized for detecting shifts in rhythms over extended time periods . finally , once a determination as to the nature of the rhythm involved has been determined , the microprocessor sets one or more &# 34 ; state &# 34 ; flag ( block 90 ) so that this information becomes available to an external device to be controlled , such as , a defibrillator or a pacemaker . this invention has been described herein in considerable detail in order to comply with the patent statutes and to provide those skilled in the art with the information needed to apply the novel principles and to construct and use such specialized components as are required . however , it is to be understood that the invention can be carried out by specifically different equipment and devices , and that various modification , both as to equipment details and operating procedures , can be accomplished without departing from the scope of the invention itself . in particular , those skilled in the art will realize that the invention can not only be practiced using a programmed digital computer , but also can be implemented using special purpose digital logic devices ( hardware ).
a tachyarrhythmia / fibrillation detector in which the widrow - hoff lms algorithm is utilized for estimation of a transfer function . one or more lms cancellers are placed between two separate sensing electrode pairs placed in or on the heart and by noting the convergence of the error signal or the lack thereof the type of tachyarrhythmia or a ventricular fibrillation condition can be discerned . with sinus rhythm , the error signal is small in power compared to the power of the desired response . with ventricular fibrillation , however the filter weights are unable to converge to cause the filter output signal to track desired signal and the filter output waveform becomes asynchronous with the desired response , yielding a detectably high error power .