CA2163103C - Method and apparatus for communicating data between medical devices to improve detectability of errors - Google Patents

Method and apparatus for communicating data between medical devices to improve detectability of errors Download PDF

Info

Publication number
CA2163103C
CA2163103C CA002163103A CA2163103A CA2163103C CA 2163103 C CA2163103 C CA 2163103C CA 002163103 A CA002163103 A CA 002163103A CA 2163103 A CA2163103 A CA 2163103A CA 2163103 C CA2163103 C CA 2163103C
Authority
CA
Canada
Prior art keywords
data
block
data values
values
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002163103A
Other languages
French (fr)
Other versions
CA2163103A1 (en
Inventor
Randolph K. Armstrong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intermedics Inc
Original Assignee
Intermedics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intermedics Inc filed Critical Intermedics Inc
Publication of CA2163103A1 publication Critical patent/CA2163103A1/en
Application granted granted Critical
Publication of CA2163103C publication Critical patent/CA2163103C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • A61N1/37252Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
    • A61N1/3727Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data characterised by the modulation technique
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control

Abstract

A method and apparatus for processing data to be communicated between an implantable medical device and an external medical device to improve detectability of communication errors. An encoded block of data including message data and redundant data is processed by converting alternating data values of either the message data or the redundant data to respective complement data values. The altered block of data is communicated using relative pulse position modulation. The combination of alternating original and complement data with relative pulse position modulation (RPPM) takes advantage of the opposing adjacent errors characteristic of RPPM to decrease the probability of communication errors occurring in combinations that are undetectable by the decoding of the block of data.

Description

~) 94/28968 21 6 31 0 ~ PCT/US94/06201 Ml THOD AND APPARATUS FOR COMMUNICATING DATA BETWEEN
MEDICAL DEVICES TO IMPROVE DETECTABILITY OF ERRORS

Technical Field The present invention generally relates to redundant data encoding schemes and data commu,,icdliu,, modulation scl,er"es and more particularly to a method and apparatus for communicating data between an implantable 5 medical device and an external medical device that improves detectability of communication errors.
Background Art There are many applications in which it is il~ olldlll to provide data communication that is s~hst~ntially error-free. One such a~ lic~lion is the 10 programming of an implantable medical device such as a cardiac stimulator which might be a pacel"aker or a defibrillator for example. Such devices are often proy, d, l ll l ,ed via an external medical device known generally as a proyrdrl " "er that includes a wand that can be located in proximity to the cardiac stimulator to establish a non-contacting communication link with the cardiac 15 stimulator. The communication link can involve a Lldns,,litLed elecL~omagnetic signal that is modulated in accor-lance with the data to be communicated. The commu"icaLio" link requires an e~L,t:",ely high degree of reliability since any information going into the car~iac stimulator has the pote nLial to i" " "e.JidLely alter the therapeutic pel ror",a"ce of that device.
When comm~, licdLil ,~ rO~" IdLiol ~ to or from an impla"Ldble medical device it is a common practice to e"code the information in a way that will incl ease the probability that errors in t, dl ,s" ,ission will be detected. Theencoding involves adding redundant informdLiol ~ to the original mess~e i"rorl"aLion to create coded i"ror"~dLion. In implantable medical devices the 25 mos~ common type of encoding is a block code where discrete packets of mess~ge information are encoded and the coded i"ror",aLion is trdnsr"iLLed in discrt:Le blocks.

.
WO 94/28968 ' ~ --2-- PCT/US94/06201 When using a block code, the usual method for increasing the probability that errors will be detected is to increase the amount of redundant inro~"laLion.
The disadvantages of this are a proportional increase in communication time and an increase in encoder/decoder hardware complexity to accommodate the larger 5 block code size.
One known comm~"1icaLion modulation lecl " ,i~ue is pulse-position-mo~ tion (PPM). In PPM, pulses are L,~"s",iLLed and i~rum~aLion is e"cG-Jecl as the time between a syncl,ror,i,aLion pulse and an information pulse. A
derivative of PPM is relative-pulse-position-modulation (RPPM). In RPPM, 10 i"rur",aLion is encoded as the time interval between an i"ro"lltlLiol1 pulse and the immediately preceding inror",~Lion pulse.
In order to convey information in RPPM, the time position of each pulse must fall within a predefined window of time having a duration T that is locatedrelative to the preceding pulse. The time window of duration T is divided into M15 time segments, each having a duration T/M. A pulse occurring in a particular one of the time segments is considered to represent a corresponding particular piece of information. In a binary RPPM system, M = 2 and the two time positions represent the binary values 0 and 1. In a 4-bit nibble RPPM system, M
= 16 and the 16 time positions represenL the 4-bit binary values 0000 through 20 1111, which can also be expressed as decimal values 0 through 15.
In RPPM communication systems, errors will ",ar~iresL themselves as (a) additional pulses, (b) missing pulses, or (c) time-shifted pulses. Pulses occurring O! nri~le of the predefined time window T will be classified as range errors and will be detected by reception hardware prior to error detection decoding. The 25 responsibility of the error detection decoding is then limited to detecting those errors, primarily pulses that are time-shifted within time window T, that are not detected by the reception hardware.
In RPPM communication systems, time-shifted pulses will cause opposing adjacent errors in the data. An error which shifts the time position of a pulse one 30 time segment T/M too late will result in the preceding interval being decoded as a value one greater than cor, ~:cL, and the subsequent interval will be decoded as a value one less than correct. As an example, assume a block of four sequential ~) 94/28968 PCT/U594/06201 nibbles with values of 13 10 3 and 7 is transmitted. The first two nibbles are defined by three sequential pulses. If the second pulse is time-shifted to causethe first nibble to appear as 14 the second nibble will appear as 9. The remaini~ ~ nibbles would not be affected by the single pulse position error. In this 5 example, a single pulse-position error results in opposing adjacent errors in the sequential data in that the first data value appears greater than the cor, ecL value and the second a~jace"L data value appears smaller than the cor,ect value.
Prior art standard block code does not exploit the opposing adjacent errors characLe,isLic of RPPM for error detection. For example assume a 10 standard block code where the redundant information is the cor",ulement of the mess~e i"~or"~aLion according to the following table.
Original Data Complement Data Binary Decimal Binary Decimal 30 A single pulse-position error in the pulses conveying the ",essage data will affect two mess~ge data nibbles due to the opposing adj~cent errors charat;L~:risLic of RPPM. A single pulse-position error in the co"es~,ot,ding pulses conveying the redundant data can affect two redundant data nibbles in a direction opposite to that of the first error so as to make the errors in the 35 block undetectable. For example a 4 nibble message may be 13 10 3 7, and the resulting block code (message + colr,~.lement) would be WO 94/28968 ~3 PCT/US94106201 13, 10, 3, 7, 2, 5, 12, 8.
A single pulse-position error in the second pulse such that the pulse is detected one T/M intervai too late would create the code 14, 9, 3, 7, 2, 5, 12, 8 5 which would be dele~ !e as an error since the first two mess~ge elements 14 9 would fail a comparison with their co",,~ler"e"L redundant ele,ne"l~ 2, 5.
However an additional error in the sixth pulse such that the pulse is deLec~e-l one T/M interval too soon would create the code 14, 9, 3, 7, 1, 6, 12, 8 10 which would be an un~lecla~,le error. The first two message elements 14, 9 would pass a co~ a,ison with their complement redundant elements 1 6.
Thus two pulse-position errors occurring in an eight element block could result in data errors that are undetect~h'E. The likelihood of this error combination is the same as that for a similar pulse posi~ior, morll ~ e~ system which does 15 not have the PI~si"y adjacent errors characteri~ic.

D~sclos-~re of ll~r~..liu.l The presel ll invention involves processi"y of redundant encoded block code to take advantage of the phenomenon of or)rosing adj~^ent errors in relative pulse position modulation systems to improve detectability of 20 communication errors. The result is i"c~eased error deleclion ~ elrurmance with no i~cfease in the block code size.
In acco,da,1ce with one aspect of the present invention a method of processing data to be communicated between an i,npla"lable medical device and an external medical device to improve detectability of communication 25 errors is ~.resel ,led including the following steps performed in at least one of the implantable and external medical devices. A first block of data is generaled including a mess~ge data portion and a redundant data portion, with the mess~Je data po, liol I including a pluralitv of " ,ess~e data values and the redundant data portion including at least one redundant data value having 30 a predefined redundant relationship to at least one of the plurality of mess~De data values. The first block of data is altered by converting alternating data ~0 94128968 21 631 03 PCT/US94/06201 values of at least one of the data portions of the first block of data to respective complement data values. A signal is generated including a sequence of relative pulse position modulated pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse that is 5 represe"L~Iive of a corresponding one of the data values of the altered block of data.
In accordance with another aspect of the present invention, in a medical device, a communications circuit is provided for processing data to be communicated for improved detectability of communication errors. The 10 communicaliG"s circuit includes a block encoder adapted and configured to receive data to be processed and to encode a portion of the received data into a first block of data including a message data portion and a redundant data portion. The message data portion includes a plurality of message data values and ~he redundant data portion including at least one redundant data value 15 havirrg a predefined redundant relationship to at least one of the plurality of message data values. A data converter is provided that is adapled and configured to receive the first block of data from the block encoder and alter the first block of data by converting alL~r"~Li"g data values of at least one ofthe data portions of the first block of data to respective complement data 20 values. A signal generator is adapted and configured to receive the altered block of data and generate a signal including a sequence of relative pulse position modulated pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse that is representative of a corresponding one of the data values of the altered block of data.
In accordance with yet another aspect of the present invention, in a medical device, a communications circuit is provided for processing data that has been communicated for improved detectability of communicalio" errors.
The communications circuit includes a signal decoder adapted and configured to receive a signal including a sequence of relative pulse position mor~u'~te~
30 pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse, and to decode the signal to generate a block of data including a plurality of data values wherein each data value is wo 94,28g68 ~,~ 6~ PCT/US94/06201~

representative of a corresponding one of the time intervals the block of data including a mess~ge data ~.o, Lio" having a plurality of message data values and a redundant data portion having at least one redundant data value wherein al~el, laLing data values of at least one of the data portions of the block 5 of data are encoded as co,ll~!e.llent data values of original data values. A
data converter is adapted and configured to receivc the block of data from the signal decoder and alter the block of data by converting the encoded allt r"aliny data values to respective co, I l~,le m enl data values ll ,erel~y reslori"y putative original data values. An error detector is adapted and configured to 10 receive the altered block of data from the data converter and compare data values of the message data portion to data values of the redundant data portion to determine whether the mess~ge and redundant data values are related according to a predetermined redundant reldlio, Iship ll ,erel,y providing rletection of communication error.
15It is an object of the presenl invention to provide an improved ",ell,od of communicating data between medical devices that provides for increas~J
~etectability of communication errors.
Other o~ ts and advantages of the prese, ll invention will be a~ pare, from the desc,i~lio"s below and the drawings to which they refer.

Brief Description of Dr.. ~r ;r,~s FIG. 1 is a block diaylarll of an external medical device configured in accordal,ce with the preselll invention.
FIG. 2 is a schematic diagram of the data converter of the block diagram of FIG. 1 constructed in accorda"ce with the presenl invention.
25FIG. 3 is a block dia~JIam of an i""~la"lal)le medical device configured in accorda~ ,ce with the ~rese, ll invention.

Best Mode for Carrying Out the Invention In accordal ,ce with the method of the present invention the invention involves allt:r"ali"g the polarity (between normal and complement) of the 30 redundant information in a coded block of data to be communicated by a train O 94~28968 2163103 PCT/US94/06201 of relative pulse position modulated pulses, to exploit the opposing adjacent errors characteristic. By alternating the redundant i, 1ror, n~lio" between normal and complement on an interval-by-interval basis, a single pulse-position error in the message information will not be rendered undetectable by a 5 cor, e~uonding single pulse-position error in the redundant information. Recall that the o~,uosi"g adjacent errors characteristic ca~ ~ses single errors to affect a~ cellL intervals in opposite di,eclioils. If the redundant i"~or",a~iol, is inver~ed every other interval, a single error in the redundant information will cause adjacent errors to be in the same direction, thereby ensuring a 10 detectable error. For example, using the same 4 nibble message as in the previous example, the resulting code (message + alternating norrrlal/complement) would be:
13, 10, 3, 7, 13, 5, 3, 8.
A single error in the second pulse such that the pulse is detected one T/M
15 inter~al too late would result in the code:
14, 9, 3, 7, 13, 5, 3, 8 which would be detectable as an error since the first two message elements 14, 9 would fail a comparison with their redundant elements 13, 5. An additional error in the sixth pulse such that the pulse is detected one T/M
20 inter~al too soon would result in the code:
14, 9, 3, 7, 12, 6, 3, 8 which again would be detectable as an error since the first message element 14 would fail a comparison with its redundant element 12, even though the second message element 9 would not fail a comparison with its redundant 25 complement element 6.
While this method does not completely eliminate the possib-.'ty of undetectable errors, it reduces their probability by extending the effects of errors onto neighboring message elements. Using the previous example, two additional errors, for a total of four errors in a block of eight elements, would 30 be required for the errors to remain undetectable. An a.Jdilio,lal error in the fifth pulse such that the pulse is detected two T/M intervals too soon and in the ninth pulse such that the pulse is detected two T/M intervals too late would WO 94/28968 216 3 10 3 PCT/US94/06201~

result in the code:
14, 9, 3, 5, 14, 6, 3, 10.
This combination of errors in one coded block would be undetectable.
The method of the invention has been illustrated above in the co"Le~l 5 of one type of redundant block encoding, but it should be appreciated that the principles of the invention can be applied to other redundant encoding schemes. An important principle of the invention is the inversion of ~ljncent data values prior to l,ans,nission of the data in a relative pulse positio modulated signal. This inversion may be applied to any block code, but the 10 choice of which portions of the block code to invert will depend upon the nature of the redundant encoding scheme, as described further below.
In conLI asL to the examples given above, there are block codes that do not have a one-to-one correspondence between message data values and redundant i"rur",alio" data values. An example of such a block code is a 15 parity code. In a parity code, the redundant i"ror",alion is the modulo-sum of the message data. For example, a parity block code a, b, c, d, e may have message values a, b, c, and d, and redundant information value e where e = a~3bç3c~3d and ~ represents the modulo-sum operator. An example of such a parity 20 block code using 4-bit nibble data values is:
15, 2, 8, 9, 2.
In an RPPM signal lral)srllillillg this parity block code, a single error in thesecol)d pulse such that the pulse is detected one T/M interval too soon would create the code 14, 3, 8, 9, 2.
The error would be undetectable because the modulo-sum of the messaye values is not changed.
By applying the principles of the invention to the parity block code, the single pulse-position error of the previous example would not go undetected.
30 This is accomplished by alternating the polarity of adjacent message data values. For example, using the same four nibble message as in the previous example, the resulting code (alternating normal/complement message +

~0 94/28968 21 63~ 03 PCT/US94/06201 redundant) would be 15 13 8 6, 2.
A single error in the second pulse such that the pulse is detected one T/M
interval too soon would result in the code which would result in the error being detectable where the receiver inverts the received data prior to applying the parity test. The receiver would inl~r,urel the block code to be 14 1, 8, 9 2. 14 ~ 1 ~ 8 ~ 9 = 0 which is not equal to 2.
The inversion of adjacent data values takes advantage of the opposing 10 adjacent errors characteristic of RPPM to improve the error detection c~ ;lies of any block code. When the inversion is applied is dependent upon the chosen block code.
Refer,i"y to FIG. 1 there is illustrated a block diagram of an external medical device 10 such as a proy,~",mer that can be used to communicate 15 data to an implantable medical device. External medical device 10 includes a user interface 12 for human interaction that can include output devices such as a display screen or a printer and input devices such as a keyboard or a light pen used in conjunction with a display screen. User interface 12 is connected to processing and control circuitry 14 that can include a 20 microprocessor and associated circuits for generating data to be communicated to an implantable medical device. Data generated by processing and control circuitry 14 in response to user input via user interface12 is processed by subsequent circuit blocks illustrated as block encoder 16 data inverter 18 and signal generator 20. The latter block is further illuslralad 25 as co" ,,uri~ing a relative pulse position modulation encoder 22 and a t,ans,l,ilter 24 connected to an antenna coil 26. Data from processing and control circuitry 14 is received by block encoder 16 and is encoded in known fashion as a block of data comprising a mess~ge data portion and a redundant data portion. The message data portion includes a plurality of 30 message data values and the redundant data portion includes at least one redunclant data value having a predefined redundant reldlio"sl,ip to at least one of the plurality of message data values. By way of example the messaye WO 94/28968 21~ 310 3 PCT/US94/06201~

data portion can include a block of four message data values representing information to be communicated and the redundant data portion can include another block of four redundant data values where each redundant data value cor, esponds to one of the message data values. Each redundant data value 5 has a predefined relationship to its cor, es,uonding message data value and can be, for example, a duplicate of the message data value or, alternatively, the complement of the message data value. Other block encoding schemes can be employed where there is not a one-to-one correlation between the mess~e data values and the redundant data values. For example, a parity code block 10 code could be used in which a single redundant data value could represenl the modulo-sum of a plurality of message data values.
Block coded data from block e"co~er 16 is received by data converter 18 which is configured to alter each block of data so received by converting alternating data values of at least one of the message or redundant data 15 portions of the block to respective complement data values. Where there is a one-to-one correspondence between the message data values and the redundant data values in the coded block, the advantages of the prese"l invention are realized when aller"ale data values of either the message data portion or the redundant data portion, but not both, are converted to 20 respective complement data values. Where the block encoding scheme employed results in one of the message data portion or the redundant data portion of the block code having a greater number of data values than the other data portion, the advantages of the present invention are realized by converting to respective complement data values all~l"dling data values of 25 only the data portion having the greater number of data values.
Referring in particular to FIG. 2, there is illustrated a schematic diayl ~r,l of one embodiment of a data converter 18 in accorda,lce with the present invention. Inputs from block encoder 16 include a DATA STROBE signal line, a MESSAGE/REDUNDANT signal line, and four input data lines D0, D1, D2 30 and D3. Outputs to RPPM encoder 22 include the DATA STROBE signal line and four output data lines TD0, TD1, TD2 and TD3. The illustrated embodiment is based upon a system in which data values are conveyed in 4-21 631~
~0 94/28968 PCT/US94/06201 bit nibbles. This is intended to illustrate the concept only, and it should beu,)de~ ood that binary or 8-bit or other data schemes can be used, if des;red.
Data received on input lines D0-D3 is either passed through unchanged to output lines TD0-TD3, or all four bits of alternately received data nibbles are 5 inverted so as to pass through the complement of the data nibble received, depending upon the state of the MESSAGE/REDUNDANT line. The DATA
STROBE line is connected to one input of AND gate 30, and the MESSAGE/REDUNDANT line is connected to the other inverted input of AND
gate 30. The MESSAGE/REDUNDANT line is also connected to the reset 10 input R of D flip-flop 32. The output of AND gate 30 is connected to the clock input C of D flip-flop 32. The Q output of D flip-flop 32 is tied back to the D
input of flip-flop 32. The Q output of flip-flop 32 is connected to the INVERT
line which is connected to one input of each of EXCLUSIVE OR gates 34, 36, 38 and 40. Data lines D0-D3 are connected to the other input of each 15 EXCLUSIVE OR gate 34-40, lespec~i-/ely. The outputs of EXCLUSIVE OR
gates 34-40 are connected to output data lines TD0-TD3, respectively.
Data converter 18 of FIG. 2 operates as follows. A series of regularly spaced timing pulses are received on the DATA STROBE line. Each timing pulse is related to a new nibble of data on data input lines D0-D3. The 20 MESSAGE/REDUNDANT line is either in a high or low state depending on whether the current data nibble is part of the message data portion or the redundant data portion of the block code being received. Assuming that message data is present at D0-D3, the MESSAGE/REDUNDANT line will be held Ihigh by preceding block encoder 16. The output of AND gate 30 25 there~ore remains low regardless of the state of the DATA STROBE line and no clock signal is conveyed to flip-flop 32. The Q output of flip-flop 32 remains low and data passes through EXCLUSIVE OR gates 34-40 unchanged.
Following the last message data nibble and prior to the first redundant data nibble, block encoder 16 causes MESSAGE/REDUNDANT line to go low, 30 which releases the reset of flip-flop 32. A subsequent pulse on the DATA
STRGBE line will result in a rising edge clock signal from the output of AND
gate 30 to latch the Q output of flip-flop 32 high, resulting in a high state being WO 94/28968 . PCT/US94/06201 ~

present on the INVERT line and at one input of each of EXCLUSIVE OR gates 34-40. The output of each EXCLUSIVE OR gate is therefore the inverse state of the input from the respective data input lines D0-D3. Consequently, the firstdata nibble on output data lines TD0-TD3 following the 5 MESSAGE/REDUNDANT line going low is the complement of the data nibble ,urese, ll at data input lines D0-D3. The INVERT line remains high until the next rising edge of a pulse on the DATA STROBE line, at which time the rising edge clock signal from the output of AND gate 30 latches the Q output of flip-flop 32 low, in accordance with the state of the Q output from the previous cycle, 10 where the Q output is tied back to the D input. The INVERT line consequently goes low, and EXCLUSIVE OR gates 34-40 cease their inverting function for the current data nibble. It should be ap,~recialed that so long as the MESSAGE/REDUNDANT line remains low, meaning that redundant data is being processed, the flip-flop 32 and EXCLUSIVE OR gates 34-40 will cause 15 alle",ale nibbles of data received on data input lines D0-D3 to be converted to their complements on data output lines TD0-TD3. While the embodiment illu~li aled in FIG. 2 has been configured to invert odd-numbered data nibbles of the redundant data portion of the block code received from block encoder 16, it should be appreciated that even-numbered data nibbles could be 20 inverted instead, and the data nibbles of the message data portion could be inverted instead.
The altered block of data from data converter 18 is received by relative pulse position mo~ tion (RPPM) encoder 22 and l,~"smiller 24 of signal generator 20 in which a signal is generated in known rasl,ion to include a 25 sequence of relative pulse position modulated pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse that is representative of a corresponding one of the data values of the altered block of data. The signal so generated is transmitted as electromagnetic energy by transmitter 24 via anle"na coil 26, to be received by an i",l.lal1lable medical 30 device.
Referring to FIG. 3, there is illustrated a block diayl ~m of an im,ular,Lable medical device 42 such as a cardiac stimulator, which might be a pacemaker ~0 94128968 63 l o3 PCT/US94/06201 or cardioverter/defibrillator capable of receiving data communicated from an external medical device such as the programmer of FIG. 1. Implantable medicai device 42 includes an antenna coil 44 and associated receiver 46 for receiving data in the form of an encoded electromagnetic signal from the 5 ekler"al medical device. Since the implantable medical device illustrated in FIG. 3 is particularly configured to take advantage of the data communications scheme of the present invention for enhanced deLeclio" of commu"ic~lion errors, it should be assumed for the purpose of understanding the functioning of the illustrated embodiment that the signal to be received and processed has 10 been previously processed prior to L~nsl~ission according to the principles of the invention desc,ibed above with respect to the external medical device of FIGS. 1 and 2.
The signal received in receiver 46 is in the form of an altered block code having a message data portion including a plurality of message data values 15 and a redundant data portion including at least one redundant data value wherein alternating data values of at least one of the data portions are encoded as complement data values of original data values. The altered block code is received and passed on to relative pulse position mo~ tion (RPPM) signal decoder 48 in the form of a sequence of RPPM pulses, wherein each 20 pulse is positioned at a time interval relative to the immediqtely preceding pulse. RPPM decoder 48 decodes the signal in known fashion to generate a block of data including a plurality of data values wherein each data value is representative of a corresponding one of the time intervals.
The block of data from RPPM signal decoder 48 is receivcd by data 25 converter 50 which is configured si",ilarly to data converter 18 of FIGS. 1 and 2 to alter the decoded block of data by converting the encoded alternating data values to respective complement data values thereby re:jlori"g the putative original data values of the original block code as they existed prior to processi"y for ll~nsn,ission. It should be understood that data converter 50 30 is conligured to accommodate the particular block code and code alleri"y scheme that was employed during processing of the original data for lrans,),ission. For example if the odd-numbered data values of the redundant WO 94/28968 , r~ i 6 3 1 0 ~ PCTrUS94/06201 ~

data portion of the block code were inverted to their respective compiement data values in the external medical device prior to transl"ission, then the odd-numbered data values of the redundant data portion of the block code received from RPPM signal decoder 48 are likewise inverted again. Barring comm~",icalio,l errors, the block code from data converter 50 should be identical to the block code generated by block encoder 16 of the e,(le"~al medical device.
Block decoder/error detector 52 receives the altered (putatively reslored) block of data from data converter 50 and compares the data values 10 of the message data portion of the block of data to the data values of the redundant data ,uoi lion of the block of data to determine whether the mess~ge data values and redundant data values are related accor.lin!a to their predetermined redundant relationship. If they are so related, the redundant data is stripped off and the message data is passed on to processing, control 15 and stimulating circuitry 54 for further processing in known fashion. If they are not so related, then an error has occurred during commul1icalioll and the block of data must be rejected as being unreliable. In that event, an error signal is sent to processing, control and stimulating circuitry 54 for further processing in known fashion. Processing, control and stimulating circuitry 54 inc~ es circuitry for transmitting a cardiac stimulating signal via one or more im~Jla"lable leads 56 to heart 58.
While the present invention has been illustrated and described with particularity in terms of a preferred method and preferred embodiments, it should be understood that no li",il~lion of the scope of the invention is i,ll~l,ded thereby. The scope of the invention is defined only by the claims appended hereto. It should also be understood that \,~rialio"s of the particularembodiments lesc,ibed herein incorporating the principles of the ,ur~se"l invention will occur to those of ordinary skill in the art and yet be within thescope of the appended claims. For example, the data processing scheme of 30 the present invention has been described in the context of allerlldli,1g datainversion occurring prior to l,al,smission in an external medical device, and alternating data inversion occurring subsequent to reception in an il l l,~lal llaL)le ~O 94128968 ' 21! 631 PCTIUS94/06201 medical device. It will be obvious to the ordinarily skilled artisan that the aller"aLi"g data encoding could take place in the implantable device for l~d"sr"issiol, to an external device for decoding.

Claims (34)

-16-
1. A method of processing data to be communicated between an implantable medical device and an external medical device to improve detectability of communication errors, comprising the steps of:
in at least one of said implantable and external medical devices:
a) generating a first block of data including a message data portion and a redundant data portion, said message data portion including a plurality of message data values and said redundant data portion including at least one redundant data value having a predefined redundant relationship to at least one of said plurality of message data values;
b) altering said first block of data by converting alternating data values of at least one of said data portions of said first block of data to respective complement data values; and c) generating a signal including a sequence of relative pulse position modulated pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse that is representative of a corresponding one of the data values of said altered block of data.
2. The method of Claim 1, wherein alternating data values of said message data portion of said first block of data are converted to respective complement data values.
3. The method of Claim 1, wherein alternating data values of said redundant data portion of said first block of data are converted to respective complement data values.
4. The method of Claim 1, wherein there is a one-to-one correlation between the data values of said message data portion and the data values of said redundant data portion.
5. The method of Claim 4, wherein alternating data values of said message data portion of said first block of data are converted to respective complement data values.
6. The method of Claim 4, wherein alternating data values of said redundant data portion of said first block of data are converted to respective complement data values.
7. The method of Claim 1, wherein said message data portion includes a greater number of data values than said redundant data portion, and wherein alternating data values of said message data portion of said first block of data are converted to respective complement data values.
8. The method of Claim 1, wherein said redundant data portion includes a greater number of data values than said message data portion and wherein alternating data values of said redundant data portion of said first block of data are converted to respective complement data values.
9. The method of Claim 1, and further including the step of:
transmitting said generated signal externally of said medical device.
10. The method of Claim 9, and further including the step of:
receiving said transmitted signal in another medical device separate from the medical device from which the signal was transmitted.
11. The method of Claim 10, and further including the step of:
decoding said received signal to generate a second block of data putatively corresponding to said altered block of data by interpreting each timeinterval between successively received pulses as representing a particular predefined data value.
12. The method of Claim 11, and further including the step of:
converting said second block of data to a third block of data putatively corresponding to said first block of data by altering said second block of data by converting like alternating data values of a like data portion of said secondblock of data to respective complement data values.
13. The method of Claim 12, and further including the step of:
comparing said data values of said redundant data portion of said third block of data to said data values of said message data portion of said third block of data to determine whether said predetermined redundant relationship is valid, thereby providing detection of error in said third block of data.
14. In a medical device, a communications circuit for processing data to be communicated for improved detectability of communication errors comprising:
a block encoder adapted and configured to receive data to be processed and to encode a portion of said received data into a first block of data including a message data portion and a redundant data portion, said message data portion including a plurality of message data values and said redundant data portion including at least one redundant data value having a predefined redundant relationship to at least one of said plurality of message data values;
a data converter adapted and configured to receive said first block of data from said block encoder and alter said first block of data by converting alternating data values of at least one of said data portions of said first block of data to respective complement data values; and a signal generator adapted and configured to receive said altered block of data and generate a signal including a sequence of relative pulse position modulated pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse that is representative of a corresponding one of the data values of said altered block of data.
15. The medical device of Claim 14, wherein alternating data values of said message data portion of said first block of data are converted to respective complement data values.
16. The medical device of Claim 14, wherein alternating data values of said redundant data portion of said first block of data are converted to respective complement data values.
17. The medical device of Claim 14, wherein there is a one-to-one correlation between the data values of said message data portion and the data values of said redundant data portion.
18. The medical device of Claim 17, wherein alternating data values of said message data portion of said first block of data are converted to respective complement data values.
19. The medical device of Claim 17, wherein alternating data values of said redundant data portion of said first block of data are converted to respective complement data values.
20. The medical device of Claim 14, wherein said message data portion includes a greater number of data values than said redundant data portion, and wherein alternating data values of said message data portion of said first block of data are converted to respective complement data values.
21. The medical device of Claim 14, wherein said redundant data portion includes a greater number of data values than said message data portion and wherein alternating data values of said redundant data portion of said first block of data are converted to respective complement data values.
22. The medical device of Claim 14, and further including the step of:
transmitting said generated signal externally of said medical device.
23. The medical device of Claim 22, and further including the step of:
receiving said transmitted signal in another medical device separate from the medical device from which the signal was transmitted.
24. The medical device of Claim 23, and further including the step of:
decoding said received signal to generate a second block of data putatively corresponding to said altered block of data by interpreting each timeinterval between successively received pulses as representing a particular predefined data value.
25. The medical device of Claim 24, and further including the step of:
converting said second block of data to a third block of data putatively corresponding to said first block of data by altering said second block of data by converting like alternating data values of a like data portion of said secondblock of data to respective complement data values.
26. The medical device of Claim 25, and further including the step of:
comparing said data values of said redundant data portion of said third block of data to said data values of said message data portion of said third block of data to determine whether said predetermined redundant relationship is valid, thereby providing detection of communication error.
27. In a medical device, a communications circuit for processing data that has been communicated for improved detectability of communication errors comprising:
a signal decoder adapted and configured to receive a signal including a sequence of relative pulse position modulated pulses, wherein each pulse is positioned at a time interval relative to the immediately preceding pulse, and to decode said signal to generate a block of data including a plurality of data values wherein each data value is representative of a corresponding one of the time intervals, said block of data including a message data portion having a plurality of message data values, and a redundant data portion having at least one redundant data value, wherein alternating data values of at least one of said data portions of said block of data are encoded as complement data values of original data values;
a data converter adapted and configured to receive said block of data from said signal decoder and alter said block of data by converting said encoded alternating data values to respective complement data values, thereby restoring putative original data values; and an error detector adapted and configured to receive said altered block of data from said data converter and compare data values of said message data portion to data values of said redundant data portion to determine whether said message and redundant data values are related according to a predetermined redundant relationship, thereby providing detection of communication error.
28. The medical device of Claim 27, wherein alternating data values of said message data portion of said block of data are converted to respective complement data values.
29. The medical device of Claim 27, wherein alternating data values of said redundant data portion of said block of data are converted to respective complement data values.
30. The medical device of Claim 27, wherein there is a one-to-one correlation between the data values of said message data portion and the data values of said redundant data portion.
31. The medical device of Claim 30, wherein alternating data values of said message data portion of said block of data are converted to respective complement data values.
32. The medical device of Claim 30, wherein alternating data values of said redundant data portion of said block of data are converted to respective complement data values.
33. The medical device of Claim 27, wherein said message data portion includes a greater number of data values than said redundant data portion, and wherein alternating data values of said message data portion of said block of data are converted to respective complement data values.
34. The medical device of Claim 27, wherein said redundant data portion includes a greater number of data values than said message data portion, and wherein alternating data values of said redundant data portion of said block of data are converted to respective complement data values.
CA002163103A 1993-06-03 1994-06-02 Method and apparatus for communicating data between medical devices to improve detectability of errors Expired - Fee Related CA2163103C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/071,519 1993-06-03
US08/071,519 US5411536A (en) 1993-06-03 1993-06-03 Method and apparatus for communicating data between medical devices to improve detectability of errors
PCT/US1994/006201 WO1994028968A2 (en) 1993-06-03 1994-06-02 Method and apparatus for communicating data between medical devices to improve detectability of errors

Publications (2)

Publication Number Publication Date
CA2163103A1 CA2163103A1 (en) 1994-12-22
CA2163103C true CA2163103C (en) 2000-09-05

Family

ID=22101850

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002163103A Expired - Fee Related CA2163103C (en) 1993-06-03 1994-06-02 Method and apparatus for communicating data between medical devices to improve detectability of errors

Country Status (7)

Country Link
US (1) US5411536A (en)
EP (1) EP0701463B1 (en)
JP (1) JPH09500041A (en)
CA (1) CA2163103C (en)
DE (1) DE69402196T2 (en)
ES (1) ES2102229T3 (en)
WO (1) WO1994028968A2 (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1007910A3 (en) * 1993-12-24 1995-11-14 Koninkl Philips Electronics Nv Multiple acces telecommunications.
US5522866A (en) * 1994-11-01 1996-06-04 Intermedics, Inc. Method and apparatus for improving the resolution of pulse position modulated communications between an implantable medical device and an external medical device
US5759199A (en) * 1995-08-02 1998-06-02 Pacesetter, Inc. System and method for ambulatory monitoring and programming of an implantable medical device
US6441810B1 (en) 1995-10-31 2002-08-27 Lsi Logic Corporation Telemetry encoding technique for smart stylus
US5683430A (en) * 1995-11-16 1997-11-04 Ael Industries, Inc. Status monitor for anomaly detection in implanted devices and method
DE19548658A1 (en) * 1995-12-18 1997-06-19 Biotronik Mess & Therapieg Extracorporeal control device for an implantable medical device
US5683432A (en) * 1996-01-11 1997-11-04 Medtronic, Inc. Adaptive, performance-optimizing communication system for communicating with an implanted medical device
US5825815A (en) * 1996-09-11 1998-10-20 Winbond Electronics Corp. Dual UART device with a reduced package pin number
US6947795B2 (en) * 2001-10-01 2005-09-20 Transoma Medical, Inc. Frame length modulation and pulse position modulation for telemetry of analog and digital data
US8974386B2 (en) 1998-04-30 2015-03-10 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US8688188B2 (en) 1998-04-30 2014-04-01 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US8346337B2 (en) 1998-04-30 2013-01-01 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US6175752B1 (en) 1998-04-30 2001-01-16 Therasense, Inc. Analyte monitoring device and methods of use
US8465425B2 (en) 1998-04-30 2013-06-18 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US6949816B2 (en) 2003-04-21 2005-09-27 Motorola, Inc. Semiconductor component having first surface area for electrically coupling to a semiconductor chip and second surface area for electrically coupling to a substrate, and method of manufacturing same
US9066695B2 (en) 1998-04-30 2015-06-30 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US8480580B2 (en) 1998-04-30 2013-07-09 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US6321118B1 (en) 1999-01-28 2001-11-20 Advanced Bionics Corporation Method and apparatus for power link detection with implantable medical devices
DE19930262A1 (en) 1999-06-25 2000-12-28 Biotronik Mess & Therapieg Electromedical implant, especially pacemaker, has telemetry device transmitter containing oscillator with first transistor and resonator, buffer stage, antenna driver with second transistor
DE19930263A1 (en) * 1999-06-25 2000-12-28 Biotronik Mess & Therapieg Method and device for data transmission between an electromedical implant and an external device
DE19930250A1 (en) 1999-06-25 2001-02-15 Biotronik Mess & Therapieg Device for monitoring data, in particular from an electromedical implant
DE19930256A1 (en) 1999-06-25 2000-12-28 Biotronik Mess & Therapieg Near and far field telemetry implant
DE19930241A1 (en) 1999-06-25 2000-12-28 Biotronik Mess & Therapieg Procedure for data transmission in implant monitoring
DE19930245A1 (en) 1999-06-25 2000-12-28 Biotronik Mess & Therapieg Electromedical implant
US6560471B1 (en) 2001-01-02 2003-05-06 Therasense, Inc. Analyte monitoring device and methods of use
US7041468B2 (en) 2001-04-02 2006-05-09 Therasense, Inc. Blood glucose tracking apparatus and methods
US7794499B2 (en) * 2004-06-08 2010-09-14 Theken Disc, L.L.C. Prosthetic intervertebral spinal disc with integral microprocessor
US7489561B2 (en) 2005-10-24 2009-02-10 Cyberonics, Inc. Implantable medical device with reconfigurable non-volatile program
US20080071158A1 (en) 2006-06-07 2008-03-20 Abbott Diabetes Care, Inc. Analyte monitoring system and method
US8060204B2 (en) * 2008-02-28 2011-11-15 Cardiac Pacemakers, Inc. Low power digital design for deep submicron technology
US9370664B2 (en) 2009-01-15 2016-06-21 Boston Scientific Neuromodulation Corporation Signaling error conditions in an implantable medical device system using simple charging coil telemetry
WO2012087819A2 (en) 2010-12-20 2012-06-28 Abiomed, Inc. Transcutaneous energy transfer system with vibration inducing warning circuitry
EP2654878B1 (en) 2010-12-20 2019-05-15 Abiomed, Inc. Transcutaneous energy transfer system with multiple secondary coils
EP4112115A1 (en) 2010-12-20 2023-01-04 Abiomed, Inc. Method and apparatus for accurately tracking available charge in a transcutaneous energy transfer system
EP2697890B1 (en) 2011-04-14 2019-02-20 Abiomed, Inc. Transcutaneous energy transfer coil with integrated radio frequency antenna
US9002468B2 (en) 2011-12-16 2015-04-07 Abiomed, Inc. Automatic power regulation for transcutaneous energy transfer charging system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1287608B (en) * 1964-07-23 1969-01-23
US4459989A (en) * 1981-06-30 1984-07-17 Neuromed, Inc. Non-invasive multiprogrammable tissue stimulator and methods for use
EP0107483B1 (en) * 1982-10-29 1987-03-18 Medtronic, Inc. Pacemaker programmer with telemetric functions
US4569050A (en) * 1983-01-14 1986-02-04 Honeywell Inc. Data communication system with fixed weight error correction and detection code
US4764769A (en) * 1983-10-19 1988-08-16 Vega Precision Laboratories, Inc. Position coded pulse communication system
US4531523A (en) * 1984-10-04 1985-07-30 Medtronic, Inc. Digital gain control for the reception of telemetry signals from implanted medical devices
US4723244A (en) * 1985-10-01 1988-02-02 Harris Corporation Method and apparatus for preserving the integrity of the error detection/correction word in a code word
US5179561A (en) * 1988-08-16 1993-01-12 Ntt Data Communications Systems Corporation Totally self-checking checker
US4947407A (en) * 1989-08-08 1990-08-07 Siemens-Pacesetter, Inc. Sample-and-hold digital phase-locked loop for ask signals
AU636962B2 (en) * 1990-01-22 1993-05-13 Medtronic, Inc. Improved telemetry format
US5137022A (en) * 1990-07-13 1992-08-11 Cook Pacemaker Corporation Synchronous telemetry system and method for an implantable medical device

Also Published As

Publication number Publication date
WO1994028968A3 (en) 1995-02-02
DE69402196D1 (en) 1997-04-24
JPH09500041A (en) 1997-01-07
US5411536A (en) 1995-05-02
ES2102229T3 (en) 1997-07-16
WO1994028968A2 (en) 1994-12-22
EP0701463A1 (en) 1996-03-20
DE69402196T2 (en) 1997-10-30
EP0701463B1 (en) 1997-03-19
CA2163103A1 (en) 1994-12-22

Similar Documents

Publication Publication Date Title
CA2163103C (en) Method and apparatus for communicating data between medical devices to improve detectability of errors
US4471345A (en) Randomized tag to portal communication system
EP0564825A2 (en) Method for identification of secret data messages in a uni-directional multipoint network using cyclic redundancy checks
EP0491868B1 (en) Error detection for fiber distributed interfaced optic link
US5461629A (en) Error correction in a spread spectrum transceiver
US4569050A (en) Data communication system with fixed weight error correction and detection code
US3879577A (en) Data transmission system
JPS59163697A (en) Time sharing multiplex system used in electric system of automatically moving object
WO1984001867A1 (en) Method and apparatus for transmitting and receiving data messages
WO1990012380A1 (en) Error correction for infrared data communication
JPH0322743B2 (en)
EP0128406A2 (en) Data transmission/reception network system
ATE146612T1 (en) COMMUNICATIONS CONTROL UNIT AND METHOD FOR TRANSMITTING MESSAGES
JPH09275393A (en) Data communication method
JPS60107923A (en) Encoder
JP2000278332A (en) Multi-ppm encoding method and encoding circuit therefor
JPH0473906B2 (en)
US4514852A (en) Process for protected transmission of digital signals
US4445175A (en) Supervisory remote control system employing pseudorandom sequence
JP3084777B2 (en) Power line communication system and power line communication device
JP2555582B2 (en) CMI code error detection circuit
Arabi et al. A secure communication protocol for externally controlled implantable devices
SU437237A1 (en) Method of transmitting binary information in systems with feedback
JPS60254858A (en) Method of inserting code error to digital transmission signal
JPS59134942A (en) Data communication system

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed
MKLA Lapsed

Effective date: 20030602