Abstract:
A method reduces stepper motor noise in a MICR document waveform resulting from CMC7 information. The method includes the steps of creating a motor noise profile from the document waveform, and creating a working sample waveform from the document waveform. The method further includes the step of applying the motor noise profile to the working sample waveform to reduce stepper motor noise. The method also periodically realigns the motor noise profile with the working sample waveform. Thus, the invention allows reduction of stepper motor noise without requiring relocation of the motor or additional shielding.

Description:
FIELD OF THE INVENTION 
     The invention relates to document processing systems. More specifically, the invention concerns the reduction of stepper motor noise when reading CMC7 documents. 
     BACKGROUND ART 
     Banks, credit unions and other financial institutions regularly process checks, deposit slips and other types of bank documents in order to execute financial transactions efficiently. Document processing systems have therefore become quite prevalent in the industry. Typically, information will be printed on these documents in magnetic ink which can be read both by the human eye and a computer. This form of printing is read by a process termed magnetic ink character recognition (MICR). As part of the recognition process, a MICR magnetic pickup head is used to read the information printed on the document. 
     A commonly used font with MICR is CMC7. CMC7 documents are printed like a magnetic barcode with bars spaced at narrow and wide intervals. As characters pass in front of the MICR head, a magnetic signal is produced at the head corresponding to the information contained on the document. When reading these types of documents, the system samples the magnetic signal coming off the head at {fraction (1/1000)} of an inch intervals. This forms the basis of the waveform used for reading. This waveform is used to produce a difference waveform by making a second copy of the waveform and delaying it by {fraction (6/1000)} of an inch. This distance therefore represents a delay of six samples at the MICR head. The original waveform is then subtracted from the delayed waveform to create a difference waveform. The difference waveform is then used to produce a working sample waveform. A working sample waveform is the current difference sample minus the previous difference sample, and is the waveform used to do the actual recognition. A particular difficulty with present techniques arises from the fact that the working sample waveform at this point contains any motor noise which is present in the document processing system. 
     Since the MICR head reads magnetic signals, it is very sensitive to outside noise sources. This sensitivity is especially severe in cases of motor noise. If the motor cannot be placed far enough away from the MICR head aperture or shielded adequately, then the electrical noise emanating from the motor will be perceived to be sourced from the document which is being read. 
     The motor noise which comes from a stepper motor running at a constant speed is periodic in nature. Stepper motors rotate a shaft by energizing magnetic pole pieces. This energizing of the pole pieces causes both positive and negative excursions to the MICR head. These excursions represent the same type of signal produced by the actual document being read. While the noise coming from the motor is periodic in nature, it is not equal in magnitude for every cycle of the motor. This fact makes noise reduction more difficult. It is therefore desirable to take advantage of the periodic nature of stepper motor noise while taking into account cycle magnitude differences. It is also desirable to reduce stepper motor noise when reading CMC7 documents without relocating the motor or providing additional shielding. 
     SUMMARY OF THE INVENTION 
     In a first aspect of the invention a method for reducing stepper motor noise in a MICR document waveform includes the steps of creating a motor noise profile from the document waveform, and creating a working sample waveform from the document waveform. The method further includes the step of applying the motor noise profile to the working sample waveform to reduce stepper motor noise. The method also creates the noise profile once per document and periodically realigns the profile with the working sample waveform to take advantage of the periodic nature of the noise. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention is set forth in exemplary fashion by the following detailed description of a preferred embodiment taken in conjunction with the drawings, in which: 
     FIG. 1 is an illustration of a document processing system in accordance with the principals of the invention; 
     FIG. 2 is a block diagram of a document processing system in accordance with the principals of the invention; 
     FIG. 3 is a flow chart of a method for reducing stepper motor noise in a MICR document waveform in accordance with the principals of the invention; 
     FIG. 4 is a detailed flow chart of a process for determining noise profile size in accordance with the principals of the invention; 
     FIG. 5 is a detailed flow chart of a process for creating a noise profile in accordance with the principals of the invention; 
     FIG. 6 is a detailed flow chart of a process for creating a working sample in accordance with the principals of the invention; 
     FIG. 7 is a detailed flow chart of a process for applying a noise profile in accordance with the principals of the invention; 
     FIG. 8 is a detailed flow chart of a process for determining whether realignment is necessary in accordance with the principals of the invention; 
     FIG. 9 is a detailed flow chart of a process for periodically realigning the motor noise profile with the working sample waveform in accordance with the principals of the invention; and 
     FIG. 10 is a plot of an offset corrected waveform in accordance with the principals of the invention. 
    
    
     DETAILED DESCRIPTION 
     The invention provides for eliminating unwanted motor noise in document processors reading CMC7 information. By generating a motor noise profile between documents, the method alleviates the need to relocate the stepper motor or add additional shielding. Efficient reduction of noise is also achieved by creating the noise profile no more than once per document. A realignment procedure allows the noise profile to be used repeatedly throughout the document and thereby take advantage of the periodic nature of the noise. 
     Specifically, FIG. 1 illustrates a typical document processing system  100  for reading information printed on MICR documents  110 . The information is preferably CMC7 font information  111  which is magnetic based. 
     Turning now to FIG. 2, a block diagram of document processing  100  shows implementation of the present invention in greater detail. Document processing system  100  uses a MICR head  112  to magnetically read CMC7 information  111  off of MICR document  110  as stepper motor  113  passes the MICR document  110  through the document processing system  100 . Unwanted noise  114  emanates from stepper motor  113  and is perceived by the MICR head  112  to be sourced from MICR document  110  which is being read. Processor  115  approximates this noise  114  and creates a motor noise profile to offset the undesired effects. 
     Turning now to FIG. 3, a method for reducing stepper motor noise  114  in a MICR document waveform is shown at  10  for programming purposes. This method can be readily implemented in processor  115  using programming techniques currently well known in the art. 
     Generally, the method  10  is performed by creating a motor noise profile from the document waveform at Steps  20  and  30 , and creating a working sample waveform from the document waveform at Step  40 . The motor noise profile is then applied to the working sample waveform at Step  50 , and the motor noise profile is periodically realigned with the working sample waveform at Steps  60  and  70 . More specifically, the motor noise profile is created by first determining a size for the motor noise profile and then obtaining values for the motor noise profile, wherein the profile has a number of values corresponding to the size. Values are essentially data points along the noise profile waveform. 
     Turning now to FIG. 4, the process of determining profile size is shown in greater detail. The sample rate is determined at Step  21 . In the preferred embodiment involving CMC7 fonts, samples are taken at a rate of 1000 samples per inch. Using the sample rate and information concerning the stepper motor allows determination of a phase cycle interval. The phase cycle interval represents the number of samples per phase cycle of the motor and is determined at Step  22 . For example, a typical stepper motor sampling at a rate of 1000 samples per inch will complete a phase cycle in 37.6 samples. This value represents the phase cycle interval. Using the phase cycle interval and the number of cycles per profile allows determination of an optimal profile size at Step  23 . The number of cycles per profile is selected to minimize the mis-match between sampling frequency and motor step frequency. Thus, three cycles per profile will result in 112.8 samples per profile. Since 112.8 samples cannot physically be made, the number of samples per profile will be rounded up to 113. This introduces an error, however, of 0.2 samples for every 113 samples of the document waveform. Note that this error is still less than an error of 0.4 in the case of one cycle per profile based on a phase cycle interval of 37.6. Minimizing the error in the profile size increases performance and efficiency of the overall system. 
     Creation of the noise profile and the working sample waveform will now be discussed in greater detail. It is important to note that sampling the document waveform results in the generation of a number of lists to be discussed below. These lists contain values which represent consecutive data points in a given waveform. Turning now to FIG. 5, the process of creating a noise profile is shown in greater detail. The document waveform is sampled at Step  31 , and a delayed waveform is created from the document waveform at Step  32 . The delayed waveform is offset by six samples. A difference waveform is created from the delayed waveform and the document waveform. The difference waveform represents the difference between the document waveform and the delayed waveform. Thus, a list of deltas is created by subtracting the current sample from the sample {fraction (6/1000)} of an inch before it. The equation representing the operation is therefore Delta (I)=MICR sample (I)−MICR sample (I−6). A variation in the difference waveform is then calculated at Step  34 , wherein the variation represents values for the motor noise profile. The variation is based on the previous difference value. The variation equation is therefore Motor noise (I)=Delta(I)−Delta(I−1). In the preferred embodiment, the motor noise profile is created during a period between documents to eliminate the need for additional processing. 
     Creating a working sample waveform at Step  40  is shown in greater detail in FIG.  6 . It will be appreciated that creation of the working sample waveform involves the same steps involved in creating the motor noise profile. The primary distinction lies in the content of the document waveform and the period during which the waveform is created. Thus, the document waveform is sampled at Step  41 , the delayed waveform is created at Step  42 , and the difference waveform is created at Step  43  much in the same way as discussed above. As already noted, a variation in the difference waveform is calculated at Step  44 , wherein the variation represents values for the working sample waveform. Terming the working sample waveform as a list of delta differences, the calculation can be described as Delta difference (I)=Delta (I)−Delta (I−1). 
     Turning now to FIG. 7, the process for applying the motor noise profile is shown in greater detail at  50 . Step  51  shows that the noise profile is subtracted from the working sample waveform to reduce the motor noise  114  (see FIG.  2 ). The calculation is therefore represented by the equation Final MICR values (I)=Delta difference (I)−Motor noise (I). 
     Steps  60  and  70  demonstrate that the noise profile is repeated at the rate calculated and described in Step  20 . FIGS. 8 and 9 show this process in greater detail. A sample counter can be maintained and incremented at Step  61  each time a sample is taken. When the sample counter equals the profile size determined in Step  20 , a realignment is necessary and is executed as shown in Step  62 . The realignment is performed by skipping the next value in the motor noise profile at Step  71 . If the counter has not reached the determined profile size, an end of document check is made at Step  80  to determine whether or not it is time to create a new noise profile (see FIG.  3 ). 
     Turning now to FIG. 10, an example of an offset corrected waveform is provided. The first two positive peaks are the last two peaks of a character, whereas the next two peaks are due to motor noise between characters. Similarly, the last two positive peaks are again the first two peaks of the next character. Without the motor noise correction, the size of the noise between the characters is equal to over one third of an actual character peak. When motor noise correction is applied, the noise drops to {fraction (1/7)} of the character peak. In this case, the signal to noise ratio has more than doubled. The read rate for CMC7 documents can therefore be increased by implementing this motor noise reduction method. The method will not increase the cost of the mechanical system or change the motor placement. It can be implemented with very minimal system resources which normally would not require changes to the system processing power. 
     The invention has been described with reference to a detailed description of a preferred embodiment for the sake of example only. The scope of the invention is to be determined by proper interpretation of the appended claims.