TESTING ELECTROSURGICAL GENERATORS
20250134576 ยท 2025-05-01
Inventors
Cpc classification
A61B2560/0223
HUMAN NECESSITIES
A61B2018/00988
HUMAN NECESSITIES
International classification
Abstract
Various exemplary systems, devices, and methods for testing electrosurgical generators are provided. In general, an electrosurgical generator is configured to generate energy and provide the energy to an electrosurgical instrument. In an exemplary embodiment, testing of an electrosurgical generator includes simulating a tissue load being electrosurgically treated in a surgical procedure. The simulated tissue load is simulated by a computer system that includes a circuit that has a plurality of states each corresponding to a different simulated tissue load. The circuit is configured to change between the plurality of states during the testing so as to simulate a plurality of different tissue loads.
Claims
1. An electrosurgical generator testing system, comprising: a simulated tissue load configured to be operatively coupled to an electrosurgical generator configured to deliver energy to an electrosurgical instrument, the simulated tissue load comprising: a circuit including a first plurality of relays and a plurality of resistive components, the plurality of resistive components being arranged in parallel, and each of the plurality of relays being operatively coupled to an associated one of the plurality of resistive components such that each of the plurality of resistive components is either enabled or disabled based on a state of its associated one of the first plurality of relays, a processor, and a memory storing instructions that, when executed by the processor, cause the processor to perform operations comprising: with the simulated tissue load receiving an energy signal from the electrosurgical generator, controlling the state of each of the first plurality of relays so as to sequentially simulate each of a plurality of target tissue loads defined by a plurality of predefined parameters stored in the memory, and generating a report indicative of settings of the electrosurgical generator for each of the simulated plurality of target tissue loads.
2. The electrosurgical generator testing system of claim 1, wherein the simulated tissue load further comprises an additional resistive component having a fixed resistance, the additional resistive component being arranged in parallel with the plurality of resistive components.
3. The electrosurgical generator testing system of claim 1, wherein the simulated tissue load further comprises a second plurality of relays and a plurality of capacitive components, the plurality of capacitive components being arranged in parallel with each other and with the plurality of resistive components.
4. The electrosurgical generator testing system of claim 3, wherein the simulated tissue load further comprises an additional capacitive component having a fixed capacitance, the additional capacitive component being arranged in parallel with the plurality of capacitive components.
5. The electrosurgical generator testing system of claim 1, wherein the plurality of resistive components includes a number of resistive components in a range of four to thirty-two; and each of the plurality of resistive components includes a resistor.
6. The electrosurgical generator testing system of claim 1, wherein the setting of the electrosurgical generator for each of the simulated plurality of target tissue loads is either: automatically selected through the controlling of the state of each of the first plurality of relays, or manually selected by a user.
7. The electrosurgical generator testing system of claim 6, wherein the operations further comprise: prompting the user to manually select the setting of the electrosurgical generator for one of the simulated plurality of target tissue loads in response to the setting of the electrosurgical generator for the one of the simulated plurality of target tissue loads being unable to be automatically selected through the controlling of the state of each of the first plurality of relays.
8. The electrosurgical generator testing system of claim 1, further comprising the electrosurgical generator.
9. The electrosurgical generator testing system of claim 1, further comprising a data acquisition system (DAQ) configured to be operatively coupled to the simulated tissue load and to display information indicative of data in the generated report.
10. The electrosurgical generator testing system of claim 9, further comprising the electrosurgical generator.
11. A method of testing electrosurgical generators, comprising: receiving an electrical signal from an electrosurgical generator at a circuit of a simulated tissue load, the circuit including a first plurality of relays and a plurality of resistive components, the plurality of resistive components being arranged in parallel, and each of the plurality of relays being operatively coupled to an associated one of the plurality of resistive components such that each of the plurality of resistive components is either enabled or disabled based on a state of its associated one of the first plurality of relays; with the simulated tissue load receiving the energy signal from the electrosurgical generator, controlling, using a processor, the state of each of the first plurality of relays so as to sequentially simulate each of a plurality of target tissue loads defined by a plurality of predefined parameters stored in a memory of the simulated tissue load, and generating, using the processor, a report indicative of settings of the electrosurgical generator for each of the simulated plurality of target tissue loads.
12. The method of claim 11, wherein the simulated tissue load further comprises an additional resistive component having a fixed resistance, the additional resistive component being arranged in parallel with the plurality of resistive components.
13. The method of claim 11, wherein the simulated tissue load further comprises a second plurality of relays and a plurality of capacitive components, the plurality of capacitive components being arranged in parallel with each other and with the plurality of resistive components.
14. The method of claim 13, wherein the simulated tissue load further comprises an additional capacitive component having a fixed capacitance, the additional capacitive component being arranged in parallel with the plurality of capacitive components.
15. The method of claim 11, wherein the plurality of resistive components includes a number of resistive components in a range of four to thirty-two; and each of the plurality of resistive components includes a resistor.
16. The method of claim 11, wherein the setting of the electrosurgical generator for each of the simulated plurality of target tissue loads is either: automatically selected through the controlling of the state of each of the first plurality of relays, or manually selected by a user.
17. The method of claim 16, further comprising prompting, using the processor, the user to manually select the setting of the electrosurgical generator for one of the simulated plurality of target tissue loads in response to the setting of the electrosurgical generator for the one of the simulated plurality of target tissue loads being unable to be automatically selected through the controlling of the state of each of the first plurality of relays.
18. The method of claim 11, further comprising displaying, on a data acquisition system (DAQ) operatively coupled to the simulated tissue load, information indicative of data in the generated report.
19. A non-transitory computer program product storing instructions which, when executed by a processor, cause the processor to implement operations comprising: with a simulated tissue load receiving an energy signal from the electrosurgical generator, controlling a state of each of a first plurality of relays of the simulated tissue load so as to sequentially simulate each of a plurality of target tissue loads defined by a plurality of predefined parameters stored in a memory of the simulated tissue load, the circuit including the first plurality of relays and a plurality of resistive components, the plurality of resistive components being arranged in parallel, and each of the plurality of relays being operatively coupled to an associated one of the plurality of resistive components such that each of the plurality of resistive components is either enabled or disabled based on a state of its associated one of the first plurality of relays; and generating a report indicative of settings of the electrosurgical generator for each of the simulated plurality of target tissue loads.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0027] The present invention is described by way of reference to the accompanying figures which are as follows:
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
DETAILED DESCRIPTION
[0044] Certain exemplary embodiments will now be described to provide an overall understanding of the principles of the structure, function, manufacture, and use of the devices, systems, and methods disclosed herein. One or more examples of these embodiments are illustrated in the accompanying drawings. A person skilled in the art will understand that the devices, systems, and methods specifically described herein and illustrated in the accompanying drawings are non-limiting exemplary embodiments and that the scope of the present invention is defined solely by the claims. The features illustrated or described in connection with one exemplary embodiment may be combined with the features of other embodiments. Such modifications and variations are intended to be included within the scope of the present invention.
[0045] Further, in the present disclosure, like-named components of the embodiments generally have similar features, and thus within a particular embodiment each feature of each like-named component is not necessarily fully elaborated upon. Additionally, to the extent that linear or circular dimensions are used in the description of the disclosed systems, devices, and methods, such dimensions are not intended to limit the types of shapes that can be used in conjunction with such systems, devices, and methods. A person skilled in the art will recognize that an equivalent to such linear and circular dimensions can easily be determined for any geometric shape. A person skilled in the art will appreciate that a dimension may not be a precise value but nevertheless be considered to be at about that value due to any number of factors such as manufacturing tolerances and sensitivity of measurement equipment. Sizes and shapes of the systems and devices, and the components thereof, can depend at least on the size and shape of components with which the systems and devices will be used.
[0046] Various exemplary systems, devices, and methods for testing electrosurgical generators are provided. In general, an electrosurgical generator is configured to generate energy and provide the energy to an electrosurgical instrument (also referred to herein as an electrosurgical tool). The electrosurgical instrument is configured to use energy received from the electrosurgical generator in treating tissue engaged by the electrosurgical instrument during performance of a surgical procedure on a patient, such as by delivering the energy to the tissue via at least one electrode of the electrosurgical instrument to seal and/or cut the tissue.
[0047] In an exemplary embodiment, testing of an electrosurgical generator includes simulating a tissue load being electrosurgically treated in a surgical procedure. The simulated tissue load is simulated by a computer system that includes a circuit that has a plurality of states each corresponding to a different simulated tissue load. The circuit is configured to change between the plurality of states during the testing so as to simulate a plurality of different tissue loads. The computer system including the tissue load is configured to be in operative communication with the electrosurgical generator during the testing. Energy received by the computer system can thus be tested with the circuit in different states so as to simulate performance for a variety of different possible tissue loads. The computer system (or other computer system in operative communication therewith) is configured to log and/or display the performance results to allow for the electrosurgical generator to be programmed to compensate for various changes in tissue conditions that may occur during treatment of the tissue, e.g., due to the application of heat to the tissue. The electrosurgical generator may therefore be preprogrammed to maintain effective tissue treatment, such as tissue sealing and/or cutting, by an electrosurgical instrument during real world use of the electrosurgical generator that occurs after the testing. Testing typically occurs in a laboratory or manufacturing setting prior to sale of an electrosurgical generator to a hospital or an end user.
[0048] In some embodiments, the electrosurgical generator is configured to generate only electrosurgical energy, such as radio frequency (RF) energy. In other embodiments, the electrosurgical generator is a multi-functional generator configured to generate electrosurgical energy and another type of energy, such as ultrasonic energy.
[0049] Various embodiments of electrosurgical tools and/or electrosurgical generators are described further in, for example, U.S. Pat. No. 7,112,201 entitled Electrosurgical Instrument And Method Of Use issued on Sep. 26, 2006, U.S. Pat. No. 7,169,145 entitled Tuned Return Electrode With Matching Inductor issued on Jan. 30, 2007, U.S. Pat. No. 8,771,270 entitled Bipolar Cautery Instrument issued on Jul. 8, 2014, U.S. Pat. No. 8,986,302 entitled Surgical Generator For Ultrasonic And Electrosurgical Devices issued on Mar. 24, 2015, U.S. Pat. No. 9,055,961 entitled Fusing And Cutting Surgical Instrument And Related Methods issued on Jun. 16, 2015, U.S. Pat. No. 9,119,657 entitled Rotary Actuatable Closure Arrangement For Surgical End Effector issued on Sep. 1, 2015, U.S. Pat. No. 10,010,366 entitled Surgical Devices And Methods For Tissue Cutting And Sealing issued on Jul. 3, 2018, U.S. Pat. No. 10,335,129 entitled Methods And Devices For Auto Return Of Articulated End Effectors issued on Jul. 2, 2019, U.S. Pat. No. 10,667,856 entitled Robotic Bi-Polar Instruments issued on Jun. 2, 2020, U.S. Pat. No. 10,932,808 entitled Methods, Systems, And Devices For Controlling Electrosurgical Tools issued on Mar. 2, 2021, U.S. Pat. No. 11,241,269 entitled Surgical Devices Switchable Between Monopolar Functionality And Bipolar Functionality issued on Feb. 8, 2022, U.S. Pat. No. 11,266,430 entitled End Effector Control And Calibration issued on Mar. 8, 2022, U.S. Pat. No. 11,317,937 entitled Determining The State Of An Ultrasonic End Effector issued on May 3, 2022, U.S. Pat. No. 11,529,187 entitled Surgical Evacuation Sensor Arrangements issued on Dec. 20, 2022, U.S. Pat. No. 11,602,393 entitled Surgical Evacuation Sensing And Generator Control issued on Mar. 14, 2023, U.S. Patent Application Publication No. 2019/0274748 entitled Measuring Impedance For Electrosurgical Tools published on Sep. 12, 2019, and U.S. Patent Application Publication No. 2022/0313341 entitled Surgical Proceduralization Via Modular Energy System published on Oct. 6, 2022, which are hereby incorporated by reference in their entireties.
[0050]
[0051] The testing system 100 includes an electrosurgical generator (also referred to herein as a generator) 102, a simulated load (also referred to herein as a simulated tissue load) 104, and a data acquisition system (DAQ) system 106. The generator 102 is configured to be in operative communication with the simulated load 104 via a first communication link 108. The simulated load 104 is configured to be in operative communication with the DAQ system 106 via a second communication link 110. The first and second communication links 108, 110 each can be a wired connection (using a cable, etc.) or can be a wireless connection (e.g., using Wi-Fi, Bluetooth, etc.). Both of the first and second communication links 108, 110 can be wired, both of the first and second communication links 108, 110 can be wireless, or one of the first and second communication links 108, 110 can be wired and the other of the first and second communication links 108, 110 can be wireless.
[0052] The DAQ system 106 is configured to receive data and display information during testing of the generator 102. As in this illustrated embodiment, the DAQ system 106 can be implemented as a computer system that includes a memory 112, a processor 114 configured to execute instructions stored in the memory 112, and a display 116 configured to show information thereon. The DAQ system 106 can be an oscilloscope, an analyzer, or other type of electronic test equipment.
[0053] The generator 102 is configured to generate energy and provide the energy to an electrosurgical instrument, such as during performance of a surgical procedure on the patient. In the testing system 100, the generator 102 is configured to generate energy and provide the energy to the simulated load 104.
[0054] As in this illustrated embodiment, the simulated load 104 can be implemented as a computer system that includes a memory 118, a processor 120 configured to execute instructions stored in the memory 118, and a load circuit (also referred to herein as a circuit) 122. The instructions stored in the memory 118 include an algorithm (also referred to herein as a control algorithm) 124 configured to be executed by the processor 120 to control the load circuit 122 during generator testing. In an exemplary embodiment, the load circuit 122 includes binary resistive loads, electromechanical relays (also referred to herein as relays), and a series of parallel configuration resistive components configured to toggled by the electromechanical relays. Different combinations of on/off states of the electromechanical relays represent different loads that each simulate a different tissue load. The algorithm 124 defines which of the electromechanical relays to turn on/off over a time of testing such that the processor 120 is configured to cause states of various ones of the electromechanical relays to change over time in the course of a testing process to simulate a plurality of different tissue loads.
[0055] The simulated load 104 (e.g., the processor 120 thereof) is configured to output data from the load circuit 122 to the DAQ system 106, which can show data results on the display 114 and/or analyze data using the DAQ system's processor 110. The output data, such as that shown on the display 114, is configured to allow for determining which generator settings (e.g., voltage, current, impedance, etc.) achieve an expected output for a particular simulated tissue load.
[0056] In some embodiments, the DAQ system 106 is omitted and the simulated load 104 is configured to perform functions of the DAQ system 106 during testing of the electrosurgical generator 102.
[0057]
[0058] In this illustrated embodiment, the simulated load 104 includes a fixed resistance, a binary resistance, a fixed capacitance, and a binary capacitance. The fixed resistance is a resistance configured to remain fixed during testing of the generator 102. The fixed resistance includes a resistive component R.sub.fixed having a fixed value. The fixed resistive component R.sub.fixed is a resistor in this illustrated embodiment. The fixed resistive component R.sub.fixed can be a thick film resistor, such as a TKH45 series resistor available from Ohmite Mfg. Co. of Warrenville, IL.
[0059] The binary resistance is a resistance configured to change during testing of the generator 102. The binary resistance includes a plurality of resistive components R.sub.0 to R.sub.11 each associated with one of a first plurality of relays 126. The plurality of resistive components R.sub.0 to R.sub.11 are a series of parallel configuration resistive components R.sub.0 to R.sub.11 configured to toggled by the first plurality of relays 126. The processor 120 is configured to control the on/off states of the first plurality of relays 126 according to the control algorithm 124, e.g., with binary value 1 indicating on and binary value 0 indicating off. Each of the resistive components R.sub.0 to R.sub.11 in this illustrated embodiment is a resistor. The resistive components R.sub.0 to R.sub.11 can each be a thick film resistor, such as a TKH45 series resistor available from Ohmite Mfg. Co. of Warrenville, IL. The first plurality of relays 126 can each be a miniature relay, such as an APAN3013 general purpose relay or other general purpose relay available from Panasonic Electric Works Company of Tokyo, Japan.
[0060] The binary resistance includes twelve resistive components R.sub.0 to Ru in this illustrated embodiment, but another number of resistive components for the binary resistance is possible. In an exemplary embodiment, the number of resistive components in the binary resistance is in a range between four and thirty-two such that the testing system is in a range of a 4-bit to a 32-bit testing system.
[0061] The testing system 100 of
[0062]
[0063] Adjacent points on a plot line in
[0064] The fixed resistance R.sub.fixed and the binary resistance's resistive components R.sub.0 to R.sub.11 can each have a variety of values. Table 1 shows one embodiment of resistance values (in Ohms) for the fixed resistance R.sub.fixed and the binary resistance's resistive components R.sub.0 to R.sub.11. In an exemplary embodiment, as in Table 1, each of the binary resistance's resistive components R.sub.0 to R.sub.11 has a different resistance value, which allows each combination of first plurality of relay 126 on/off states to have a different overall resistance value. If all of the first plurality of relays 126 are in an off state, the simulated load 104 will still have a resistance defined by the fixed resistive component R.sub.fixed and thus avoid a short circuit condition. In some embodiments, a fixed resistive component is omitted from a load circuit, but in such embodiments, a short circuit condition may result if all of the load circuit's binary resistance's resistive components are disabled, e.g., each of the resistive components' associated relays are off.
TABLE-US-00001 TABLE 1 R.sub.0 R.sub.1 R.sub.2 R.sub.3 R.sub.4 R.sub.5 R.sub.6 R.sub.7 R.sub.8 R.sub.9 R.sub.10 R.sub.11 R.sub.fixed Resistance 10 20 33.3 55.6 100 200 333.3 500 1000 1750 3200 5600 2000
[0065] Referring again to
[0066] The binary capacitance is a capacitance value configured to change during testing of the generator 102. The binary capacitance includes a plurality of capacitive components C.sub.0 to C.sub.11 each having an associated one of a second plurality of relays 128. Each of the capacitive components C.sub.0 to C.sub.11 in this illustrated embodiment is a capacitor. The plurality of capacitive components C.sub.0 to C.sub.11 are a series of parallel configuration capacitive components C.sub.0 to C.sub.11 configured to toggled by the second plurality of relays 128. The processor 120 is configured to control the on/off states of the second plurality of relays 128 according to the control algorithm 124, e.g., with binary value 1 indicating on and binary value 0 indicating off. The second plurality of relays 128 can each be a miniature relay, such as an APAN3013 general purpose relay or other general purpose relay available from Panasonic Electric Works Company of Tokyo, Japan.
[0067] Table 2 shows one embodiment of capacitance values (in pF) for the fixed capacitance C.sub.fixed and the binary capacitance's capacitive components C.sub.0 to C.sub.11 that can be used, for example, with the resistance values of Table 1. In an exemplary embodiment, as in Table 2, each of the binary capacitance's capacitive components C.sub.0 to C.sub.11 has a different capacitance value, which allows each combination of second plurality of relay 128 on/off states to have a different overall capacitance value. If all of the second plurality of relays 128 are in an off state, the simulated load 104 will still have a capacitance defined by the fixed capacitive component C.sub.fixed. The fixed capacitive component C.sub.fixed can thus be tuned or trimmed to remove any positive or negative induced phase shift caused by introduction of cabling or connection hardware. In an exemplary embodiment, a testing system's fixed capacitance (e.g., C.sub.fixed of
TABLE-US-00002 TABLE 2 C.sub.0 C.sub.1 C.sub.2 C.sub.3 C.sub.4 C.sub.5 C.sub.6 C.sub.7 C.sub.8 C.sub.9 C.sub.10 C.sub.11 C.sub.fixed Capacitance 22 33 56 82 120 180 240 390 560 820 1200 2000 25
[0068] The testing system 100 of
[0069]
[0070] In an exemplary embodiment, a testing system's fixed resistance (e.g., R.sub.fixed of
[0071]
[0072] In this illustrated embodiment, the simulated load 104 includes a fixed resistance (including resistive component R.sub.1) and a binary resistance (including resistive components R.sub.2, R.sub.3, R.sub.4, and R.sub.5) that are each similar to that discussed above with respect to
[0073] The fixed resistive component R.sub.1 and the binary resistance's resistive components R.sub.2 to R.sub.5 can each have a variety of values. Table 3 shows one embodiment of resistance values (in Ohms) for the fixed resistive component R.sub.1 and the binary resistance's resistive components R.sub.2 to R.sub.5. In an exemplary embodiment, as in Table 1, each of the binary resistance's resistive components R.sub.2 to R.sub.5 has a different resistance value, which allows each combination of relay 134 on/off states to have a different overall resistance value. If all of the plurality of relays 134 are in an off state, the simulated load 104 will still have a resistance defined by the fixed resistive component R.sub.1 and thus avoid a short circuit condition.
TABLE-US-00003 TABLE 3 R.sub.1 R.sub.2 R.sub.3 R.sub.4 R.sub.5 Resistance 500 200 150 100 30
[0074] The testing system 100 of
[0075]
[0076] A number of possible effective resistance options for a generator testing system is defined by a number of resistive components in the testing system's binary resistance. For example, the testing system 100 of
[0077] A generator testing system's algorithm (e.g., the algorithm 124 of
[0078]
[0079] The method 200 includes setting up 202 the algorithm 124. The algorithm 124 is set up 202 prior to the generator 102 providing energy to the simulated load 104 for testing purposes.
[0080] As shown in
[0081] Once the parameters including at least the file path have been input, the array resistance combinations is imported 210 into a dataframe object, e.g., for storage in the memory 118. Table 4 below shows one example of a file that may be imported 210 for an 8-bit testing system, with resistance being in Ohms.
TABLE-US-00004 TABLE 4 DEC Binary R.sub.7 R.sub.6 R.sub.5 R.sub.4 R.sub.3 R.sub.2 R.sub.1 R.sub.0 R.sub.fixed R.sub.effective 0 00000000 0 0 0 0 0 0 0 0 2000 2000 1 00000001 0 0 0 0 0 0 0 10 2000 10 2 00000010 0 0 0 0 0 0 20 0 2000 19.8 3 00000011 0 0 0 0 0 0 20 10 2000 6.6 4 00000100 0 0 0 0 0 33.33333 0 0 2000 32.8 5 00000101 0 0 0 0 0 33.33333 0 10 2000 7.7 6 00000110 0 0 0 0 0 33.33333 20 0 2000 12.4
[0082] Setting up 202 the algorithm 124 also includes generating 212 (e.g., by the processor 120) required power for each of the binary states based on the effective resistance value (R.sub.effective) for the binary state and on the power requirement curve. Seven binary states (0-6) are in the example of Table 4.
[0083] Setting up 202 the algorithm 124 also includes generating 214 (e.g., by the processor 120) single hamming values for each of the binary states. The single hamming values includes a list of binary states (0 or 1) within a single hamming distance of a particular binary string. For example, for a binary state of 11111111, the single hamming values generated would be 01111111, 10111111, 11011111, 11101111, 11110111, 11111011, 11111101, and 11111110.
[0084] Setting up 202 the algorithm 124 also includes generating 216 (e.g., by the processor 120) a worst case power value for each of the binary states. Generating 216 the worst case power value for a binary state includes calculating which of the plurality of relays associated with the plurality of binary resistive components will carry the most load.
[0085] Setting up 202 the algorithm 124 also includes generating 218 (e.g., by the processor 120) target points that are evenly spaced based on the minimum and maximum possible effective resistance values (e.g., 6.6 Ohms and 2000 Ohms in the example of Table 4) and the number of desired points previously defined 208.
[0086] Referring again to
[0087] Performing 204 the selection process includes inputting 220 an initial one of the generated 218 target points. An automatic selection workflow is then performed 222 to tune the load to the input 220 one of the target points and identify an acceptable point. The selection workflow is considered automatic because it is executed by a processor (e.g., the processor 120 of the simulated load 104) and selects an acceptable point without user input.
[0088] As shown in
[0089] The automatic selection workflow also includes filtering 226 the resistance dataframe according to the following formula, where Target is the initial target point: Target*(1 minus the allowable resistance percentage defining limits for automatic selection that was input when setting up 202 the algorithm)<Target<Target*(1 plus the allowable resistance percentage defining limits for automatic selection that was input when setting up 202 the algorithm).
[0090] The automatic selection workflow also includes calculating 228 the hamming distance between the current point and all options remaining in the filtered 226 resistance dataframe. For example, for a current point of 01110111 and an initial target point of 11110011 the hamming distance is calculated to be two because only two binary values in the binary string, the first and sixth binary values, need to be changed to move from the current point to the initial target point, e.g., 01110111 to 11110111 to 11110011, or 01110111 to 01110011 to 11110011.
[0091] The resistance dataframe is then filtered 230 again according to the following formula, where Target is the initial target point: calculated 228 hamming distance to target <=the hamming limit that was input when setting up 202 the algorithm. The filtered 230 resistance dataframe is then sorted 232 in ascending order. The initial row in the resistance dataframe in the sorted 232 list is considered 234 the current binary point (also referred to herein as current point).
[0092] The automatic selection workflow also includes generating 236 all possible paths from the current binary point to the target binary point, which is initially the initial target point. Table 5 shows one example of generating 236 all paths from the current binary point (01110111) to the target binary point (11110011) in an 8-bit system.
TABLE-US-00005 TABLE 5 Path 1 Path 2 Current Point 01110111 01110111 11110111 01110011 Target Point 11110011 11110011
[0093] Each of the generated paths is considered 238 in a preset order, which in this illustrated embodiment is the order of their generation. Consideration 238 thus begins with Path 1 (initial path generated 236). Resistance values are calculated 240 for each point along Path 1. If all of the calculated 240 resistance values are determined 242 to be within the previously defined lower and upper bounds, then Path 1 is an acceptable path and is selected 244 as the acceptable option and the selection process 204 continues (see
[0094] If all of the calculated 240 resistance values are not determined 242 to be within the previously defined lower and upper bounds, e.g., at least one of the resistance values is out of bounds, then Path 1 is not an acceptable path. If additional paths are available (e.g., at least two possible paths were generated 236 and at least one of the possible paths has not yet been considered 238), then the next path (e.g., Path 2 in this example) is considered 248, with resistance values being calculated 240 for each point along the path. If additional paths are not available (e.g., only one path was generated 236 or all of multiple generated 236 possible paths have been considered 238/248), then the automatic selection workflow includes determining 250 whether there are any additional rows available in the resistance dataframe. If there is at least one additional row available in the resistance dataframe, then the next row in the resistance dataframe is set 252 as the current binary point and the automatic selection workflow continues with all paths being generated 236 for the current binary point. Each of the rows in the resistance dataframe can thus be sequentially considered. If there is not at least one additional row available in the resistance dataframe, then no acceptable options have been identified 254 in the automatic selection workflow and the selection process 204 continues.
[0095] Referring again to
[0096] If an acceptable path has not been found (e.g., no selection 244 made in the automatic selection workflow), then a manual selection workflow is performed 262. The manual selection workflow requires a user to manually select an acceptable path.
[0097] As shown in
[0098] The manual selection workflow also includes filtering 266 the resistance dataframe according to the following formula: R>Current Point R & R<1.5*Target Point. The resistance dataframe is then filtered 268 again according to the following formula: calculated 264 hamming distance to target <=the hamming limit that was input when setting up 202 the algorithm plus a preset limit increase value. The filtered 268 resistance dataframe is then sorted 270 on closeness to target. The initial row in the resistance dataframe in the sorted 270 list is considered 272 the current binary point.
[0099] The manual selection workflow also includes generating 274 all possible paths from the current binary point to the target binary point, which is initially the initial target point, similar to the generating 236 of
[0100] The manual selection workflow also includes determining 278 whether a predetermined plural number of options have been generated 274. The predetermined plural number in this illustrated embodiment is six, which should provide the user with varying enough options to select 284 from. If the predetermined plural number of options have not been generated 274, then a next row in the resistance dataframe in the sorted 270 list is considered 280 as the current binary point and the manual selection workflow continues by generating 274 all possible paths from the current binary point to the target binary point as discussed above.
[0101] If the predetermined plural number of options have been generated 274, then the plots for the predetermined plural number of options that have been generated 274 are shown to the user, e.g., on a display of the simulated load 104. The user then selects 284 one of the predetermined plural number of options as the acceptable path. As in this illustrated embodiment, the user can be presented with a variety of choices in making a selection 284. The user can either choose to request 286 more options, to select 290 one of the presented options, or to use 294 the current point instead of any of the presented options. If the user requests 286 more options, then the preset limit increase value is increased 288 by one and the manual selection workflow continues with filtering 268 the reference dataframe according to the following formula: calculated 264 hamming distance to target <=the hamming limit that was input when setting up 202 the algorithm plus a preset limit increase value. If the user selects 290 one of the presented options, then the selected 290 option is set 292 as the acceptable option and the selection process 204 continues by adding 258 the selected 290 path to the gray code as discussed above. If the user chooses to use 294 the current point instead of any of the presented options, then the current point is set 296 as the acceptable option and the selection process 204 continues by adding 258 the selected path to the gray code as discussed above.
[0102] Referring again to
[0103] As mentioned above, a computer system may be suitable for use in implementing computerized components described herein. In broad overview of an exemplary embodiment, the computer system includes a processor configured to perform actions in accordance with instructions, and memory devices configured to store instructions and data. The processor is in communication, via a bus, with the memory (and/or incorporates the memory) and with at least one network interface controller with a network interface for connecting to external devices, e.g., a computer system (such as a mobile phone, a tablet, a laptop, a server, etc.). The processor is also configured to be in communication, via the bus, with any other processor(s) of the computer system and with any I/O devices at an I/O interfaces. Generally, a processor will execute instructions received from the memory. In some embodiments, the computer system can be configured within a cloud computing environment, a virtual or containerized computing environment, and/or a web-based microservices environment.
[0104] In more detail, the processor can be any logic circuitry that processes instructions, e.g., instructions fetched from the memory. In many embodiments, the processor is an embedded processor, a microprocessor unit (MPU), microcontroller unit (MCU), field-programmable gate array (FPGA or FGPA), or special purpose processor. The computer system can be based on any processor, e.g., suitable digital signal processor (DSP), or set of processors, capable of operating as described herein. In some embodiments, the processor can be a single core or multi-core processor. In some embodiments, the processor can be composed of multiple processors.
[0105] The memory can be any device suitable for storing computer readable data. The memory can be a device with fixed storage or a device for reading removable storage media. Examples include all forms of non-volatile memory, media and memory devices, semiconductor memory devices (e.g., EPROM, EEPROM, SDRAM, flash memory devices, and all types of solid state memory), magnetic disks, and magneto optical disks. A computer system can have any number of memory devices.
[0106] The memory also can include a cache memory, which is generally a form of high-speed computer memory placed in close proximity to the processor for fast read/write times. In some implementations, the cache memory is part of, or on the same chip as, the processor.
[0107] The network interface controller is configured to manage data exchanges via the network interface. The network interface controller handles the physical, media access control, and data link layers of the Open Systems Interconnect (OSI) model for network communication. In some implementations, some of the network interface controller's tasks are handled by the processor. In some implementations, the network interface controller is part of the processor. In some implementations, a computer system has multiple network interface controllers. In some implementations, the network interface is a connection point for a physical network link, e.g., an RJ 45 connector. In some implementations, the network interface controller supports wireless network connections and an interface port is a wireless Bluetooth transceiver. Generally, a computer system can be configured to exchange data with other network devices via physical or wireless links to a network interface. In some implementations, the network interface controller implements a network protocol such as LTE, TCP/IP Ethernet, IEEE 802.11, IEEE 802.16, Bluetooth, or the like.
[0108] In some uses, the I/O interface supports an input device and/or an output device (not shown). In some uses, the input device and the output device are integrated into the same hardware, e.g., as in a touch screen. In some uses, such as in a server context, there is no I/O interface or the I/O interface is not used. In some uses, additional other components are in communication with the computer system, e.g., external devices connected via a universal serial bus (USB). In some implementations an I/O device is incorporated into the computer system, e.g., a touch screen on a tablet device.
[0109] In some implementations, a computer device 210 includes an additional device such as a co-processor, e.g., a math co-processor that is configured to assist the processor with high precision or complex calculations.
[0110] One skilled in the art will appreciate further features and advantages of the devices, systems, and methods based on the above-described embodiments. Accordingly, this disclosure is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety for all purposes.
[0111] The present disclosure has been described above by way of example only within the context of the overall disclosure provided herein. It will be appreciated that modifications within the spirit and scope of the claims may be made without departing from the overall scope of the present disclosure.