Abstract:
A system and method for monitoring outlier behavior in an array of n electrodes includes an electrical line, a switching circuit via which the electrodes are individually coupleable to the electrical line, a sensor; and processing circuitry, where, in each of m iterations: (i) a respective subset of electrodes is coupled by the switching circuit to the electrical line, (ii) the sensor senses an electrical parameter produced over the electrical line by the coupled subset of electrodes, and (iii) the processing circuitry obtains from the sensor a respective value of the electrical parameter, m being less than n, and the processing circuitry identifying those of the electrodes that exhibit outlier electrical behavior by finding electrical values to individually ascribe to individual ones of the electrodes of the array, which ascribed values can result in all of the respective values of all of the m iterations.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    The present application claim the benefit, under 35 U.S.C. 119(e), of U.S. Provisional Patent Application Ser. No. 62/108,650, filed Jan. 28, 2015, the entire contents of which is hereby incorporated by reference herein. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to methods and systems for efficiently detecting outlier behavior in high density electrode arrays with data processing using a reduced number of measurements. 
       BACKGROUND 
       [0003]    High density electrode arrays form the backbone of many molecular sensing applications (e.g., high density electrode micro-arrays in deoxyribonucleic acid (DNA) hybridization, protein detection, etc.), and can include a platform in which a large number (e.g., several hundred/thousands) of multiplexed electrode channels are provided, which are capable of parallel operation. In the course of an experiment, a number of electrodes in a high density array can exhibit outlier behavior, which refers to any behavior that causes the current-voltage (I-V) characteristic of an electrode to significantly deviate from that of most others of the electrodes. Generally, the I-V characteristics of most of the electrodes reside within a predefined acceptable range, and an electrode is considered to significantly deviate from that of the general population of electrodes if the I-V characteristics of the electrode are more than three standard deviations from the mean of the I-V characteristics of the general population of electrodes. Similarly, an electrode can also be considered to significantly deviate if the I-V characteristics of the electrode exceed a user-defined threshold. 
         [0004]    Such outlier behavior can be caused many factors. For example, with regard to Indium-Tin-Oxide (ITO) electrodes formed on a glass substrate, outlier behavior may be the result of tin variations causing formation of unstable hydrogel on the surface of the electrode. Generally, the surface of the ITO electrode is composed of different species with dynamically varying concentrations, which are responsible for electrochemical “hot-spots” (e.g., a lot of activity) and “dead-zones” (e.g., very little or no activity). The outlier behavior can also be dynamic in nature, where an electrode exhibits outlier behavior for some portion of the experiment and functions normally during another portion of the experiment. 
         [0005]    Methods to determine outlier behavior in electrodes include either (1) periodically testing each electrode on an individual basis during the course of an experiment or (2) re-validating any data points that significantly deviated from expected values to rule out outlier behavior as the cause of the deviation. 
         [0006]    Generally, the first option is useful for (a) low density electrode arrays (i.e., an array with a small number of electrodes) or (b) high density electrode arrays with a single faulty electrode. With regard to low density electrode arrays, assuming that a typical electrochemical measurement takes about six seconds, each electrode of the array can be tested on an individual basis (i.e., encompassing one measurement) in a relatively short period of time. In other words, during each measurement, a voltage is applied to a single electrode and the current drawn from that electrode is compared to an expected value to determine if it is an outlier. To detect a single faulty electrode among an electrode array with ‘N’ electrodes of a high density electrode array, log 2 N measurements would need to be performed. In other words, for the first measurement, a voltage is applied to two subsets (with each subset containing N/2 electrodes) of the N electrodes and the linear sums of the currents drawn from each of the subsets are compared to an expected current value for each of the subsets. Therefore, if a current sum of one of the subsets deviates from an expected current value, then it can be assumed that the subset contains the outlier. Thus, in order to determine which electrode is the outlier, the above process (i.e., splitting the array of electrodes into two equal subsets during the measurement) is repeated for each subset indicated as including an outlier in a prior iteration. For example, to detect one electrode among a 4096-element array, it would take log 2 (4096) or 12 measurements. Therefore, assuming that each measurement takes six seconds to perform, determining the single outlier among the 4096 element array would take around 72 seconds. 
         [0007]    However, as the number of outlier electrodes increase, the number of measurements required to identify them (i.e., with a high level of confidence) approaches the total number of electrodes. In general, in order to determine more than 1 outlier in an N element array, the number of required measurements rapidly approaches N, requiring almost all of the electrodes to be individually monitored. This is because outlier behavior occurs in both the positive and negative direction and, therefore, merely summing the currents of a subset of electrodes may not show any significant deviation from an expected current value for the subset. Accordingly, applying the log 2 N approach would prove futile. Therefore, to determine more than 1 outlier in a 4096-element array, it would take nearly 4096 measurements, which translates to nearly seven hours of measurement time (assuming that each measurement takes six seconds to perform). Moreover, the above-mentioned outlier monitoring may need to be performed several times during the course of an experiment due to the dynamic nature of the underlying phenomena. 
         [0008]    Further, the second option (i.e., re-validating any data points that significantly deviate from expected values to rule out outlier behavior as the cause of the deviation) is not very attractive because, in many cases, it would require the repetition of an entire experiment, which might not be practical due to a variety of reasons including, but not limited to, additional cost, limited quantity of samples. 
       SUMMARY 
       [0009]    Example embodiments of the present invention provide a system including an electrode array, and circuitry and an associated method for efficiently detecting outlier behavior in the electrode array using a reduced number of measurements, such that outliers in an N-element array are detected using much fewer than N measurements. 
         [0010]    According to an example embodiment of the present invention, a system includes an array of n electrodes; an electrical line; a switching circuit via which the electrodes are individually coupleable to the electrical line; a sensor; and processing circuitry, the system being configured for the following to be performed in each of m iterations: (i) coupling, by the switching circuit, a respective subset of electrodes to the electrical line; (ii) sensing, by the sensor, an electrical parameter produced over the electrical line by the coupled subset of electrodes; and (iii) obtaining, by the processing circuitry and from the sensor, a respective value of the electrical parameter, where m is less than n, and the processing circuitry is configured to identify those of the electrodes that exhibit outlier electrical behavior by finding electrical values to individually ascribe to individual ones of the electrodes of the array, which ascribed values can result in all of the respective values of all of the m iterations. 
         [0011]    In an example embodiment, the subset of electrodes being coupled differs between at least two of the iterations. 
         [0012]    In an example embodiment, the processing circuitry is configured to determine a plurality of sets of electrical values that can be ascribed to the individual electrodes and that each can result in the all of the respective values of all of the m iterations, and is further configured to subsequently select from the plurality of sets, the set whose sum is the least of all respective sums of the respective sets. 
         [0013]    In an example embodiment, the processing circuitry is configured to calculate 
         [0000]    
       
         
           
             
               
                 
                   ( 
                   
                     
                       
                         
                           a 
                           11 
                         
                       
                       
                         
                           a 
                           12 
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           
                             1 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                     
                       
                         
                           a 
                           21 
                         
                       
                       
                         
                           a 
                           22 
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           
                             2 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                     
                       
                         ⋮ 
                       
                       
                         ⋮ 
                       
                       
                         … 
                       
                       
                         ⋮ 
                       
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           a 
                           
                             m 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                       
                         
                           a 
                           
                             m 
                              
                             
                                 
                             
                              
                             2 
                           
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           mn 
                         
                       
                     
                   
                   ) 
                 
                  
                 
                   ( 
                   
                     
                       
                         
                           x 
                           1 
                         
                       
                     
                     
                       
                         
                           x 
                           2 
                         
                       
                     
                     
                       
                         ⋮ 
                       
                     
                     
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           x 
                           n 
                         
                       
                     
                   
                   ) 
                 
               
               = 
               
                 ( 
                 
                   
                     
                       
                         b 
                         1 
                       
                     
                   
                   
                     
                       
                         b 
                         2 
                       
                     
                   
                   
                     
                       ⋮ 
                     
                   
                   
                     
                       m 
                     
                   
                 
                 ) 
               
             
             , 
             
               
 
             
              
             
               each 
                
               
                   
               
                
               row 
                
               
                   
               
                
               of 
                
               
                   
               
                
               
                 ( 
                 
                   
                     
                       
                         a 
                         11 
                       
                     
                     
                       
                         a 
                         12 
                       
                     
                     
                       … 
                     
                     
                       … 
                     
                     
                       
                         a 
                         
                           1 
                            
                           
                               
                           
                            
                           n 
                         
                       
                     
                   
                   
                     
                       
                         a 
                         21 
                       
                     
                     
                       
                         a 
                         22 
                       
                     
                     
                       … 
                     
                     
                       … 
                     
                     
                       
                         a 
                         
                           2 
                            
                           
                               
                           
                            
                           n 
                         
                       
                     
                   
                   
                     
                       ⋮ 
                     
                     
                       ⋮ 
                     
                     
                       … 
                     
                     
                       ⋮ 
                     
                     
                       ⋮ 
                     
                   
                   
                     
                       
                         a 
                         
                           m 
                            
                           
                               
                           
                            
                           1 
                         
                       
                     
                     
                       
                         a 
                         
                           m 
                            
                           
                               
                           
                            
                           2 
                         
                       
                     
                     
                       … 
                     
                     
                       … 
                     
                     
                       
                         a 
                         mn 
                       
                     
                   
                 
                 ) 
               
             
           
         
       
     
         [0000]    and of 
         [0000]    
       
         
           
               
             
               ( 
               
                 
                   
                     
                       b 
                       1 
                     
                   
                 
                 
                   
                     
                       b 
                       2 
                     
                   
                 
                 
                   
                     ⋮ 
                   
                 
                 
                   
                     m 
                   
                 
               
               ) 
             
           
         
       
     
         [0000]    corresponds to a respective one of the iterations, each column of 
         [0000]    
       
         
           
               
             
               ( 
               
                 
                   
                     
                       a 
                       11 
                     
                   
                   
                     
                       a 
                       12 
                     
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     
                       a 
                       
                         1 
                          
                         
                             
                         
                          
                         n 
                       
                     
                   
                 
                 
                   
                     
                       a 
                       21 
                     
                   
                   
                     
                       a 
                       22 
                     
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     
                       a 
                       
                         2 
                          
                         
                             
                         
                          
                         n 
                       
                     
                   
                 
                 
                   
                     ⋮ 
                   
                   
                     ⋮ 
                   
                   
                     … 
                   
                   
                     ⋮ 
                   
                   
                     ⋮ 
                   
                 
                 
                   
                     
                       a 
                       
                         m 
                          
                         
                             
                         
                          
                         1 
                       
                     
                   
                   
                     
                       a 
                       
                         m 
                          
                         
                             
                         
                          
                         2 
                       
                     
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     
                       a 
                       mn 
                     
                   
                 
               
               ) 
             
           
         
       
     
         [0000]    corresponds to a respective one of the electrodes in the array, each position of 
         [0000]    
       
         
           
               
             
                 
             
              
             
               ( 
               
                 
                   
                     
                       a 
                       11 
                     
                   
                   
                     
                       a 
                       12 
                     
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     
                       a 
                       
                         1 
                          
                         
                             
                         
                          
                         n 
                       
                     
                   
                 
                 
                   
                     
                       a 
                       21 
                     
                   
                   
                     
                       a 
                       22 
                     
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     
                       a 
                       
                         2 
                          
                         
                             
                         
                          
                         n 
                       
                     
                   
                 
                 
                   
                     ⋮ 
                   
                   
                     ⋮ 
                   
                   
                     … 
                   
                   
                     ⋮ 
                   
                   
                     ⋮ 
                   
                 
                 
                   
                     
                       a 
                       
                         m 
                          
                         
                             
                         
                          
                         1 
                       
                     
                   
                   
                     
                       a 
                       
                         m 
                          
                         
                             
                         
                          
                         2 
                       
                     
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     
                       a 
                       mn 
                     
                   
                 
               
               ) 
             
           
         
       
     
         [0000]    is populated with either a first value or a second value depending on whether the respective electrode was enabled or disabled in the respective iteration, each position of 
         [0000]    
       
         
           
               
             
               ( 
               
                 
                   
                     
                       b 
                       1 
                     
                   
                 
                 
                   
                     
                       b 
                       2 
                     
                   
                 
                 
                   
                     ⋮ 
                   
                 
                 
                   
                     m 
                   
                 
               
               ) 
             
           
         
       
     
         [0000]    is populated with the respective value of the electrical parameter for the respective iteration, and each of the x values is an unknown, which the processing circuitry determines by finding the set of x values that satisfy 
         [0000]    
       
         
           
             
                 
             
              
             
               
                 
                   ( 
                   
                     
                       
                         
                           a 
                           11 
                         
                       
                       
                         
                           a 
                           12 
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           
                             1 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                     
                       
                         
                           a 
                           21 
                         
                       
                       
                         
                           a 
                           22 
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           
                             2 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                     
                       
                         ⋮ 
                       
                       
                         ⋮ 
                       
                       
                         … 
                       
                       
                         ⋮ 
                       
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           a 
                           
                             m 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                       
                         
                           a 
                           
                             m 
                              
                             
                                 
                             
                              
                             2 
                           
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           mn 
                         
                       
                     
                   
                   ) 
                 
                  
                 
                   ( 
                   
                     
                       
                         
                           x 
                           1 
                         
                       
                     
                     
                       
                         
                           x 
                           2 
                         
                       
                     
                     
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           x 
                           n 
                         
                       
                     
                   
                   ) 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       
                         
                           b 
                           1 
                         
                       
                     
                     
                       
                         
                           b 
                           2 
                         
                       
                     
                     
                       
                         ⋮ 
                       
                     
                     
                       
                         m 
                       
                     
                   
                   ) 
                 
                 . 
               
             
           
         
       
     
         [0014]    In an example embodiment, the processing circuitry is configured to determine a plurality of sets of x values that are each plausible, sum each set of x values, and select the set whose sum is smallest. 
         [0015]    In an example embodiment, each x value represents a contribution of a respective one of the electrodes towards the values of the sensed electrical parameters produced over the electrical line during the iterations. 
         [0016]    According to an example embodiment of the present invention, a system for monitoring and regulating an electrode array includes a measuring circuit that is configured to perform measurements in which the measuring circuit supplies voltages to enabled electrodes in the electrode array and detects current across the enabled electrodes in the electrode array, the system further includes at least one scan chain, each memory element of which corresponds to an electrode in the electrode array, and the system further includes a processing circuit configured to, in a first step, generate a random sequence of 1s and 0s, where the sequence corresponds to a number of electrodes in the electrode array, in another step, supply the random sequence to the at least one scan chain, in another step, solve for a column vector x in Ax=b, where: A corresponds to a m×n matrix populated with the 1s and 0s of the random sequence; m is a number of predefined measurements and n corresponds to the number of electrodes in the electrode array; and b represents a column vector corresponding to the sum of the resulting currents of the electrodes for each of the measurements. In another step, the processing circuit is configured to determine for each solution x, a sum of |X 1 |+|X 2 |+ . . . |X N |, where |X 1 |, |X 2 | . . . |X N | correspond to elements of the column vector x. In another step, the processing circuit is configured to select a solution x which has the lowest sum of |X 1 |+|X 2 |+ . . . |X N | and determine at least one faulty electrode from the solution x with the lowest sum. In example embodiment, the processing circuit is configured to regulate the electrodes of the electrode array based on the at least one determined faulty electrode. 
         [0017]    In an example embodiment, the electrode array is implemented in (1) a glass slide or (2) a complementary metal-oxide semiconductor (CMOS) chip. 
         [0018]    In an example embodiment, the electrode array is implemented on a combination of a glass slide and a complementary metal-oxide semiconductor (CMOS) chip. 
         [0019]    In an example embodiment, the at least one scan chain includes a shift register. 
         [0020]    In an example embodiment, the measuring circuit and the at least one scan chain interface with the electrodes of the electrode array through at least one of a (1) decoder circuit and (2) multiplexer. 
         [0021]    In an example embodiment, the scan chain is implemented with (1) capacitors or (2) flip-flops. 
         [0022]    According to an example embodiment of the present invention, a method for monitoring and regulating an electrode array includes a processor generating a random sequence of 1s and 0s, where the sequence corresponds to a number of electrodes in the electrode array; the processor supplying the random sequence to at least one scan chain; enabling the electrodes in the electrode array depending on values in the at least one scan chain; supplying a voltage to the enabled electrodes via a measurement line; detecting a sum of the resulting currents across the enabled electrodes; repeating the previous steps a pre-defined number of times; supplying the detected currents to the processor; solving, by the processor, for a column vector x in Ax=b, where A corresponds to a m×n matrix populated with the 1s and 0s of the random sequence, m is a number of predefined measurements, n corresponds to the number of electrodes in the electrode array, and b represents a column vector corresponding to the sum of the resulting currents of the electrodes for each of the measurements. For each solution x, the processor determines a sum of |X 1 |+|X 2 |+ . . . |X N |, where |X 1 |, |X 2 | . . . |X N | correspond to elements of the column vector x. The processor selects a solution x which has the lowest sum of |X 1 |+|X 2 |+ . . . |X N |, determines at least one faulty electrode from the solution x with the lowest sum, and regulates the electrodes of the electrode array based on the at least one determined faulty electrode. 
         [0023]    In an example embodiment, the regulating includes (1) adjusting the voltage being applied to the faulty electrode or (2) disabling the faulty electrode. 
         [0024]    In an example embodiment, the method further includes dividing, by the processor, the electrode array into at least two sub-arrays, determining, by the processor, which sub-array of the at least two sub-arrays includes the at least one faulty electrode, and reapplying the detection method to the sub-array determined as including the at least one faulty electrode. 
         [0025]    In an example embodiment, the at least one faulty electrode is determined from non-zero elements of the solution x with the lowest sum. 
         [0026]    In an example embodiment, m&lt;n. 
         [0027]    In an example embodiment, the random sequence of 1s and 0s is supplied to at least two scan chains, and the random sequence supplied to the first scan chain is different than the random sequence supplied to at least one second scan chain. 
         [0028]    In an example embodiment, current-voltage characteristics of the at least one faulty electrode significantly deviate from a mean of the current-voltage characteristics of a general population of electrodes in the electrode array. 
         [0029]    Example embodiments of the present invention are directed to a non-transitory computer readable medium containing program instructions for detecting outlier behavior in an electrode array using a reduced number of measurements, where execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the steps of one or more of the methods described herein. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0030]      FIG. 1A  depicts a system to detect outlier behavior of an array, according to an example embodiment of the present invention. 
           [0031]      FIG. 1B  depicts a system to detect outlier behavior of an array, where the array elements are arranged in rows, according to an example embodiment of the present invention. 
           [0032]      FIG. 2  is a block diagram of a system to detect outlier behavior, according to an example embodiment of the present invention. 
           [0033]      FIG. 3  is a flowchart that illustrates a method to detect outlier behavior, according to an example embodiment of the present invention. 
           [0034]      FIG. 4  depicts (1) a graph of example actual outlier behavior and (2) a graph of corresponding results from the outlier detection method, according to an example embodiment of the present invention. 
           [0035]      FIG. 5  is a flowchart that illustrates a simulation method utilized to verify the outlier behavior detection method, according to an example embodiment of the present invention. 
           [0036]      FIG. 6A  depicts the probability of success for different outlier occurrences in 20 electrodes using the simulation method of  FIG. 5  for 100 trials, according to an example embodiment of the present invention. 
           [0037]      FIG. 6B  depicts the probability of success for different outlier occurrences in 50 electrodes using the simulation method of  FIG. 5  for 500 trials, according to an example embodiment of the present invention. 
           [0038]      FIG. 6C  depicts the probability of success for different outlier occurrences in 100 electrodes using the simulation method of  FIG. 5  for 500 trials, according to an example embodiment of the present invention. 
           [0039]      FIG. 6D  depicts the probability of success for different outlier occurrences in 200 electrodes using the simulation method of  FIG. 5  for 100 trials, according to an example embodiment of the present invention. 
           [0040]      FIG. 6E  depicts the probability of success for different measurement noise variances for 5 outliers in 100 electrodes using the simulation method of  FIG. 5  for 500 trials, according to an example embodiment of the present invention. 
           [0041]      FIG. 6F  depicts the number of measurements required for various electrode/outlier combinations to achieve a 95% success rate with the simulation method of  FIG. 5 , according to an example embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0042]      FIG. 1A  illustrates a system including an electrode array, with circuitry utilized to detect outlier behavior in the electrodes of the array. System  100  includes a measurement line  101 , scan chain  102 , control  103  and electrodes  104 . In an example embodiment, control  103  is configured to generate sequences of 1s and 0s, e.g., random sequences thereof, to supply to the scan chain  102 , where the sequences each identify which of the electrodes are to be enabled and which of the electrodes are to be disabled during a test, and where the measurement line  101  is able to supply a voltage to, and detect a current across, only the enabled ones of the electrodes. In an example embodiment, an electrode is enabled if a high level (“1”) is supplied to the electrode from the scan chain  102 , and an electrode is disabled if a low level (“0”) is supplied to the electrode  102 . In an example embodiment, the scan chain  102  is a shift register, where each memory element of the shift register corresponds to a respective one of the electrodes of the electrode array. In an example embodiment, the scan chain  102  sets the plurality of electrodes in the electrode array simultaneously to their respective enabled and disabled statuses. In an example embodiment, the measurement line  101  supplies a voltage to all of the enabled electrodes simultaneously, for detection of the current across the enabled electrodes. 
         [0043]      FIG. 1B  depicts another example embodiment of a system utilized to detect outlier behavior. The system of  FIG. 1B  is similar to that of  FIG. 1A , except that the electrodes are divided into sections, e.g., by row, with respective scan chains ( 112   i - 112   n ) and measurement line  111  branches being provided to the physical respective groups of the electrode array. For example, in system  110 , each row of the electrode array contains 32 electrodes, and control  113  supplies, for each test of the array, respective, random sequences of 1s and 0s to scan chains  112   i  to  112   n  for enabling and disabling different electrodes in the respective rows of the electrode array. Similar to system  100 , the branches of measurement line  111  simultaneously supply a voltage to, and detect a current across, all of the electrodes of the array, which have been enabled by their respective scan chains  112   i - 112   n.    
         [0044]    In an example embodiment of the present invention, the system includes circuitry configured to process electrical signals sensed from the measurement line  111  in response to the voltage supply to the enabled electrodes, to detect those of the electrodes that exhibit outlier behavior. In an example embodiment, the circuitry includes a sensor to obtain the signal, the sensor being coupled to a processor for supplying data representing the sensed signal to the processor. For example, in an example embodiment, the sensor senses an analog signal, which is fed to an analog-to-digital converter to produce a corresponding digital signal, which is provided to the processor. The processor can be implemented using any appropriate processing circuit and device or combination thereof, e.g., a Central Processing Unit (CPU) of a Personal Computer (PC) or other workstation processor, to execute code provided, e.g., on a non-transitory hardware computer-readable medium including any conventional memory device, to perform any of the methods described herein, alone or in combination. The memory device can include any suitable permanent and/or temporary memory circuits or combination thereof, a non-exhaustive list of which includes Random Access Memory (RAM), Read Only Memory (ROM), Compact Disks (CD), Digital Versatile Disk (DVD), flash memory and magnetic tape. 
         [0045]    In an example embodiment, the system is configured to iteratively set different respective sets of the electrodes of the array to enabled status, taking a respective measurement in each such iteration, and supplying the respective sensed signal to the processor. In an example embodiment, the processor is configured to then identify the outlier electrodes based on the combination of signal values obtained over a plurality of the iterations, using the equation of Ax=b, where ‘A’ is a m×n matrix, with m being the number of measurements (iterations), n corresponding to the number of electrodes in the array, ‘x’ is a n×1 matrix corresponding to the unknown individual current values of the respective electrodes, and ‘b’ is a m×1 matrix of the respective sum of the currents of all of the enabled electrodes of each measurement iteration. In an example embodiment, m (i.e., the number of measurements) is predefined. 
         [0046]    It is possible for a number of combinations of values to be pluggable into the ‘x’ matrix and satisfy the relationship Ax=b. In an example embodiment, the processor determines which of the possible combinations of values that are pluggable into the ‘x’ matrix, when added together produces the lowest sum. The processor then determines which of that determined value combination is/are a statistical outlier and identifies the corresponding electrode(s) as the outlier electrode(s). 
         [0047]    For example, in an example embodiment, for each solution x to Ax=b, the processor calculates the sum of |x 1 |+|x 2 |+ . . . |x N |, and then selects the outliers from a solution x which has the lowest sum of |x 1 |+|x 2 |+ . . . |x N |. For example, if the electrochemical quantity of interest (i.e., I-V characteristic) is a deviation in electrode double layer capacitance from the average values (i.e., ΔC), in an example embodiment, it is assumed that most of the ΔC&#39;s are very close to zero, and the outliers are determined by solving for ΔC in the linear problem, A(ΔC)=b. In order to determine ΔC 1 , ΔC 2 , ΔC 3  . . . . ΔC N , the linear problem is expanded to a 11 ΔC 1 +a 12 ΔC 2 +a 13 ΔC 3  . . . +a 1N ΔC N =b 1 , where a 11 , a 12 , a 13  . . . a 1N  represent the electrodes of the array and are randomly chosen to be either 0 or 1 in each of m&lt;&lt;n iterations, where, for example, a 0 is set for each electrode that is disabled in the respective iteration and a 1 is set for each electrode that is enabled in the respective iteration, to get: 
         [0000]    
       
         
           
             
                 
             
              
             
               
                 
                   ( 
                   
                     
                       
                         
                           a 
                           11 
                         
                       
                       
                         
                           a 
                           12 
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           
                             1 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                     
                       
                         
                           a 
                           21 
                         
                       
                       
                         
                           a 
                           22 
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           
                             2 
                              
                             
                                 
                             
                              
                             n 
                           
                         
                       
                     
                     
                       
                         ⋮ 
                       
                       
                         ⋮ 
                       
                       
                         … 
                       
                       
                         ⋮ 
                       
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           a 
                           
                             m 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                       
                         
                           a 
                           
                             m 
                              
                             
                                 
                             
                              
                             2 
                           
                         
                       
                       
                         … 
                       
                       
                         … 
                       
                       
                         
                           a 
                           mn 
                         
                       
                     
                   
                   ) 
                 
                  
                 
                   ( 
                   
                     
                       
                         
                           Δ 
                            
                           
                               
                           
                            
                           
                             C 
                             1 
                           
                         
                       
                     
                     
                       
                         
                           Δ 
                            
                           
                               
                           
                            
                           
                             C 
                             2 
                           
                         
                       
                     
                     
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           Δ 
                            
                           
                               
                           
                            
                           
                             C 
                             n 
                           
                         
                       
                     
                   
                   ) 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       
                         
                           b 
                           1 
                         
                       
                     
                     
                       
                         
                           b 
                           2 
                         
                       
                     
                     
                       
                         ⋮ 
                       
                     
                     
                       
                         
                           b 
                           m 
                         
                       
                     
                   
                   ) 
                 
                 . 
               
             
           
         
       
     
         [0048]    For example, if electrodes  1  and n are enabled and electrode  2  is disabled in iteration  1 , electrodes  2  and n are enabled and electrode  1  is disabled in iteration  2 , and electrode  2  is enabled and electrodes  1  and n are disabled in iteration n, then matrix A would include the following values: 
         [0000]    
       
         
           
               
             
               ( 
               
                 
                   
                     1 
                   
                   
                     0 
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     1 
                   
                 
                 
                   
                     0 
                   
                   
                     1 
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     1 
                   
                 
                 
                   
                     ⋮ 
                   
                   
                     ⋮ 
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     ⋮ 
                   
                 
                 
                   
                     0 
                   
                   
                     1 
                   
                   
                     … 
                   
                   
                     … 
                   
                   
                     0 
                   
                 
               
               ) 
             
           
         
       
     
         [0049]    In each iteration, the measurement line  101 / 111  obtains a value for an electrical parameter formed by the combination of electrical responses of all enabled electrodes of the iteration. Those values populate matrix b, such that the sensed value of iteration  1  populates b 1 , the sensed value of iteration  2  populates b 2 , the sensed value of iteration n populates b n , etc. 
         [0050]    Then, for each solution of a set of values for ΔC 1 , ΔC 2 , ΔC 3  . . . . ΔC N  that satisfies the above equation, a sum |ΔC 1 |+|ΔC 2 |+ . . . |ΔC N | is determined, and the outliers are selected from the solution ΔC 1 , ΔC 2 , ΔC 3  . . . ΔC N  with the lowest sum |ΔC 1 |+|ΔC 2 |+ . . . |ΔC N |. In an example embodiment, other parameters of interest can be obtained in similar fashion including, but not limited to, exchanged current density at a particular element, polarization conductances, etc. 
         [0051]    Although only less than n iterations are performed, the outliers can be determined because the I-V characteristics of the general population of electrodes in a high density electrode array generally show strong clustering, with only a few outliers. A well-designed electrode array with only a few of the electrodes exhibiting a significant deviation in I-V characteristics, i.e., a sparse distribution of the outliers compared to the general population of electrodes, can be assumed, and, according to compressed sensing theory, N unknowns can be determined from less than N measurements with high probability if most of the N unknowns of interest are zero (i.e., the N-unknowns are sparse). Furthermore, particularly because of the sparseness of outliers, in an example embodiment, as noted above, x is chosen such that the linear equation is satisfied and the l 1 -norm (|x 1 |+|x 2 |+ . . . |x N |) is minimized. In other words, an x is chosen such that a fewest number of non-zero elements satisfies the equation, and the outliers in the high density electrode array are selected from the non-zero elements of x. 
         [0052]      FIG. 2  is a block diagram of a system utilized to detect outlier behavior, according to an example embodiment of the present invention. The illustrated system includes an electrode array  201 , an array select arrangement  202 , a driver and readout arrangement  203  and a processor  204 . In an example embodiment, the processor  204  is configured to generate and provide a random sequence of 1s and 0s for selecting which of the electrodes of the array are enabled in a test iteration and which of the electrodes of the array are disabled in the test iteration, like the functionality described above for controls  103  and  113  of  FIGS. 1A and 1B . The random sequences of 1s and 0s correspond to and populate the coefficients a 11  to a mn  in the above-described matrix A of Ax=b. 
         [0053]    Thus, processor  204  generates the matrix determining which electrodes in the electrode array will be measured. In an example embodiment, the processor  204  also determines (1) the solution(s) for x in Ax=b and (2) which of the possible solutions has the lowest sum of |x 1 |+|x 2 |+ . . . |x N |. In an example embodiment, the processor  204  performs compressed sampling including the minimization of the l 1 -norm (|x 1 |+|x 2 |+ . . . |x N |) to find the solution. 
         [0054]    Array select arrangement  202  is configured to control the switching of the electrodes of the array  201 , to connect the processor  204  and the driver and readout arrangement  203  to the electrodes of the electrode array  201  that have been selected by the processor  204 . In an example embodiment, the array select  202  includes a multiplexer (MUX) for accessing groups of electrodes. In an example embodiment, the device includes a circuit via which the processer  204  and the driver and readout arrangement  203  interface with the electrodes in electrode array  201 . 
         [0055]    In an example embodiment, the driver and readout arrangement  203  is configured to obtain the measurement of the electrical response of the electrodes in electrode array  201 . For example, the driver and readout arrangement  203  includes measure lines  101 / 111  of  FIGS. 1A and 1B  and supplies voltage to, and detects current through, the enabled electrodes in electrode array  201 . In an example embodiment, the driver and readout arrangement  203  includes a complementary metal-oxide semiconductor (“CMOS”) to sense the electrical measurements. In an example embodiment, the driver and readout arrangement  203  transmits, e.g., a digital form of, the resulting detected currents from electrode array  201  to processor  204  after m measurements, or, alternatively, respective measurements after respective ones of the m measurements. 
         [0056]    As noted above, in an example embodiment, the sum of the currents detected during each measurement correspond to column vector b in Ax=b. For example, b 1  corresponds to the sum of the currents detected at the enabled electrodes during the first measurement. Accordingly, with matrix A and column vector b, the processor  204  is configured to solve for the x matrix that satisfies Ax=b and minimizes the sum |x 1 |+|x 2 |+ . . . |x N |, and recover the variables in column vector x corresponding to the outliers in the electrode array  201 . 
         [0057]    In an example embodiment, the electrode array  201  is implemented on a glass slide. In an alternative example embodiment, the electrode array  201  is implemented on a CMOS chip. In an alternative example embodiment, the system includes a combination of a glass slide and a CMOS chip. For example, in an example embodiment, the glass slide is utilized to implement the electrode array and decoder functions while the CMOS chip is implemented to contain all of the post-processing and data acquisition circuits. Further, in an alternative example embodiment, the entire system (i.e., the electrode array, the decoder, and the data acquisition blocks) is implemented in a CMOS platform. 
         [0058]    In an example embodiment, the scan chains are implemented with capacitors. In an alternative example embodiment, the scan chains are implemented with flip flops. 
         [0059]      FIG. 3  illustrates an example method to monitor and regulate electrodes of an electrode array. In step  300 , the measurement line (e.g.,  101 / 111 ) is initialized. Then, in step  301 , a processor/controller (e.g.,  204 / 103 / 113 ) generates a random sequence of 0s and 1s to supply to a scan chain(s) (e.g., scan chains  102 ,  112   i - 112   n ). In step  302 , the generated random sequence is supplied to the scan chain(s). In step  303 , selected ones of the electrodes in the electrode array are enabled depending on the values in each memory element of the scan chain corresponding to the electrode. In step  304 , the measurement line supplies a voltage to the enabled electrodes. Then, in step  305 , the measurement line detects a sum of the currents across the enabled electrodes. In an example embodiment, steps  301 - 305  are repeated m times. In step  306 , the detected currents of the m measurements are supplied to a data processor (e.g., processor  204 ). In step  307 , the data processor solves for x in Ax=b, where A corresponds to a m×n matrix, with m being the number of measurements, n corresponding to the number of electrodes, and b represents a column vector of the linear sums of the currents of the electrodes for the respective m measurements. Then, in step  308 , for each solution x, the sum of |x 1 |+|x 2 |+|x N | is determined. In step  309 , the solution with the lowest sum is chosen. In step  310 , the outliers in the electrode array are determined from the solution x selected in step  309 . In step  311 , the electrodes in the electrode array are regulated based on the outlier behavior determined in step  310 , for example, by adjusting the voltage being applied to the faulty electrode or disabling the electrode completely. In an example embodiment, a processor (e.g., processor  204 ) performs the regulation of the electrodes via the measure line. 
         [0060]    In an example embodiment, after determining the outliers of the electrode array with the outlier detection method of  FIG. 3 , the detection method is reapplied on only the group of faulty electrodes, in order to further refine the I-V characteristic values of the detected faulty electrodes. For example, the re-performance of the method can be done a predetermined number of times. Alternatively, the system is configured to receive user input setting the number of times to re-perform the method. 
         [0061]    In an alternative example embodiment, sub-arrays within the electrode array are predefined, and the method is reapplied to only those predefined sub-arrays that include at least one electrode identified in the prior performance of the method as being faulty. 
         [0062]      FIG. 4  shows (1) a graph  401  of example actual outlier behavior of the electrode array and (2) a graph  402  of example results from the outlier detection method regarding the behavior of the electrodes, corresponding to the actual outlier behavior of the graph  401 . As demonstrated by graphs  401  and  402 , the electrode array to which the graphs correspond include 100 electrodes and the electrochemical quantity of interest is the deviation in electrode double layer capacitance from the average values (i.e., ΔC). Further, as depicted in graph  401 , most of the ACs of the electrode array are very close to zero (e.g., making the electrode array a perfect candidate for the detection method of the present invention). Further, as depicted in graph  402 , the detection method of the present invention successfully detected the most deviating ΔCs. 
         [0063]      FIG. 5  depicts an example embodiment of a simulation method utilized to verify the outlier behavior detection method. In step  501 , a column vector (i.e., ΔC) with N-random variables, i.e., an artificially generated set of electrodes with outlier behavior, is generated. Further, in an example embodiment, of the N-random variables generated, there are K-sparse ΔC variables, which are the only variables among the N-random variables which are non-zero. In step  502 , an M×N matrix (e.g., matrix A) is generated with a random distribution of 1s and 0s, where M corresponds to the number of measurements. In step  503 , the product of the matrix (e.g., matrix A) generated in step  502  and the column vector generated in step  501  is determined. In step  504 , a matrix containing M random noise variables is generated. In an example embodiment, each row of the matrix contains at least one random noise variable. In step  505 , the sum of the M×N matrix generated in step  503  and the matrix containing the M random noise variables generated in step  504  is determined. In step  506 , the outlier detection method of the present invention is applied to the matrix generated in step  505  in order to estimate the ΔC variables. In step  507 , it is determined whether the estimated ΔC variables correctly identify the K outliers generated in step  501 . If the estimated ΔC variables correctly identify the K outliers generated in step  501  then, in step,  509 , the simulation is marked as a success. However, if the estimated ΔC variables do not correctly identify the K outliers generated in step  501  then, in step  508 , the simulation is marked as a failure. In an example embodiment, the simulation is repeated Y times, and, after Y simulations, the success rate of the outlier detection method can be determined. 
         [0064]      FIG. 6A  shows the probability of success for different outlier occurrences in 20 electrodes using the simulation method of  FIG. 5  for 100 trials. Specifically,  FIG. 6A  shows the probability of success of the outlier detection method for an electrode array with 1, 2, 3, 4, and 5 outliers, respectively. 
         [0065]      FIG. 6B  shows the probability of success for different outlier occurrences in 50 electrodes using the simulation method of  FIG. 5  for 500 trials. Specifically,  FIG. 6B  shows the probability of success of the outlier detection method for an electrode array with 1, 2, 3, 4, and 5 outliers, respectively. 
         [0066]      FIG. 6C  shows the probability of success for different outlier occurrences in 100 electrodes using the simulation method of  FIG. 5  for 500 trials. Specifically,  FIG. 6C  shows the probability of success of the outlier detection method for an electrode array with 1, 2, 3, 4, and 5 outliers, respectively. 
         [0067]      FIG. 6D  depicts the probability of success for different outlier occurrences in 200 electrodes using the simulation method of  FIG. 5  for 100 trials. Specifically,  FIG. 6D  shows the probability of success of the outlier detection method for an electrode array with 1, 2, 3, 4, and 5 outliers, respectively. 
         [0068]      FIG. 6E  shows the probability of success for different measurement noise variances for 5 outliers in 100 electrodes using the simulation method of  FIG. 5  for 500 trials. Specifically,  FIG. 6E  depicts the probability of success of the outlier detection method for a noise variance of 0.05 sigma, 0.15 sigma, 0.75 sigma, 0.105 sigma, and 0.45 sigma, respectively. 
         [0069]      FIG. 6F  shows the number of measurements required for various electrode/outlier combinations to achieve a 95% success rate with the simulation method of  FIG. 5 . As shown in  FIG. 6F , for an electrode array of 50 electrodes with 1 outlier, 20 measurements are enough. Further, for an electrode array of 100 electrodes with 2 outliers, approximately 14 measurements are required. Similarly, for an electrode array of 200 electrodes with 4 outliers, approximately 13 measurements are required. 
         [0070]    The foregoing systems and methods can be used on any electrode array irrespective of the specific substrate (e.g., glass substrate, silicon, etc.), electrode material (e.g., ITO, platinum, etc.) and redox couples (e.g., cyanide; methyl-1, 4-hydroquinone/methyl-1, 4-benzoquinone; etc.). In addition, the parameters of interest can either be a small or large signal. Further, the parameters of interest can be time-varying or time invariant. The foregoing systems and methods can also be applied to single photon avalanche diodes and battery cell testing. 
         [0071]    The above description is intended to be illustrative, and not restrictive. Those skilled in the art can appreciate from the foregoing description that the present invention may be implemented in a variety of forms, and that the various embodiments can be implemented alone or in combination. Therefore, while the embodiments of the present invention have been described in connection with particular examples thereof, the true scope of the embodiments and/or methods of the present invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and the claims below. Further, steps illustrated in the flowcharts may be omitted and/or certain step sequences may be altered, and, in certain instances multiple illustrated steps may be simultaneously performed.