The subject matter disclosed herein generally relates to filtering one-dimensional data signals.
One-dimensional data signals (e.g., eddy current signals, ultrasound signals) may be used to measure properties of objects with non-invasive inspection techniques. These signals may contain noise from various sources that may interfere with proper inspection of a target object. The noise may include noise from electronic components, electromagnetic interference, variation in lift off, effects of external structures, or other environmental conditions that may interfere with the integrity of the data signals.
In one embodiment, a measurement system includes a receiver configured to receive a measurement signal indicative of a parameter of a measured object. The measurement system also includes a processor configured to iteratively filter the measurement signal using a threshold value. The processor is also configured to adjust the threshold value for each iteration of filtration and determine a signal-to-noise ratio for each iteration of filtration. The processor is also configured to set a filter threshold value to the threshold value for the iteration of filtration with the lowest signal-to-noise ratio.
In a second embodiment, a method includes receiving a measurement signal and filtering the measurement signal using multiple threshold values in multiple iterations. Filtering the measurement signal in each iteration of the multiple iterations includes incrementing the threshold value for the iteration from a previous threshold value for a previous iteration of the multiple iterations or from an initial threshold value. Filtering the measurement signal also includes filtering the measurement signal using the incremented threshold value. Furthermore, filtering the measurement signal includes computing a signal-to-noise ratio for the incremented threshold value. The method also includes selecting a filtering threshold value from the multiple threshold values, wherein the filtering threshold value corresponds to a highest signal-to-noise ratio of the multiple threshold values.
In a third embodiment, a non-transitory, computer-readable medium having instructions stored thereon. The instructions, when executed, are configured to cause the processor to select a filtering threshold value from multiple threshold values to filter a measurement signal. The filtering threshold value corresponds to a higher signal-to-noise ratio than any other of the multiple threshold values. Selecting the filtering threshold value includes iteratively computing the signal-to-noise ratio for each threshold value of the multiple threshold values in multiple iterations. Moreover, filtering the measurement signal in each iteration of the multiple iterations includes incrementing the threshold value for the iteration from a previous threshold value for a previous iteration of the multiple iterations or from an initial threshold value. Filtering the measurement signal also includes filtering the measurement signal using the incremented threshold value. Furthermore, filtering the measurement signal includes computing a signal-to-noise ratio for the incremented threshold value.
These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
One or more specific embodiments of the present invention are described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions may be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
When introducing elements of various embodiments of the present invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
The monitoring system 103 includes a processor 112 and memory 114. The processor 112 may include any suitable processor for executing instructions that may be stored in the memory. The memory 114 may include one or more non-transitory, computer-readable media, such as read-only memory (ROM), random-accessible memory (RAM), compact discs, magnetic drives, and/or other suitable forms of data storage.
The noise in these signals may be removed using a filtering algorithm.
Noise removal from these signals may include using two kinds of filters—finite impulse response (FIR) and infinite impulse response (IIR) filters. These filters are specified using the type of filter and the frequency cut off value. The filter types that may be used include low pass, high pass, band pass and band stop filters. High pass filters pass frequencies above a specified cut off value while reducing or eliminating frequencies below the cut off value. Low pass filters pass frequencies below the cut off value while reducing or eliminating frequencies above the cut off value. Band pass filters pass frequencies within a range while reducing or eliminating all other frequencies. Band stop filters pass all frequencies except those in a specified range, which are reduced or eliminated. Choosing the correct filter parameters for FIR and IIR filters may be a very cumbersome process that is done by mainly trial and error. Inappropriate values input as the filter parameters may result in either loss of data via false positives indicating that data at the signal 122 is noise or false negatives that indicates noise as data. Thus, a proper selection of a cut off value may reduce noise to relatively low level without eliminating data. In some embodiments, this cut off value may be manually or automatically set to reduce noise to increase a signal-to-noise ratio (SNR).
Using the intervals, finite Fourier transforms (FFT) are used to derive a complex value that allows computation of magnitude and phase of the FFT data.
Returning to
The processor 112 determines if any frequencies are repeating and filters such repeating frequencies (block 264). For example, the processor 112 may determine whether a frequency exists in more than some threshold (e.g., 50%) of samples. Noise from certain sources, such as electronics, produces electromagnetic interference that repeats periodically. These repeating frequencies in the samples are eliminated by assigning the Fourier value for that sample (both real and imaginary values) to a relatively low magnitude. For example, the magnitude of such frequencies may be reduced to zero. The processor 112 takes all of the filtered samples and reconstructs them into filtered data using an inverse Fourier transform (block 266).
As discussed above, the processor 112 makes a threshold determination based on a received threshold and/or automatic tuning of a threshold. Conventional noise removal using filters via FIR or IIR passes signals having frequency components above or below a specified cut off frequency. In some cases, it may not be feasible or even possible to specify a fixed frequency above or below which all the data can be classified as noise. Choosing the correct filter parameters for FIR and IIR filters may be very cumbersome and are generally done using a trial and error method. Furthermore, inappropriate values of the filter parameters may result in either loss of data or may result in false positives or false negatives. Thus, to reduce likelihood of data loss and to simplify filtration for users, the processor 112 determines a suitable threshold from user input and/or automatic determination.
The threshold determination screen 270 may also include a threshold selection region 282. The threshold selection region 282 may include text instructing a user to use input structures to enter a value for and/or manipulate the line 276. The input structures include a keyboard, a mouse, a touchscreen, a microphone, and/or other input devices that may be used to receive inputs from a user and translate the inputs for use by the processor. The threshold selection region 282 may also include a threshold entry 284 that may be used to manually enter a threshold value. The threshold selection region 282 may also include a button 286 to provide confirmation or to submit the entered value as the magnitude. In some embodiments, the entered value may be relative to a previous value. For example, the entered value may be “+5” to increase the threshold by five units or “−2” to decrease by two units. The threshold selection region 282 may include instructions for manipulating a manually entered threshold value. For example, a cursor 288 may be used to drag the line 276 up or down.
Additional or alternative to user-assisted threshold determinations, the processor 112 may use more highly automated threshold determinations to fine-tune the threshold or to select the threshold outright.
The filtering operation is performed using the threshold (block 304). The processor 112 computes a signal-to-noise ratio determined when the threshold value is used to filter the signal (block 306). Specifically, the SNR is determined using a signal and a noise from the reconstructed data. The signal portion of the reconstructed data is the maximum or peak value of the reconstructed data, and the noise portion of the reconstructed data is the standard deviation of the reconstructed data. The processor 112 then determines whether the computed SNR is greater than the currently stored maxSNR (block 308). Thus, in the first pass, the first SNR computation replaces the initial value (e.g., 0) of the maxSNR, and the initial threshold value replaces the initial oTH register value. In each iteration, if the computed SNR exceeds the currently stored maxSNR value, the maxSNR value is replaced by the computed SNR for the iteration of the threshold and the oTH register value is replaced by the threshold (block 310). If the computed SNR does not exceed the currently stored maxSNR or after the maxSNR value is replaced by the computed SNR, the threshold is incremented for additional iterations (block 312).
In some embodiments, the threshold may be incremented consistently using a constant value. For example, the threshold may be incremented by a magnitude of 50 each iteration. Additionally or alternatively, the threshold incremental value may be based on whether a manual selection has previously occurred. In other words, if a manual selection has been made, the incremental value may be smaller since the automated portion may be intended to fine-tune the selection.
Furthermore, in such embodiments, a smaller range of threshold values may be submitted for testing to determine the threshold level when a manual determination has previously been made. For example, a threshold cap may be reduced relative to a value previously determined manually. Moreover, the automated determination may back down some values (e.g., 100 units) from the manually determined value for the first iteration in case the user has clipped some of the data from the signal 212 with the set threshold value. In other words, the processor 112 may use the automated process to reduce errors and/or fine-tune a manually determined threshold.
In some embodiments, the threshold value may vary relative to the SNR or SNR delta between iterations. Thus, as the SNR delta decreases, the incremental amount may decrease. Additionally or alternatively, if SNR decreases between iterations, the processor 112 may revert an amount smaller than the previous increment to determine the SNR for a threshold value between the previous two SNR. Thus, in such embodiments, if a higher SNR threshold value is missed due to a threshold increment that was too large, the processor 112 may revert back to smaller threshold values that may find the higher SNR.
The processor 112 determines whether the incremented threshold is greater than or equal to a threshold cap (block 314). The threshold cap is the highest threshold value to be evaluated by the automated threshold determination. If the cap has been exceeded, the iterations have been completed. Otherwise, the processor 112 continues calculating SNR for each threshold value. In some embodiments, the processor may back the increments of threshold changes down from the threshold cap to catch cases where the maxSNR may be relatively close to the threshold cap. Once the iterations have been completed, the processor determines that the optimum threshold value (oTH) corresponding to the maxSNR value is the threshold for filtering. Therefore, the threshold to be used is set to the value stored in oTH resulting in the maxSNR. (block 316). Once the threshold has been set using the oTH, the signal 212 is then filtered using the determined threshold (block 318).
Similarly,
Similarly,
It may be understood that the foregoing processes may be embodied using hardware, software, or some combination thereof. For example, the processor 112 may be used to perform instructions stored in the memory 114 that are configured to cause the processor to perform the portions of the processes, when executed. In other words, the received signals may be at least partially digitally filtered and/or at least partially filtered using analog circuit components.
The specific embodiments described above have been shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of this disclosure.
This written description uses examples to disclose the subject matter, including the best mode, and to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the disclosure is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
Number | Name | Date | Kind |
---|---|---|---|
3465581 | Hohenberg | Sep 1969 | A |
4596150 | Kuhr | Jun 1986 | A |
4829834 | Masom | May 1989 | A |
4899598 | Gumaste et al. | Feb 1990 | A |
4939937 | Klauber et al. | Jul 1990 | A |
5182953 | Ellinger et al. | Feb 1993 | A |
5307690 | Hanazawa | May 1994 | A |
5323659 | Wakamiya et al. | Jun 1994 | A |
5414263 | Haslam | May 1995 | A |
5446501 | Takemoto | Aug 1995 | A |
5515736 | Kawagoe | May 1996 | A |
5708216 | Garshelis | Jan 1998 | A |
5852567 | Xia | Dec 1998 | A |
5887335 | Garshells | Mar 1999 | A |
6490934 | Garshelis | Dec 2002 | B2 |
6957589 | Ueno et al. | Oct 2005 | B2 |
7454978 | Schroeder et al. | Nov 2008 | B2 |
7533584 | Wahl | May 2009 | B1 |
7821321 | Zimlich | Oct 2010 | B2 |
8665368 | Taylor et al. | Mar 2014 | B2 |
8692545 | Shimada et al. | Apr 2014 | B2 |
8739239 | Taylor | May 2014 | B2 |
9429488 | Lu et al. | Aug 2016 | B2 |
9618408 | Lu et al. | Apr 2017 | B2 |
20020087203 | Schmitt | Jul 2002 | A1 |
20030228065 | Kaltschmidt | Dec 2003 | A1 |
20040138859 | Green | Jul 2004 | A1 |
20060225521 | Von Beck et al. | Oct 2006 | A1 |
20080129367 | Murata et al. | Jun 2008 | A1 |
20090121920 | Mullarkey | May 2009 | A1 |
20090196471 | Goetz | Aug 2009 | A1 |
20100002817 | Vrcelj | Jan 2010 | A1 |
20110018726 | Gonzales | Jan 2011 | A1 |
20120025528 | Sipila et al. | Feb 2012 | A1 |
20130225095 | Hong | Aug 2013 | A1 |
20130263654 | Pietron et al. | Oct 2013 | A1 |
20130308489 | Tomala | Nov 2013 | A1 |
20140105413 | Clemow | Apr 2014 | A1 |
20140184210 | Campbell et al. | Jul 2014 | A1 |
20140288452 | Mittal | Sep 2014 | A1 |
20150019170 | Solem | Jan 2015 | A1 |
20150094592 | Ravindran | Apr 2015 | A1 |
20150168467 | Haneda | Jun 2015 | A1 |
20150247887 | Fukai | Sep 2015 | A1 |
20160019906 | Takahashi | Jan 2016 | A1 |
20160045120 | Friedman | Feb 2016 | A1 |
20170026254 | Adylov | Jan 2017 | A1 |
Number | Date | Country |
---|---|---|
0 399 180 | Nov 1990 | EP |
2 618 140 | Jul 2013 | EP |
WO 2017218648 | Dec 2017 | WO |
Entry |
---|
International Search Report and Written Opinion issued in connection with corresponding PCT Application No. PCT/US2017/037438 dated Sep. 7, 2017. |
Number | Date | Country | |
---|---|---|---|
20170356944 A1 | Dec 2017 | US |