Patent Publication Number: US-2009224050-A1

Title: Signal processing in barcode reading with a wavelet transformation

Description:
RELATED APPLICATIONS 
     This application is a divisional application of, and incorporates by reference the entirety of, U.S. patent application Ser. No. 11/253,013, filed Oct. 18, 2005. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates to signal processing methods in barcode reading techniques, and more particularly, to a method for processing a digital signal obtained in a barcode reading operation in which a wavelet transformation is applied to the digital signal and a noise threshold is determined for each level of the wavelet transformation so as to filter wide band noise. 
     In a barcode reading operation, a laser light beam is projected from a barcode reader to a barcode, and light reflected from the barcode is received by a detector. An analogue signal is generated from the received reflected light which represents the information encoded in the barcode. After being processed in an analogue processing stage, the analogue signal is converted to a digital signal by an analogue-to-digital (A/D) converter for further processing and decoding. In the digital processing stage, usually one or more band-passing digital filters are used to reject noise in the signal. The similar is true for image based barcode reading such as CCD or CMOS barcode readers. 
     However, if there is wide band noise such as white noise, the noise in the signal band cannot be rejected by band-passing filters. The white noise may degrade the reading performance when the signal gain is small, e.g., if the barcode is located in a distance, or if the resolving power is low. 
     Therefore, there exists a need for a better method for processing barcode signals so as to eliminate or reduce wide band noise such as white noise. 
     SUMMARY OF THE INVENTION 
     To realize the above object, the present invention provides a method for processing a digital signal obtained in a barcode reading operation, in which a wavelet transformation is applied to the digital signal. Preferably, a threshold is determined for each level of the wavelet coefficients, and the coefficients are set to be zero if lower than the threshold. 
     Preferably, the digital signal is converted from an analogue signal obtained in the barcode reading operation, and the threshold is a noise threshold determined from information obtained in an analogue processing stage in which the analogue signal is processed before the analogue-to-digital conversion. Preferably, the noise threshold is calculated from a total transfer function H(ω) in the analogue processing stage: 
     
       
         
           
             
               
                 
                   
                     Noise 
                      
                     
                         
                     
                      
                     Threshold 
                   
                   = 
                   
                     
                       n 
                       0 
                     
                      
                     
                       
                         2 
                          
                         
                           ln 
                            
                           
                             ( 
                             N 
                             ) 
                           
                         
                       
                     
                     × 
                     
                       
                         
                           1 
                           
                             2 
                              
                             π 
                           
                         
                          
                         
                           
                             ∫ 
                             
                               - 
                               ∞ 
                             
                             ∞ 
                           
                            
                           
                             
                               
                                  
                                 
                                   H 
                                    
                                   
                                     ( 
                                     ω 
                                     ) 
                                   
                                 
                                  
                               
                               2 
                             
                              
                             
                                 
                             
                              
                             
                                
                               ω 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     wherein n 0  is resistance thermal noise generated in a preamplifier in the analogue signal processing stage, and N is number of data. 
     Preferably, the total transfer function H(ω) is a product of at least one of a transfer function of a differential processing stage H diff , a transfer function of an AGC amplification stage H vagc , and a transfer function of a frequency filtering stage H ƒ : 
         H (ω)= H   diff   ×H   vagc   ×H   ƒ   (2) 
     Preferably, the wavelet transformation is a Haar Wavelet transformation. Preferably, the wavelet transformation is a discrete wavelet transformation. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
       The above and other features and advantages will be clearer after reading the detailed description of the preferred embodiments of the present invention with reference to the accompanying drawings, in which: 
         FIG. 1  is a block diagram schematically illustrating signal processing stages implementing signal processing method in a barcode reading operation according to the present invention; and 
         FIG. 2  is a block diagram schematically illustrating wavelet noise filter applied to the digital signal in the signal processing method according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
     As schematically illustrated in  FIG. 1 , signal processing in a barcode reading operation usually comprises an analogue processing stage  10  and a digital processing stage  20 . The analogue processing stage  10  usually comprises a preamplification stage  11 , differential processing stage  12 , gain control amplification (GCA)  13 , frequency filtering  14 , etc. After being processed in the analogue processing stage  10 , the analogue signal is converted to a digital signal by an analogue-to-digital (A/D) converter  21 , and the converted digital signal is processed with proper algorithms so as to digitally filter noise, to decode the signal, etc. 
     According to the teachings of the present invention, a wavelet transformation  22  is applied to the digital signal so as to reduce noise, especially wide band noise such as white noise, as explained in more detail below. 
     A discrete wavelet transformation can be expressed as 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             ψ 
                             
                               j 
                               , 
                               k 
                             
                           
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         = 
                           
                          
                         
                           
                             1 
                             
                               2 
                               
                                 - 
                                 j 
                               
                             
                           
                            
                           
                             ψ 
                              
                             
                               ( 
                               
                                 
                                   x 
                                   - 
                                   
                                     k 
                                      
                                     
                                         
                                     
                                      
                                     
                                       2 
                                       
                                         - 
                                         j 
                                       
                                     
                                   
                                 
                                 
                                   2 
                                   
                                     - 
                                     j 
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             
                               2 
                               j 
                             
                           
                            
                           
                             ψ 
                              
                             
                               ( 
                               
                                 2 
                                 
                                   jx 
                                   - 
                                   k 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     The discrete wavelet coefficient is: 
     
       
         
           
             
               
                 
                   
                     W 
                      
                     
                       [ 
                       
                         j 
                         , 
                         k 
                       
                       ] 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         0 
                       
                       
                         N 
                         - 
                         1 
                       
                     
                      
                     
                       
                         f 
                          
                         
                           [ 
                           n 
                           ] 
                         
                       
                        
                       
                         
                           ψ 
                           
                             j 
                             , 
                             k 
                           
                         
                          
                         
                           [ 
                           n 
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     wherein j is called a “level”. 
     As schematically illustrated in  FIG. 2 , a signal is decomposed using the wavelet coefficients at every level. 
     The approximate function ƒ j (t) at level j is: 
     
       
         
           
             
               
                 
                   
                     
                       f 
                       j 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       k 
                     
                      
                     
                       
                         s 
                         k 
                         
                           ( 
                           j 
                           ) 
                         
                       
                        
                       
                         
                           ϕ 
                           
                             j 
                             , 
                             k 
                           
                         
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     wherein s is called a “scale function”. 
     A signal ƒ 0 (t) can be expanded as: 
       ƒ 0 ( t )=ƒ 1 ( t )+ g   1 ( t )  (6) 
     wherein g 1 (t) is called “wavelet component” of level 1. 
     g 1 (t) can be expressed as: 
     
       
         
           
             
               
                 
                   
                     
                       g 
                       1 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       k 
                     
                      
                     
                       
                         w 
                         k 
                         1 
                       
                        
                       
                         
                           ϕ 
                           
                             1 
                             , 
                             k 
                           
                         
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     Thus, the signal ƒ 0 (t) can be expanded to level j as follows: 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             
                               f 
                               0 
                             
                              
                             
                               ( 
                               t 
                               ) 
                             
                           
                           = 
                             
                            
                           
                             
                               
                                 g 
                                 1 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                             + 
                             
                               
                                 g 
                                 2 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                             + 
                             … 
                             + 
                           
                         
                       
                     
                     
                       
                         
                           = 
                             
                            
                           
                             
                               
                                 ∑ 
                                 
                                   j 
                                   = 
                                   1 
                                 
                                 J 
                               
                                
                               
                                 
                                   g 
                                   j 
                                 
                                  
                                 
                                   ( 
                                   t 
                                   ) 
                                 
                               
                             
                             + 
                             
                               
                                 f 
                                 J 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                    
                   
                     
                       g 
                       J 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     White noise does not have coherency with the signal. To reduce noise, a noise threshold for each level of the wavelet transformation is properly determined, and the coefficients less than the noise threshold are set to be zero. This can reduce wide band noises including white nose. As long as the noise threshold is larger than zero, it is effectual for noise reduction. However, if the noise threshold is too large, it will make a distortion in the signal. 
     The noise threshold can be expressed by the following equation: 
       Noise Threshold=σ√{square root over (21 n ( N ))}  (9) 
     wherein σ is standard deviation of noise, and N is number of data. 
     According to the teaching of the present invention, the standard deviation of noise σ is preferably set to be equal to the noise input n in  to wavelet transformation, which is calculated as follows: 
     
       
         
           
             
               
                 
                   
                     n 
                     in 
                   
                   = 
                   
                     
                       n 
                       0 
                     
                      
                     
                       
                         
                           1 
                           
                             2 
                              
                             π 
                           
                         
                          
                         
                           
                             ∫ 
                             
                               - 
                               ∞ 
                             
                             ∞ 
                           
                            
                           
                             
                               
                                  
                                 
                                   H 
                                    
                                   
                                     ( 
                                     ω 
                                     ) 
                                   
                                 
                                  
                               
                               2 
                             
                              
                             
                                 
                             
                              
                             
                                
                               ω 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     wherein n 0  is resistance thermal noise in the preamplifier  11  which is usually the origin of major noises, and H(ω) is a total transfer function between the preamplifier  11  to wavelet transformation  22  in the analogue processing stage. 
     The resistance thermal noise can be calculated from: 
         n   0 =√{square root over (4 kTR   0 )}  (11) 
     wherein k is Boltzmann constant, T is absolute temperature, and R 0  is a resistance in the preamplifier  11 . 
     Preferably, the total transfer function H(ω) is a product of at least one of a transfer function of a differential processing stage H diff , a transfer function of an AGC amplification stage H vagc , and a transfer function of a frequency filtering stage H ƒ : 
         H (ω)= H   diff   ×H   vagc   ×H   ƒ   (2) 
     In the barcode reader system illustrated in  FIG. 1 , only the transfer function H vagc  of the GCA amplification  13  is a variable function, and the transfer functions H diff  and H ƒ  are fixed or known functions for calculation by the CPU  23 . 
     Therefore, concluded from the above, the optimum noise threshold is expressed as follows: 
     
       
         
           
             
               
                 
                   
                     Noise 
                      
                     
                         
                     
                      
                     Threshold 
                   
                   = 
                   
                     
                       n 
                       o 
                     
                      
                     
                       
                         2 
                          
                         
                           ln 
                            
                           
                             ( 
                             N 
                             ) 
                           
                         
                       
                     
                     × 
                     
                       
                         
                           1 
                           
                             2 
                              
                             π 
                           
                         
                          
                         
                           
                             ∫ 
                             
                               - 
                               ∞ 
                             
                             ∞ 
                           
                            
                           
                             
                               
                                  
                                 
                                   H 
                                    
                                   
                                     ( 
                                     ω 
                                     ) 
                                   
                                 
                                  
                               
                               2 
                             
                              
                             
                                 
                             
                              
                             
                                
                               ω 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   
                     Wherein 
                      
                     
                       : 
                     
                      
                     
                         
                     
                      
                     
                       H 
                        
                       
                         ( 
                         ω 
                         ) 
                       
                     
                   
                   = 
                   
                     
                       H 
                       diff 
                     
                     × 
                     
                       H 
                       vage 
                     
                     × 
                     
                       H 
                       f 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     Though the above has described the preferred embodiments of the present invention, it shall be understood that numerous adaptations, modifications and variations are possible to those skilled in the art without departing the gist of the present invention. For example, the wavelet transformation can be a Haar Wavelet transformation or other wavelet transformations. When properly, one or more of transfer functions H diff , H vagc , H ƒ  may be omitted in calculating H(ω). Therefore, the scope of the present invention is solely intended to be defined by the accompanying claims.