Patent Abstract:
A system is provided that includes an encoder strip having encoder markings, first and second optical encoders positioned at a fixed distance from one another on a substrate and, responsive to being moved along the encoder strip, configured to generate first and second signals, respectively, that each indicate detection of the encoder markings on the encoder strip and processing circuitry configured to determine a current phase difference between the first and the second signals using a first portion of the first signal that corresponds to a first plurality of encoder markings and a second portion of the second signal that corresponds to a second plurality of encoder markings.

Full Description:
BACKGROUND  
       [0001]    Inkjet printing systems that include two or more print carriages align the print carriages with one another to prevent print defects from occurring when printing an image onto a print medium. The process of aligning the print carriages may be affected by environmental changes inside printing systems such as increases in temperature and humidity. The environmental changes may be caused by the application of heat to dry ink applied to a print medium. It would be desirable to prevent print defects from occurring as a result of environmental changes in a printing system. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0002]      FIGS. 1A-1B  are block diagrams illustrating one embodiment of an inkjet printing system. 
           [0003]      FIG. 2  is a schematic diagram illustrating one embodiment of selected portions of an inkjet printing system. 
           [0004]      FIG. 3  is a schematic diagram illustrating one embodiment of encoders and an encoder strip. 
           [0005]      FIG. 4  is a timing diagram illustrating one embodiment of encoder signals. 
           [0006]      FIGS. 5A-5B  are flow charts illustrating embodiments of a method for compensating for the expansion of an encoder strip. 
       
    
    
     DETAILED DESCRIPTION  
       [0007]    In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the disclosed subject matter may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. 
         [0008]    According to one embodiment, an inkjet printing system compensates for the expansion of encoder strips due to environmental changes by measuring a phase difference in signals generated by a pair of encoders on each print carriage as the encoders move along an encoder strip. The inkjet printing system determines a measured unit change from the phase difference and adjusts the printing of image using the measured unit change to prevent print defects from appearing on a print medium. 
         [0009]    Figure IA is a block diagram illustrating one embodiment of an inkjet printing system  100 . Inkjet printing system  100  is configured to receive image data  102  that represents an image and cause a reproduction of the image to be formed on a print medium  104  such as paper. Inkjet printing system  100  may also include other imaging units such as a scanner and/or a fax machine (not shown). 
         [0010]    Inkjet printing system  100  receives image data  102  from any suitable image data source (not shown) such as a computer system, a mobile device, or a storage system. Inkjet printing system  100  may connect to the image data source by any suitable connection that allows image data  102  to be received by inkjet printing system  100  such as a wired or wireless point-to-point connection or a wired or wireless network connection. The network connection may connect to a local area network (LAN), a wide area network (WAN), or a global communications network such as the Internet. 
         [0011]    A controller  110  in system  100  includes a processor  112  and a memory  114 . Controller  110  receives image data  102  and stores each set of image data  102  as an image  106  in memory  114 . Image  106  represents, for example, all or a portion of a document and/or a file to be printed. Controller  110  provides signals that include print data corresponding to image  106  and control signals to a media transport unit  120 , two or more carriage drive mechanisms  130 ( 1 )- 130 (N), and two or more print carriages  132 ( 1 )- 132 (N) to cause image  106  to be reproduced on print medium  104 . Processor  112  executes instructions stored in memory  114  to operate system  100 . Memory  114  is any suitable storage medium that is accessible to processor  112  to allow processor  112  to access and store instructions and/or data. Memory  114  may include any suitable type and/or combination of volatile and non-volatile memory devices in any suitable configuration. A carriage positioning unit  116  aligns print carriages  132  with respect to one another using encoders  142  and  144  (shown in  FIG. 1B ) and an encoder strip  124  for each print carriage  132  as described in additional detail below. 
         [0012]    To print image  106 , media transport unit  120  moves print medium  104  past print carriages  132 ( 1 )- 132 (N) in response to signals from controller  110 . As print medium  104  moves past print carriages  132 ( 1 )- 132 (N), controller  110  provides signals and print data to carriage drive mechanisms  130 ( 1 )- 130 (N) and print carriages  132 ( 1 )- 132 (N). Carriage drive mechanisms  130 ( 1 )- 130 (N) scan print carriages  132 ( 1 )- 132 (N), respectively, back and forth across print medium  104  and print carriages  132 ( 1 )- 132 (N) selectively deposit or eject ink drops  134 ( 1 )- 134 (N), respectively, onto print medium  104  in accordance with the print data to reproduce image  106  on print medium  104 . Media transport mechanism  120  may also include a media feed mechanism (not shown) to feed print medium  104  and/or one or more media supply tray (not shown) to store additional print media  104 . 
         [0013]    Referring to  FIG. 1B , each print carriage  132  includes a printhead array  136  of one or more printheads  138  mounted on, attached to, integrally formed with, or otherwise affixed to a substrate  140 . Each printhead  138  is configured to selectively deposit or eject drops of ink  134  onto print medium  104 . The ink deposited or ejected by printheads  138  may be propelled by thermal heating, piezoelectric actuators, or another suitable mechanism. The set of printheads  138  in each printhead array  136  may deposit or eject one or more colors of ink. A dryer  146  provides heat to dry the ink on print medium  104  in response to signals from controller,  110 . 
         [0014]    Each print carriage  132  also includes a pair of encoders  142  and  144  that are used in conjunction with an encoder strip  124  (shown in  FIG. 1A ) to align print carriages  132  with respect to one another. Each encoder strip  124  is positioned relative to media transport mechanism  120  so that corresponding pairs of encoders  142  and  144  pass over each encoder strip  124  as a print carriage  132  moves across print medium  104  as will be described in additional detail below. 
         [0015]      FIG. 2  is a schematic diagram illustrating one embodiment of selected portions of inkjet printing system  100  with two print carriages  132 ( 1 ) and  132 ( 2 ) where each print carriage  132 ( 1 ) and  132 ( 2 ) prints to a different portion of a page width of print medium  104 . 
         [0016]    In the embodiment of  FIG. 2 , media transport unit  120  includes a cylindrical drum  160 . Drum  160  rotates around an axis  162  that is parallel to a outer surface  164  of drum  160  and centered with reference to side surfaces  166  of drum  160 . Media transport unit  120  rotates drum  160  to move print medium  104  past printheads  138  on print carriages  132 ( 1 ) and  132 ( 2 ) as indicated by an arrow  168 . As it rotates past print carriages  132 ( 1 ) and  132 ( 2 ), print medium  104  is held stationary on drum  160  by air suction or another suitable technique. 
         [0017]    To print swaths of image  106  along the width of print medium  104 , media transport unit  120  rotates drum  160  to position print medium  104  with respect to printhead arrays  136 ( 1 ) and/or  136 ( 2 ). Printhead arrays  136 ( 1 ) and/or  136 ( 2 ) deposit or eject ink onto print medium  104  as print carriages  132 ( 1 ) and/or  132 ( 2 ) are moved along the width of print medium  104  (i.e., parallel to axis  162 ) as indicated by arrows  150 ( 1 ) and  150 ( 2 ), respectively, while drum  160  is stationary. Each printhead array  136 ( 1 ) and  136 ( 2 ) prints to a different portion of a page width of print medium  104  where the page width is parallel with axis  162 . After printhead arrays  136 ( 1 ) and/or  136 ( 2 ) complete the swath or swaths, media transport unit  120  rotates drum  160  to advance print medium  104  with respect to printhead arrays  136 ( 1 ) and/or  136 ( 2 ) for a next swath or swaths. Each print swath may have a width of approximately one inch, for example. 
         [0018]    Printhead arrays  136 ( 1 ) and  136 ( 2 ) may form the entire image  106  on print medium  104  in one revolution of drum  160  (i.e., print medium  104  moves past printhead arrays  136 ( 1 ) and  136 ( 2 ) once) or multiple revolutions of drum  160  (i.e., print medium  104  moves past printhead arrays  136 ( 1 ) and  136 ( 2 ) more than once). 
         [0019]    Because printhead arrays  136 ( 1 ) and  136 ( 2 ) print to different portions of the page width of print medium  104 , inkjet printing system  100  accurately positions print carriages  132 ( 1 ) and  132 ( 2 ) relative to each other to prevent print defects from occurring where the print boundaries of the portions formed by printhead arrays  136 ( 1 ) and  136 ( 2 ) on print medium  104  intersect. If print carriages  132 ( 1 ) and  132 ( 2 ) are not properly aligned, defects such as a light or dark line or a visible discontinuity at the joint may occur at the intersection of the print boundaries. 
         [0020]    Inkjet printing system  100  uses the pair of encoders  142  and  144  in conjunction with a corresponding encoder strip  124  to align each print carriage  132  with respect to the remaining print carriages  132 . In the embodiment of  FIG. 2 , inkjet printing system  100  uses encoders  142 ( 1 ) and  144 ( 1 ) and encoder strip  124 ( 1 ) to track a location of print carriage  132 ( 1 ). Similarly, inkjet printing system  100  uses encoders  142 ( 2 ) and  144 ( 2 ) and encoder strip  124 ( 2 ) to track a location of print carriage  132 ( 2 ). By tracking the location of print carriages  132 ( 1 ) and  132 ( 2 ), inkjet printing system  100  is able to align print carriages  132 ( 1 ) and  132 ( 2 ) with respect to each other to prevent print defects from occurring on print medium  104 . 
         [0021]    Each encoder strip  124  spans the width of drum  160  parallel to axis  162  of rotation and has encoder markings  126  at set intervals along the width. One end of each encoder strip  124  is in a fixed position relative to drum  160  and the other end of each encoder strip  124  is spring loaded to allow for expansion along the width of drum  160 . In one embodiment, each encoder strip  124  is made out of a transparent material such as Mylar or polyester film with encoder markings  126  that are dark or opaque regions to form a sharp visible contrast with the transparent material. In other embodiments, encoder strips  124  may be formed with other materials with other suitable encoder markings  126 . In one embodiment, encoder markings  126  are spaced at 1/200 inch intervals along the length of encoder strip  124 . In other embodiments, encoder markings  126  may be spaced at other intervals along the length of encoder strip  124 . 
         [0022]    In operation, inkjet printing system  100  may produce variations in temperature and humidity that cause encoder strips  124  to expand. For example, heat from dryer  146  and/or humidity from deposited or ejected ink may increase the temperature and/or humidity in inkjet printing system  100 . As a result of hygroscopic and/or thermal expansions of encoder strips  124 , the relative positions of print carriages  132  with respect to encoder strips  124  may change and, if not compensated for, may produce print defects from dot placement errors at the intersection of the print boundaries between print carriages  132 . 
         [0023]    Inkjet printing system  100  compensates for the expansion of encoder strips  124  by measuring a phase difference in signals generated by encoders  142  and  144  on each print carriage  132  as encoders  142  and  144  move along encoder strip  124 . Inkjet printing system  100  determines a measured unit change from the phase difference and adjusts the printing of image  106  by printheads  138  using the measured unit change to prevent print defects from appearing on print medium  104 . 
         [0024]    Inkjet printing system  100  may determine the phase difference between encoder signals any time encoders  142  and  144  move along encoder strip  124 . Accordingly, inkjet printing system  100  may determine the phase difference while image  106  is being printed or at any suitable time before or after image  106  is printed (e.g. during an alignment or servicing routine for printheads  138 ). 
         [0025]      FIG. 3  is a schematic diagram illustrating one embodiment of encoders  142  and  144  and encoder strip  124 . As shown in  FIG. 3 , encoders  142  and  144  are mounted on, attached to, integrally formed with, or otherwise affixed to substrate  140  at a fixed distance D from one another. The fixed distance D is sufficient to allow a reasonable measurement of expansion of encoder strip  124 . For example, the fixed distance D may be 100 mm in one embodiment. 
         [0026]    Substrate  140  is formed of either a relatively invariant material such as Invar or a material with well known expansion coefficient. Invar is an alloy material with a very small coefficient of thermal expansion and substantially no hygroscopic expansion that was originally developed for use in mechanical clocks. If a material with well known expansion coefficient is used, a temperature reading device (not shown) may also be used to estimate the thermal expansion of substrate  140 . Substrate  140  positioned with sufficient proximity to encoder strip  124  that allows encoders  142  and  144  to detect encoder markings  126  as encoders  142  and  144  are moved along encoder strip  124 . 
         [0027]    Encoders  142  and  144  each optically scan encoder strip  124  to generate one or more analog electrical signals that indicate the presence or absence of encoder marks  126  as encoders  142  and  144  are moved in unison along encoder strip  124 . Because of the fixed distance between encoders  142  and  144 , the signals generated by encoders  142  and  144  correspond to at least partially different sets of encoder marks  126 . In one embodiment, each encoder  142  and  144  generates four signals—a channel A signal, a channel B signal, an inverted channel A signal, and an inverted channel B signal. In other embodiments, encoder  142  and  144  generate another signal or signals. 
         [0028]    Encoders  142  and  144  each provide the signal or signals to controller  110 . In one embodiment, encoders  142  and  144  are directly coupled to general purpose input/output (GPIO) ports of processor  112  and each provide a signal as a digital input to a GPIO port of processor  112 . In other embodiments, encoders  142  and  144  each provide the signal or signals directly or indirectly to controller  110  in other suitable ways. 
         [0029]      FIG. 4  is a timing diagram illustrating one embodiment of an encoder signal  402  generated by encoder  142  and an encoder signal  404  generated by encoder  144  as encoders  142  and  144  are moved along encoder strip  124 . In signals  402  and  404 , the signal transitions (i.e., the signal changes from a low to a high signal level or from a high to a low signal level) each indicate an edge, and therefore a location, of a corresponding encoder mark  126 . Accordingly, one signal level (e.g., a low signal level) indicates the presence of a corresponding encoder mark  126  and the other signal level (e.g., a high signal level) indicates the absence of a corresponding encoder mark  126 . 
         [0030]    One embodiment of the operation of compensating for the expansion of encoder strip  124  will now be described with reference to  FIG. 5A .  FIG. 5A  is a flow chart illustrating one embodiment of a method for compensating for the expansion of an encoder strip. The method of  FIG. 5A  will be described as being performed by carriage positioning unit  116 . In other embodiments, other components of controller  110  may perform all or portions of the method of  FIG. 5A . Carriage positioning unit  116  performs the method of  FIG. 5A  for each print carriage  132 ( 1 )- 132 (N) with respective encoder strip  124 ( 1 )- 124 (N) in one embodiment. 
         [0031]    In  FIG. 5A , carriage positioning unit  116  is configured to determine a phase difference between encoder signals over multiple encoder strip markings as indicated in a block  502 . Carriage positioning unit  116  examines the encoder signals from encoders  142  and  144  over two or more encoder markings  126  for each encoder  142  and  144  to determine two or more phase lags. Carriage positioning unit  116  determines each phase lag by comparing corresponding signal transitions (e.g., rising or falling edges), which each indicate the location of an encoder marking  126 ) in the encoder signals. In the example of  FIG. 4 , carriage positioning unit  116  determines phase lags  406 ( 1 ),  406 ( 2 ), and  406 ( 3 ) between rising edges of signals  402  and  404 . In one embodiment, carriage positioning unit  116  determines each phase lag  406  by counting the number of clock cycles of processor  112  between each rising edge in signal  402  and each rising edge in signal  404 . In this embodiment, the clock frequency of the clock of processor  112  is substantially higher than the frequency of the encoder signals to allow a sufficient number of processor clock cycles to occur between the rising or falling edges of the encoder signals. 
         [0032]    Carriage positioning unit  116  averages or otherwise combines phase lags  406 ( 1 ),  406 ( 2 ), and  406 ( 3 ) to determine the phase difference. By determining the phase difference from two or more phase lags, carriage positioning unit  116  may minimize the effect of noise on the encoder signals. 
         [0033]    Carriage positioning unit  116  determines a measured unit change using the phase difference as indicated in a block  504 . Carriage positioning unit  116  determines the measured unit change by comparing the current phase difference with a previously determined phase difference. Carriage positioning unit  116  may determine the previous phase difference using the method of  FIG. 5A  at any time prior to determining the current phase difference. For example, carriage positioning unit  116  may determine the previous phase difference during an initial alignment of printheads  138  or during the printing of image  106  or a previous image  106 . 
         [0034]    Carriage positioning unit  116  determines the measured unit change as any suitable function of the current phase difference, the previous phase difference, and the spacing of encoder markings  126  on encoder strip  124 . For example, carriage positioning unit  116  may determine the measured unit change as proportional to the difference between the current and previous phase differences. Where the current and previous phase differences, Ph cur  and Ph prev , respectively, are measure in electrical degrees, carriage positioning unit  116  may determine an approximation of the measured unit change, Δ, as shown in Equation I where Space represents the spacing of encoder markings  126 . 
         [0000]    
       
         
           
             
               
                 
                   Δ 
                   = 
                   
                     
                       ( 
                       
                         
                           
                             Ph 
                             cur 
                           
                           - 
                           
                             Ph 
                             prev 
                           
                         
                         
                           360 
                            
                           ° 
                         
                       
                       ) 
                     
                      
                     
                         
                     
                      
                     Space 
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   I 
                 
               
             
           
         
       
     
         [0035]    Using the measured unit change, carriage positioning unit  116  adjusts the printing of image  106  by printheads  138  to prevent print defects from appearing on print medium  104  as a result of the expansion of encoder strip  124 . 
         [0036]    Another embodiment of the operation of compensating for the expansion of encoder strip  124  will now be described with reference to  FIG. 5B .  FIG. 5B  is a flow chart illustrating one embodiment of a method for compensating for the expansion of an encoder strip. The method of  FIG. 5B  will be described as being performed by carriage positioning unit  116 . In other embodiments, other components of controller  110  may perform all or portions of the method of  FIG. 5B . Carriage positioning unit  116  performs the method of  FIG. 5B  for each print carriage  132 ( 1 )- 132 (N) with respective encoder strip  124 ( 1 )- 124 (N) in one embodiment. 
         [0037]    In  FIG. 5B , carriage positioning unit  116  determines an initial phase difference between encoder signals from encoders  142  and  144  as indicated in a block  512 . Carriage positioning unit  116  determines a subsequent phase difference between encoder signals from encoders  142  and  144  as indicated in a block  514 . 
         [0038]    Carriage positioning unit  116  may determine the initial phase difference at any suitable time such as during an initial alignment of printheads  138  or during the printing of image  106  or a previous image  106 . Carriage positioning unit  116  may determine the subsequent phase difference at any suitable time subsequent to the determination of the initial phase difference. For example, carriage positioning unit  116  may determine the subsequent phase difference at continuous or periodic intervals and/or in response to certain events occurring such as the printing of image  106 . 
         [0039]    Carriage positioning unit  116  may determine each of the initial and subsequent phase differences from two or more phase lags corresponding to two or more encoder markings  126  in each of the encoder signals from encoders  142  and  144 . For example, where encoder markings  126  are spaced at 1/200 inch intervals, carriage positioning unit  116  may determine each of the initial and subsequent phase differences by averaging approximately 800 phase lags over four inch moves (i.e., 200 phase lags per inch) of encoders  142  and  144  along encoder strip  124  at different times. 
         [0040]    Carriage positioning unit  116  may determine each phase lag by counting the number of clock cycles of processor  112  between corresponding rising or falling edges in the encoder signals from encoders  142  and  144 . Carriage positioning unit  116  may record the number of clock cycles of processor  112  as a fraction of the clock cycles in a full period of the encoder channels. Carriage positioning unit  116  may determine the full period from consecutive two or more rising or falling edges in the encoder signal from encoder  142  and/or two or more rising or falling edges in the encoder signal from encoder  144 . As an example, carriage positioning unit  116  may determine the initial phase difference to be  15  electrical degrees and the subsequent phase difference to be  105  electrical degrees. 
         [0041]    Carriage positioning unit  116  determines a measured unit change from the initial and subsequent phase differences as indicated in a block  516 . Carriage positioning unit  116  determines the measured unit change as proportional to the difference between the initial and subsequent phase differences. Using Equation I with the above example initial and subsequent phase differences and encoder markings  126  spaced at 1/200 inch intervals or 0.127 mm/100 mm, the measured unit change may be determined to be ((105-15 degrees)/ 360  degrees))(0.127 mm/100 mm) or 0.03175 mm/100 mm. Accordingly, carriage positioning unit  116  determines that encoder strip  124  has expanded by 0.03175 mm over 100 mm of length of encoder strip  124 . 
         [0042]    Carriage positioning unit  116  compensates for the expansion of encoder strip  124  using the measured unit change as indicated in a block  518 . Carriage positioning unit  116  adjusts the printing of image  106  by printheads  138  using the measured unit change to prevent print defects from appearing on print medium  104  as a result of the expansion of encoder strip  124 . In one embodiment, carriage positioning unit  116  adjusts the positioning of print carriage  132  in accordance with Equation II where N POS  is the nominal position of print carriage  132  and N CORR  is the corrected position of print carriage  132 . 
         [0000]    
       
         
           
             
               
                 
                   
                     N 
                     CORR 
                   
                   = 
                   
                     
                       N 
                       POS 
                     
                     
                       1 
                       + 
                       Δ 
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   II 
                 
               
             
           
         
       
     
         [0043]    Because the term 1+Δ may be very close to a value of one, the calculation of N CORR  using Equation II may be a numerically sensitive calculation that may result in rounding errors and/or the use of a significant amount of computing power. By substituting Equation III into Equation II, Equation IV may be derived. 
         [0000]    
       
         
           
             
               
                 
                   
                     1 
                     
                       1 
                       + 
                       Δ 
                     
                   
                   ≈ 
                   
                     1 
                     - 
                     Δ 
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   III 
                 
               
             
             
               
                 
                   
                     N 
                     CORR 
                   
                   = 
                   
                     
                       
                         N 
                         POS 
                       
                        
                       
                         ( 
                         
                           1 
                           - 
                           Δ 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         N 
                         POS 
                       
                       - 
                       
                         ( 
                         
                           
                             N 
                             POS 
                           
                           * 
                           Δ 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   IV 
                 
               
             
           
         
       
     
         [0044]    In another embodiment, carriage positioning unit  116  adjusts the positioning of print carriage  132  in accordance with Equation IV to achieve a more stable calculation compared to the calculation of Equation II. 
         [0045]    For example, if the desired nominal position of print carriage  132  is  350  mm from the fixed end of encoder strip  124  and the measured unit change is 0.03175 mm/100 mm from the example above, carriage positioning unit  116  determines the corrected position to be (350 mm)−(350 mm*(0.03175 mm/100 mm))=349.888875 mm from the fixed end of encoder strip  132 . 
         [0046]    In some embodiments, the expansion of encoder strip  124  may be large enough to cause the phase difference to exceed 360 degrees. In these embodiments, carriage positioning unit  116  may sample the phase difference frequently to detect when the phase difference exceeds  360  degrees. In other embodiments, the resolution of encoders  142  and  144  and/or the spacing between encoders  142  and  144  may be selected to allow for expansion ranges of encoder strip  124  where the phase difference does not exceed 360 degrees. 
         [0047]    The above embodiments may provide advantages over other techniques for compensating for the expansion of encoder strips. For example, the above embodiments may perform the compensation without printing alignment markings onto a print medium. In addition, the above embodiments may reduce the effect of any noise in the samples by using a large number of measurement samples to significantly attenuate the noise from external noise sources such as mechanical vibrations caused by the measurement. Further, the above embodiments may be performed at any time during the normal operation of inkjet printing system. As a result, the measured unit change may be updated frequently (e.g., every few seconds) without reducing the throughput of inkjet printing system  100 . 
         [0048]    Although specific embodiments have been illustrated and described herein for purposes of description of the embodiments, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present disclosure. Those with skill in the art will readily appreciate that the present disclosure may be implemented in a very wide variety of embodiments. This application is intended to cover any adaptations or variations of the disclosed embodiments discussed herein. Therefore, it is manifestly intended that the scope of the present disclosure be limited by the claims and the equivalents thereof.

Technology Classification (CPC): 1