Frequency domain resampling of time series signals

Through the frequency domain resampling method, the prominent frequency of the sensor signal is selected and the phase factor set is constructed, which solves the problem of inconsistent sensor sampling rate and improves signal sampling accuracy and early fault detection accuracy.

CN120500686APending Publication Date: 2025-08-15ORACLE INT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380090795.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-01-09
Filing Date
2023-12-04
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

In the prior art, the sensor sampling rate is inconsistent and irregular, resulting in uneven sampling intervals of time series signals, affecting the detection accuracy of early equipment failures.

Method used

Through the frequency domain resampling method, frequency spectrum is generated and highlighted frequencies are selected, a set of phase factors is constructed, coefficients are identified and a new time series signal is generated, and a new time series signal is resampled at the target sampling rate.

Benefits of technology

It improves the sampling accuracy and detection accuracy of time series signals, reduces calculation overhead, and enhances the reliability of early equipment failure detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120500686A_ABST
    Figure CN120500686A_ABST
Patent Text Reader

Abstract

Systems, methods, and other embodiments associated with frequency domain resampling of a time series are described. An example method includes generating a power spectrum for a first time series of signals sampled inconsistent with a target sampling rate. A prominent frequency is selected from the power spectrum. A set of first phase factors that map the highlighted frequency to the frequency domain at a first point in time is generated. A coefficient is identified that associates a set of first phase factors with a value of a first time series signal at a first point in time. A set of second phase factors that map the highlighted frequency to the frequency domain at a second point in time is generated. A second time series signal resampled at the target sampling rate is generated by generating a new value at a second point in time from the set of coefficients and second phase factors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The systems, methods, and other embodiments described herein relate to resampling of time series data based on frequency domain information. Background Art

[0002] Time series signals sampled from sensors can be used for proactive detection of early equipment failures. The sampling rates of different sensors can be different, and samples can be acquired at irregular intervals. Summary of the Invention

[0003] In one embodiment, a computer-implemented method is presented. The method includes generating a power spectrum for a first time series signal, wherein the first time series signal is sampled at a first time point that is inconsistent with a target sampling rate. The method includes selecting one or more prominent frequencies from the power spectrum. The method includes generating a set of first phase factors based on the prominent frequencies and the first time point. Each set of the first phase factors maps one of the prominent frequencies to the frequency domain at the first time point. The method includes identifying coefficients that relate the set of first phase factors to the value of the first time series signal at the first time point. The method includes generating a set of second phase factors based on the prominent frequencies and a second time point. The second time point is consistent with the target sampling rate. Each set of the second phase factors maps one of the prominent frequencies to the frequency domain at the second time point. Furthermore, the method includes generating a second time series signal resampled at the target sampling rate by generating new values at the second time point based on the set of coefficients and the second phase factors.

[0004] In one embodiment, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium includes computer-executable instructions stored thereon. When executed by at least one processor of a computer system, the instructions cause the computer system to perform the steps of a method. The instructions cause the computer system to generate a power spectrum for a first time series signal, where the first time series signal is sampled at a first time point that is inconsistent with a target sampling rate. The instructions cause the computer system to select one or more prominent frequencies from the power spectrum. The instructions cause the computer system to generate a set of first phase factors based on the prominent frequencies and the first time point. Each set of the first phase factors maps one of the prominent frequencies to the frequency domain at the first time point. The instructions cause the computer system to identify coefficients that relate the set of first phase factors to the value of the first time series signal at the first time point. The instructions cause the computer system to generate a set of second phase factors based on the prominent frequencies and a second time point. The second time point is consistent with the target sampling rate. Each set of the second phase factors maps one of the prominent frequencies to the frequency domain at the second time point. Furthermore, the instructions cause the computer system to generate a second time series signal resampled at the target sampling rate by generating new values at the second time point based on the coefficients and the set of second phase factors.

[0005] In one embodiment, a computing system is provided. The computing system includes at least one processor, at least one memory operably connected to the processor, and a non-transitory computer-readable medium including computer-executable instructions stored thereon. When executed by at least the processor, the computer-executable instructions cause the computing system to perform the operations or steps of a method. The computing system is caused to generate a power spectrum for a first time series signal. The first time series signal is sampled at a first time point that is inconsistent with a target sampling rate. The computing system is caused to select one or more prominent frequencies from the power spectrum. The computing system is caused to generate a set of first phase factors based on the prominent frequencies and the first time point. Each set of the first phase factors maps one of the prominent frequencies to the frequency domain at the first time point. The computing system is caused to identify coefficients that describe a relationship between the set of first phase factors and a value of the first time series signal at the first time point. The computing system is caused to generate a set of second phase factors based on the prominent frequencies and a second time point. The second time point is consistent with the target sampling rate. Each set of the second phase factors maps one of the prominent frequencies to the frequency domain at the second time point. Furthermore, the computing system is caused to generate a second time series signal resampled at the target sampling rate by generating a new value at a second time point according to the set of coefficients and the second phase factor. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The accompanying drawings that are incorporated into the specification and form a part thereof illustrate various systems, methods and other embodiments of the present disclosure. It will be appreciated that the element boundaries (e.g., boxes, boxes, groups of boxes, or other shapes) shown in the figures represent an embodiment of boundaries. In some embodiments, an element can be implemented as multiple elements, or multiple elements can be implemented as one element. In some embodiments, an element that is shown as an internal assembly of another element can be implemented as an external assembly, and vice versa. In addition, elements can be drawn without scale.

[0007] Figure 1 An embodiment of a frequency domain resampling system associated with analytical resampling of a time series signal in the frequency domain is illustrated.

[0008] Figure 2 An embodiment of a frequency domain resampling method associated with analytical resampling of a time series signal in the frequency domain is illustrated.

[0009] Figure 3 A graph illustrating an example power spectrum.

[0010] Figure 4 Additional example methods for resampling a collection of multiple time series signals in the frequency domain are illustrated.

[0011] Figure 5An embodiment of a computing system (or computer system) configured with the disclosed example systems and / or methods is illustrated. DETAILED DESCRIPTION

[0012] This document describes systems, methods, and other embodiments that provide frequency-domain resampling of time series signals for multivariate anomaly detection with enhanced accuracy. In one embodiment, the frequency-domain resampling system interpolates the time series signal from a frequency-domain representation rather than a time-domain representation. For example, the frequency-domain resampling system resamples the time series signal to a target sampling rate using a frequency-domain transform.

[0013] In one embodiment, a frequency domain resampling system operates in the frequency domain to generate a time series signal having a target sampling rate without converting the original time series signal in the time domain. In one embodiment, resampling from the frequency domain eliminates the significant computational overhead of performing interpolation in the time domain. In one embodiment, resampling from the frequency domain improves the accuracy of the resulting resampled signal relative to a signal generated by interpolation in the time domain. These and other improvements to techniques for resampling or interpolating time series signals are discussed in greater detail herein.

[0014] In one embodiment, a frequency domain resampling system generates a power spectrum (such as a periodogram or power spectral density (PSD) curve) that indicates the frequencies of the components of the time series signal as peaks in the curve. The input time series signal is sampled at intervals different from the target sampling rate. The frequency domain resampling system then selects one or more of the prominent frequencies with the highest peaks in the power spectrum as representatives of the non-noise information content of the time series signal. The frequency domain resampling system then constructs a dictionary that maps the time points of the time series signal to a set of phase factors in the frequency domain for each selected prominent frequency. The frequency domain resampling system then identifies coefficients that link the set of phase factors to the values of the time series signal at the time points. The frequency domain resampling system then constructs a second dictionary that maps the new time points of the new time series signal (occurring at intervals of the target sampling rate) to the phase factors in the frequency domain for each selected prominent frequency. The frequency domain resampling system then generates a new time series signal based on the coefficients and the new time points, thereby producing a time series signal having values sampled at intervals of the target sampling rate.

[0015] -definition-

[0016] As used herein, the term "frequency domain" refers to the description of a signal in terms of frequency rather than time. For example, a plot of a time series signal in the frequency domain shows how much power (amplitude) the time series signal exhibits at a given frequency.

[0017] As used herein, the term "time domain" refers to the description of a signal in terms of time rather than frequency. For example, a graph of a time series signal in the time domain shows how much power (or amplitude) the time series signal exhibits at a given time.

[0018] As used herein, the term "time series signal" refers to a data structure that indexes a series of data points (such as observations or sampled values) in chronological order. In one embodiment, the data points of a time series signal can be indexed with a timestamp (also referred to herein as a time point). In one embodiment, the time points of a time series signal repeat at regular or uniform intervals, and these intervals are separated by a time amount in time. In other words, the time series signal has a sampling rate. In one embodiment, the time points of a time series repeat at irregular or uneven intervals, and these intervals are separated by different time amounts in time. As discussed in further detail herein, a time series signal having data points at a set of time points can be resampled to have new data points at a set of new time points. In one embodiment, multiple time series signals can have a unified time point or a unified sampling rate shared between multiple time series signals. In one embodiment, multiple time series signals can have non-uniform time points or non-uniform sampling rates that are not shared between multiple time series signals.

[0019] As used herein, the term "time series database" refers to a data structure that includes one or more time series signals that share a common index, such as a series of time stamps or time points.

[0020] As used herein, the term "residual" refers to the difference between a value (such as a sampled or resampled value) and the expected ML prediction or ML estimate of that value from the ML model. Thus, a residual time series signal refers to a time series of residual values between a time series of actual values and a time series of ML estimates of that value.

[0021] References herein to "complex" numbers (such as complex coefficients and complex factors) refer to numbers that have real and imaginary parts. Complex numbers can be expressed in the form a+bj, where a and b are real numbers and j is an imaginary unit.

[0022] — Example Frequency Domain Resampling System —

[0023] Figure 1 An embodiment of a frequency domain resampling system 100 associated with analytical resampling of a time series signal in the frequency domain is illustrated. The frequency domain resampling system 100 includes a power spectrum generator 105, a prominent frequency selector 110, an input dictionary generator 115, a linking coefficient identifier 120, an output dictionary generator 125, and a resampled time series signal generator 130. These components are initially referenced Figure 1 Discussed at a high level and in further detail elsewhere in this paper.

[0024] In one embodiment, the power spectrum generator 105 is configured to generate a power spectrum 135 of an input time series signal 140. The input time series signal 140 is sampled at original time points 142. The original time points 142 are inconsistent with a target sampling rate. The input time series signal can be received or retrieved from a time series database, or as a stream of live data from a sensor. In one example, the power spectrum 135 can be a periodogram, such as a Lomb-Scargle periodogram. The power spectrum generator 105 is further configured to provide the generated power spectrum 135 to the prominent frequency selector 110.

[0025] In one embodiment, the salient frequency selector 110 is configured to select one or more salient frequencies 145 from the power spectrum 135. For example, the salient frequency selector 110 can be configured to identify peaks in the power spectrum 135, rank the peaks in order of height, identify a subset of the highest peaks, and determine the corresponding frequencies of the highest peaks. The salient frequency selector 110 is further configured to provide the selected salient frequencies 145 to the input dictionary generator 115.

[0026] In one embodiment, the input dictionary generator 115 is configured to generate an input dictionary 150 of one or more sets of phase factors from the prominent frequencies 145. A set of phase factors may also be referred to herein as an "atom." In one embodiment, each set of phase factors maps one of the prominent frequencies 145 into the frequency domain at the original time point 142. In one embodiment, the input dictionary generator 115 is configured to generate, for each prominent frequency 145, a set of phase factors that maps the prominent frequency into the frequency domain at the original time point 142. The input dictionary generator 115 is configured to include the set of phase factors for each prominent frequency in the input dictionary 150. The input dictionary generator 115 is further configured to provide the generated input dictionary 150 to the linking coefficient identifier 120.

[0027] In one embodiment, the link coefficient identifier 120 is configured to identify a link coefficient 155 that links the set of first phase factors in the input dictionary 150 with the value of the first time series signal 140 at the original time point 142. In one embodiment, the link coefficient identifier 120 is configured to identify, for each prominent frequency 145, a link coefficient 155 that links the set of phase factors for that frequency with the value of the input time series signal 140 at the original time point 142. The link coefficient identifier 120 is further configured to provide the identified link coefficient 155 to the output dictionary generator 125.

[0028] In one embodiment, the output dictionary generator 125 is configured to generate an output dictionary 160 of a set of second phase factors based on the prominent frequencies 145 and the new (second) time point 165. In one embodiment, the new time point 165 coincides with the target sampling rate. In one embodiment, each set of second phase factors in the output dictionary 160 maps one of the prominent frequencies 145 into the frequency domain at the new time point 165. In one embodiment, the output dictionary generator 125 is configured to generate, for each prominent frequency 145, an output (or second) set of phase factors that maps the prominent frequency into the frequency domain at the new (or second) time point 165. The output dictionary generator 125 is further configured to provide the output dictionary 160 to the resampled time series signal generator 130.

[0029] In one embodiment, the resampled time series signal generator 130 is configured to generate an output (or second) time series signal 170. The output time series signal 170 is sampled at a target sampling rate. The output time series signal 170 is generated based on multiplying the link coefficient 155 with the set of second phase factors in the output dictionary 160 to produce a new value at a new time point 165. Therefore, in one embodiment, the resampled time series signal generator 130 is configured to generate an output time series signal 170 sampled at the target sampling rate based on multiplying the link coefficient with the second set of phase factors for each prominent frequency to produce a new value at the new time point 165.

[0030] Further details regarding the frequency domain resampling system 100 are provided herein. In one embodiment, reference is made to Figure 2 The example frequency domain resampling method 200 shown in FIG. Figure 4 The operation of the frequency domain resampling system 100 is described with reference to the example frequency domain resampling method 400 shown in FIG. Figure 3 The operation of the power spectrum generator 105 and the salient frequency selector 110 is described in further detail with reference to the example periodogram 300 shown in FIG.

[0031] — Example Frequency Domain Resampling Method —

[0032] Figure 2One embodiment of a frequency domain resampling method 200 associated with analytical resampling of a time series signal in the frequency domain is illustrated. For example, the frequency domain resampling method 200 accepts a time series signal that was initially sampled at a first set of (possibly non-uniform) intervals and generates a new time series signal sampled at a target sampling interval using a frequency domain transform that automatically generates prominent frequencies that are components of the time series signal. Thus, in one embodiment, the frequency domain resampling method 200 resamples the time series signal from observations at the original time points to observations at the new time points.

[0033] In summary, frequency domain resampling method 200 generates a power spectrum for a first time series signal. The first time series signal is sampled at a first time point that is inconsistent with a target sampling rate. Frequency domain resampling method 200 then selects one or more prominent frequencies from the power spectrum. For each prominent frequency, method 200 generates a first set of phase factors that map the prominent frequency to the frequency domain at the first time point. For each prominent frequency, method 200 also identifies coefficients that relate the first set of phase factors to the value of the first time series signal at the first time point. Furthermore, for each prominent frequency, method 200 generates a second set of phase factors that map the prominent frequency to the frequency domain at a second time point. The second time point is consistent with the target sampling rate. Method 200 then generates a second time series signal. The second time series signal is sampled at the target sampling rate. Method 200 generates the second time series signal by multiplying the coefficients by the second set of phase factors for each prominent frequency to produce a new value at the second time point.

[0034] In one embodiment, the frequency domain resampling method 200 is initiated at a start block 205 in response to a computer processor determining one or more of the following: (i) an incoming time series signal to be resampled has been detected; (ii) the next time series signal in the set of time series signals to be resampled has arrived; (iii) an instruction to execute the frequency domain resampling method 200 on the time series signal has been received; (iv) a user or administrator of the frequency domain resampling system 100 has initiated the frequency domain resampling method 200; (v) it is currently scheduled to run the frequency domain resampling method 200; or (vi) the frequency domain resampling method 200 should be initiated in response to the occurrence of some other condition. In one embodiment, the computer is configured by computer-executable instructions to execute the components of the frequency domain resampling system 100 according to the frequency domain resampling method 200. After being initiated at the start block 205, the frequency domain resampling method 200 continues to the processing block 210.

[0035] — Example Method - Power Spectrum Generation —

[0036] At processing block 210, frequency domain resampling method 200 generates a power spectrum for a first time series signal. The first time series signal is sampled at a first time point that is inconsistent with a target sampling rate. Therefore, in one embodiment, frequency domain resampling method 200 calculates a power spectrum for a signal that may be sampled unevenly. In one embodiment, frequency domain resampling method 200 creates a function that describes the power spectrum of the time series signal. As discussed below, this power spectrum indicates the distribution of power between the frequency components of the first time series signal. In other words, the power spectrum shows the magnitude of the contribution of each frequency component to the first time series signal.

[0037] In one embodiment, at processing block 210, the frequency domain resampling method 200 receives a first time series signal as input. The first time series signal may also be referred to herein as an input time series signal. In one embodiment, the first time series signal may be retrieved from a storage device. Alternatively, in one embodiment, the first time series signal may be received in a live stream from a sensor. In one embodiment, the first time series signal may be a signal having actual observed values detected by the sensor as data points.

[0038] The first time series signal includes a series of data points at discrete time points. In one embodiment, a time point is a time signature or timestamp of a data point in the time series signal. In other words, a time point is the time at which the data point occurs. A data point of the first time series signal represents the value of a measured variable (such as a sensor reading) as of the time point at which the data point occurs. The first time series signal represents the change in the measured variable over time. A data point may also be referred to as a sample or observation. A time point indicates the time at which the variable was measured to create the data point. Therefore, each data point has a corresponding time point (or timestamp).

[0039] Sampling refers to obtaining or providing the value of a data point at a given point in time, and a sample is that value. Sampling can be repeated at multiple points in time (i.e., points in time) to generate a time series signal, such as the first time series signal. In one embodiment, a sample can be measured by observing the value sensed at a point in time. Alternatively, in one embodiment, a sample can be generated by synthesizing the value at a certain point in time using a resampling process (such as the frequency domain resampling method 200). Thus, a time series signal can be sampled at a point in time.

[0040] When the values of data points in a time series signal are acquired with consistent time intervals between samples, the time series signal is sampled at a uniform sampling rate. A uniform sampling rate is 1 sample per interval. When the values of data points in a time series signal are acquired with varying amounts of time between samples, the time series signal is sampled unevenly, or at an uneven sampling rate. When multiple time series signals share a common uniform sampling rate, the sampling rate is said to be a unified sampling rate for the multiple time series signals.

[0041] A target sampling rate can be specified for the resampled signal generated by the frequency domain resampling method 200. The target sampling rate is a preselected spacing between time points. The target sampling rate is called a "target" because it is the target, purpose, or resultant sampling rate for sampling one or more time series. In one embodiment, the target sampling rate uniformly spaces the time points of the data points in time.

[0042] In one embodiment, the target sampling rate is provided to the system by user input. In one embodiment, the target sampling rate is automatically selected. For example, a maximum sampling rate can be determined in the collection of time series signals, and this maximum sampling rate can be selected as the target sampling rate. Alternatively, for example, a sampling rate that strikes a balance between sampling rate and computational requirements can be identified (based on parameters specified by a user or administrator), and this sampling rate can be selected as the target sampling rate.

[0043] In one embodiment, a first time series signal (provided as an input for resampling to a target sampling rate) is sampled at a time point that is inconsistent with the target sampling rate. As used herein, the sampling of a time series is inconsistent with the target sampling rate when the time points of the time series do not recur at the target sampling rate. Inconsistency with the target sampling rate can be due to, for example, the time series signal having time points that recur at a sampling rate different from the target sampling rate, having irregular time point spacings, or having time shifts of the time points, or some combination of these reasons.

[0044] In one embodiment, at processing block 210, the frequency domain resampling method 200 generates a power spectrum from the input time series signal. The power spectrum describes the power distribution of the input time series signal within the range of component frequencies that constitute the input time series signal. For example, a curve (or function) representing the power of the input time series signal within a certain frequency range, such as a periodogram or a power spectral density (PSD) curve, can be generated. In one embodiment, the generated function or curve can be simply referred to as a power spectrum. The power spectrum, i.e., the curve or function, is provided as an output of processing block 210 for subsequent processing.

[0045] The power spectrum can be generated by performing a spectral analysis on the first time series signal. Generally speaking, the spectral analysis operation is to represent or approximate the signal as the sum of simpler sinusoidal components. In one embodiment, the first time series signal is decomposed into component sinusoids. In one embodiment, a curve (or function) describing the distribution of the power of the first time series signal between the component sinusoids is then generated as the power spectrum. The power spectrum describes the time series signal in the frequency domain. In one embodiment, the spectral analysis is a Lomb-Scargle analysis (or other least squares spectral analysis) that estimates the least squares fit of the sinusoids to the first time series signal.

[0046] In one embodiment, a power spectrum is generated after receiving a sufficiently long segment (or range of time points) of the first time series signal to support spectral analysis. Various segment lengths may be appropriate. For example, when the entire length of the first time series signal has been previously recorded, the segment of the first time series signal may be the full length of the time series signal. Or, for example, when the first time series signal is streamed, the segment of the first time series signal may be the amount of the first time series signal that fills a buffer. In one embodiment, the segment should cover at least a time range that is as long as the longest period (or lowest frequency) to be included in the power spectrum. These and other segment lengths may be specified by the configuration of the frequency domain resampling system 100.

[0047] The frequencies of the component sinusoids may be referred to herein as the "component frequencies" of the time series signal. In one embodiment, the peaks in the power spectrum occur at the component frequencies (or periods) of the input time series signal. For example, in the power spectrum, the centers of the peaks are located at frequencies (or periods) that sum to or approximate the input time series signal. The height of the peaks in the power spectrum indicates how prominent the component frequencies at the peaks are in the input time series signal. Therefore, the power spectrum can be used to identify the more prominent frequencies among the component frequencies that make up the input time series signal (as discussed in further detail herein). Furthermore, the power spectrum can be used to identify the less prominent frequencies that make up the input time series signal (as discussed in further detail herein).

[0048] As an illustrative example, let one of the observed time series signals (e.g., the first time series signal) be The signal is sampled at M discrete time points that may be unevenly selected on the time axis. (The observations of the time series signal are real numbers.) The Lomb-Scargle periodogram is the power spectrum that will be used to extract the prominent frequencies in the time series signal. The Lomb-Scargle periodogram function P LS (f) is:

[0049]

[0050] in and σ 2 yes The mean and variance of . Compared with the traditional power spectral density (PSD) calculation method, the Lomb-Scargle periodogram can generate the PSD of the non-uniformly sampled time series. The time lag τ is defined as:

[0051]

[0052] Therefore, in one embodiment, the function of the power spectrum is a Lomb-Scargle periodogram P calculated for the first time series signal. LS (f) given.

[0053] In one embodiment, the function of the power spectrum is given by the Lomb-Scargle periodogram of the first time series signal. The Lomb-Scargle periodogram allocates more energy to the actual component frequencies than the Fast Fourier Transform (FFT), which allocates more energy around the component frequencies. Therefore, the Lomb-Scargle periodogram has sharp, prominent peaks centered at frequencies with important information content. Moreover, unlike some transform operations (such as FFT), the Lomb-Scargle periodogram can be generated for time series signals that are unevenly sampled in time.

[0054] In an alternative embodiment, the power spectrum function is given by a non-uniform discrete Fourier transform (NUDFT) of the first time series signal. Like the Lomb-Scargle periodogram, the spectral analysis performed using the NUDFT accommodates non-uniformly sampled signals. However, compared to the Lomb-Scargle periodogram, the NUDFT exhibits less sharp and prominent peaks around component frequencies that represent information content.

[0055] Therefore, in one embodiment, the frequency domain resampling method 200 generates a power spectrum of the first time series signal by receiving a first time series signal (input time series signal), decomposing the first time series signal into component sinusoids, and generating a curve or function describing the distribution of power between frequencies corresponding to the component sinusoids as a power spectrum. Then, processing block 210 is completed, and the frequency domain resampling method 200 continues at processing block 215. In one embodiment, the function of processing block 210 is performed by power spectrum generator 105. After processing block 210 is completed, the frequency domain resampling method 200 has generated or created a power spectrum representing the first time series signal in the frequency domain. The power spectrum can be used to distinguish between frequencies in the first time series signal that carry more information content and frequencies in the first time series signal that carry more noise content.

[0056] Now refer to Figure 3 , Figure 3 Graph 300 of an example power spectrum 305 is illustrated. Example power spectrum 305 is a Lomb-Scargle periodogram. Example power spectrum 305 is plotted in two dimensions, with a frequency axis 310 and an absolute magnitude axis 315. Example power spectrum 305 shows the absolute magnitude of the power of an example time series signal distributed over a certain frequency range or spectrum. Example power spectrum 305 exhibits three prominent spectral peaks, including a highest peak 320 at 2.17 Hz, a second highest peak 325 at 1.61 Hz, and a third highest peak 330 at 4.55 Hz. The highest peak 320 has a height (or magnitude) of approximately 10.8, the second highest peak 325 has a height of approximately 10.6, and the third highest peak 330 has a height of approximately 10.2. Example power spectrum 305 also exhibits various other shorter peaks (such as shorter peak 335) at various frequencies. The shorter peaks are meaningless and are caused by noise in the example time series signal. The noise in the example time series signal is Gaussian noise with a standard deviation of 0.25.

[0057] — Example Method - Highlight Frequency Selection —

[0058] Reference again Figure 2 At processing block 215, the frequency domain resampling method 200 selects one or more prominent frequencies from the power spectrum. For example, the frequency domain resampling method 200 selects certain component frequencies in the time series signal that have significant information content, while excluding other component frequencies that carry little or no information. In one embodiment, the frequency domain resampling method 200 selects as prominent frequencies those component frequencies that have peaks in the power spectrum that are above a specified threshold. In one embodiment, the threshold is made adaptive by setting the threshold to a fixed fraction of the highest peak in the power spectrum.

[0059] As discussed above, the power spectrum shows the distribution of the power of the input time series signal over the component frequencies of the input time series signal. The prominent frequencies are selected from the component frequencies in the power spectrum. In one embodiment, the action of selecting frequencies (or periods) from the power spectrum is performed by identifying the prominent frequencies from the component frequencies and then including the identified frequencies in a set of prominent frequencies. The set of prominent frequencies can be a data structure such as an array of one or more frequencies. The frequencies can be recorded in the set of prominent frequencies as the number of times an event occurs per unit time. The set of prominent frequencies is provided for creating a set of phase factors (also known as discrete Fourier transform atoms) for each prominent frequency.

[0060] The selected frequencies are "prominent" frequencies. As used herein, the term "prominent" applied to a frequency indicates that the input time series signal has significant power at that frequency. In other words, a prominent frequency is a component frequency of the input time series signal at a location in the input time series signal where strong repetitive content exists. Component frequencies with strong repetitive content in the input time series signal carry more information than component frequencies with weak repetitive content. In one embodiment, prominent frequencies are component frequencies in the input time series signal that are determined to be prominent based on the magnitude at that frequency in the power spectrum for the input time series signal.

[0061] Peaks or local maxima appear in the power spectrum at prominent frequencies. Therefore, prominent frequencies can be detected by identifying peaks in the power spectrum. Whether a frequency is a prominent frequency can be determined by comparing the height of the peak corresponding to the frequency with a minimum threshold. The minimum threshold distinguishes between frequencies that carry information and frequencies that carry noise. When the height of the peak of a certain frequency (also referred to herein as the peak height) meets the minimum threshold, the frequency will be considered prominent. When the peak height of a certain frequency does not meet the minimum threshold, the frequency will not be considered prominent. The peak height can also be referred to as the "magnitude" of the peak. When the power spectrum is a Lomb-Scargle periodogram of the first time series signal, the peaks around the component frequencies that carry the information content of the first time series signal in the first time series signal are clear, sharp and tall relative to the peaks around the frequencies that represent noise or weaker repetitive content in the first time series signal.

[0062] In one embodiment, the minimum threshold can be set or preconfigured by a user or administrator of the frequency domain resampling system 100. In one embodiment, the minimum threshold is an adaptive minimum value measured relative to the height of the highest spectral peak in the power spectrum. In one embodiment, the minimum threshold is a fixed fraction or ratio of the highest spectral peak in the power spectrum. In other words, the minimum threshold can be satisfied by a spectral peak that exceeds a fixed ratio of the magnitude of the spectral peak with the largest magnitude in the power spectrum. In other words, the minimum threshold can be a fixed ratio of the maximum magnitude of the peak. In one embodiment, the user or administrator can set the minimum threshold by providing a ratio value (such as a percentage) for the fixed ratio. In one embodiment, the minimum threshold can be set to 80 percent of the height of the highest spectral peak. In one embodiment, the threshold can be set to other percentages of the height of the highest spectral peak.

[0063] For example, again briefly refer to Figure 3, the height of the highest peak 320 is 10.8. The example minimum threshold 340 is set to 80 percent of the height of the highest peak 320, i.e., at a height of 8.64. The example minimum threshold 340 distinguishes the highest peak 320, the second highest peak 325, and the third highest peak 330 as prominent peaks relative to shorter peaks (e.g., shorter peak 335). Thus, the three component frequencies centered around the prominent peaks, 2.17 Hz, 1.6 Hz, and 4.55 Hz (in descending order of peak height), are identified as prominent frequencies in the example power spectrum 305. (K=3, where K is the number of prominent frequencies, as discussed below.) The frequencies of shorter peaks (such as shorter peak 335) that fall below the example minimum threshold 340 are rejected as noise elements and are therefore ignored because they carry no information about the monitored system. This is appropriate because these shorter peaks are due to noise on the example time series signal generated by the example power spectrum 305.

[0064] In one embodiment, the minimum threshold defines a noise floor that indicates that any spectral peaks below it are noise or otherwise carry insufficient information. Component frequencies whose peaks drop below the minimum threshold are not selected as prominent. Therefore, these noisy and / or less prominent component frequencies in the power spectrum are eliminated or excluded by the threshold and thus cannot be used to generate a resampled signal from the frequency domain. In this way, the noisy component frequencies are removed from the input time series signal, thereby denoising the input time series signal. Eliminating noisy and / or less prominent component frequencies is beneficial to the purpose of frequency domain resampling. Eliminating all frequencies except the prominent frequencies allows the frequency domain resampling method to resample the signal from which the vast majority of noise and less information content have been removed. Therefore, the output time series signal generated from the frequency domain resampling method will be denoised relative to the input time series signal.

[0065] In one embodiment, a "stop threshold" for the magnitude (height) of the spectrum peaks is also provided. All peaks in the power spectrum that fall below the stop threshold are removed, regardless of whether they exceed a minimum threshold. The stop threshold ensures that noise elements are removed. In one embodiment, the stop threshold is a non-relative magnitude value. The stop threshold does not change based on the height of the peaks in the power spectrum. Therefore, the stop threshold is set to a fixed height. In one embodiment, the stop threshold is set to a value that is expected to be higher than most noise values. The stop threshold can be set or pre-configured by a user or administrator of the frequency domain resampling system 100. In one embodiment, the height of the stop threshold is automatically predetermined based on the expected noise level of the type of sensor from which the input time series signal is received.

[0066] For example, again briefly refer to Figure 3, an example stopping threshold 345 is shown. The example stopping threshold is set to a height of 1. Other heights for the stopping threshold may also be appropriate. Frequencies of shorter peaks (such as shorter peak 335) that fall below the example stopping threshold 345 are rejected as noise elements and are therefore ignored because they do not carry information about the monitored system.

[0067] Although not shown, another example illustrates the operation of the example stopping threshold. Assuming the highest peak has a value of 1.1 and the second highest peak has a value of 0.95, the second peak will be rejected because it is below the example stopping threshold 345, even though the second peak exceeds the adaptive minimum threshold of 0.88, or 80% of the highest peak value of 1.1.

[0068] In one embodiment, to select prominent frequencies, peaks in the power spectrum are identified, ranked in order of height, and compared to a minimum threshold and a stopping threshold; then, the frequency corresponding to the peak that meets the threshold is selected as the prominent frequency. An algorithm for finding peaks or local maxima in two dimensions can be used to identify peaks or local maxima of the power spectrum. For example, the magnitude of the power spectrum function can be determined at each frequency in a series of increasing frequencies. The magnitude at each individual frequency can be compared to the magnitude of the immediately adjacent frequencies (i.e., the frequency immediately before the frequency under consideration and the frequency immediately after the frequency under consideration). When the magnitude at that frequency exceeds the magnitude at the two immediately adjacent frequencies, the frequency is a maximum. The values of the frequencies and the values of the magnitudes are stored in a set of peaks in the power spectrum for further processing. The set of peaks can be stored as a data structure, such as an array of pairs of frequency values and magnitude values.

[0069] The collection of peaks in the power spectrum is sorted in order of magnitude. Any suitable sorting algorithm can be used to perform this sorting. Once the sorting is complete, the highest peak (i.e., the peak with the largest magnitude) is used to set a minimum threshold for peak height, which is used to distinguish between prominent frequencies and non-prominent frequencies. The peak height (magnitude) of the highest peak (or largest local maximum) is multiplied by a fixed fraction (such as 80 percent) to generate the minimum threshold. Thus, the minimum threshold is a threshold for magnitude.

[0070] In one embodiment, the set of sorted peaks is examined to determine which peaks fall above a minimum threshold and a stopping threshold (thus meeting the thresholds) and which peaks do not. In one embodiment, the peaks in the set of sorted peaks are compared to the minimum threshold and the stopping threshold in descending order of successive peak heights until a peak is reached that falls below either threshold. For each peak that does not fall below the minimum threshold and the stopping threshold, the corresponding frequency of the peak is added to the set of prominent frequencies. Thus, in one embodiment, one or more prominent frequencies are selected from the power spectrum. Processing block 215 thus operates to generate a set of prominent frequencies.

[0071] In one embodiment, the frequency domain resampling method selects one or more prominent frequencies from the Lomb-Scargle periodogram of the input time series signal. A minimum threshold is set, and a stop threshold is set. LS (f) The frequencies whose magnitudes are higher than both the minimum threshold and the stop threshold are selected as the prominent frequencies. The number of the selected prominent frequencies is K, where K is the Lomb-Scargle periodogram P LS The number of frequencies in (f) that have peaks with magnitudes greater than both the minimum threshold and the stop threshold. These K prominent frequencies are denoted by f1, ..., f K express.

[0072] Thus, in one embodiment, the frequency domain resampling method 200 selects one or more prominent frequencies from the power spectrum by: identifying peaks in the power spectrum by frequency and magnitude; sorting the peaks in order of magnitude; identifying the highest peak with the largest magnitude; calculating a minimum threshold and obtaining a stopping threshold based on a preconfigured fixed fraction of the largest magnitude; comparing the magnitude of the peak to the minimum threshold and the stopping threshold; and adding the frequency of the peak to the set of prominent frequencies for which the magnitude of the peak exceeds (and therefore meets) the minimum threshold and the stopping threshold. Note that when the minimum threshold exceeds the stopping threshold, the comparison to the stopping threshold is redundant and may be bypassed or not performed. Processing block 215 is then complete, and the frequency domain resampling method 200 continues at processing block 220. In one embodiment, the functionality of processing block 215 is performed by the prominent frequency selector 110.

[0073] In one embodiment, when selecting prominent frequencies from a Lomb-Scargle periodogram, peaks in the periodogram that are "below the noise floor" are removed in the frequency domain. In other words, peaks below a minimum threshold for separating frequencies containing informative components from frequencies containing noise components are discarded and not included as prominent frequencies. Furthermore, peaks below a stopping threshold for separating frequencies containing potential informative components from explicit noise are also discarded and not included as prominent frequencies.

[0074] Therefore, the component frequencies of the input time series signal that are removed as noise components of the input time series signal are not used in subsequent steps of frequency domain resampling method 200 to generate the output time series signal. Removing the noise-bearing frequencies provides the following advantage: the output time series signal generated by the subsequent steps of frequency domain resampling method 200 actually represents the sensor measurement more accurately than the original measurement received from the sensor. Using the frequency domain resampled time series signal results in higher predictive accuracy for detecting early-stage faults in noisy processed signals and earlier anomaly detection. As discussed herein, this increased accuracy and earlier detection have been experimentally confirmed.

[0075] — Example Method - Input Phase Factor Dictionary Generation —

[0076] At processing block 220, the frequency domain resampling method 200 generates a set of first phase factors based on the prominent frequencies and the first time point. Each set of first phase factors maps one of the prominent frequencies to the frequency domain at the first time point. For example, the frequency domain resampling method 200 can construct a dictionary of phase factors that map the prominent frequencies at those time points in the input time series signal at which observations are present to the frequency domain. The set of first phase factors is used in subsequent processing to calculate complex coefficients indicating the contributions of the prominent frequencies to the input signal, as discussed below at processing block 225.

[0077] Because the set of first phase factors is used for mapping at the first time point, ie, for mapping at the original time point of the input time series signal, the set of first phase factors may also be referred to herein as the set of input phase factors.

[0078] In one embodiment, the phase factor can be expressed in the form The number of complex exponentials expressed, where j is the imaginary unit f k is one of the prominent frequencies, and t m is one of the time points of the input time series signal (the first time point). The phase factor is a unit complex number: a complex number with an absolute value of 1.

[0079] In one embodiment, the phase factor maps the prominent frequencies at individual time points in the time series signal to the frequency domain. As used herein, mapping to the frequency domain refers to a function, operator, or transform that translates an expression in terms of time (time domain) into an expression in terms of frequency (frequency domain). The phase factor expression is Provides a mapping to the frequency domain. The phase factor expression Indicates the protruding frequency f k The circular (or oscillatory) motion at time t m The position along the circular (or oscillatory) motion is described by the frequency at time t m The protruding frequency f k , thereby mapping the prominent frequencies to the frequency domain at individual time points. Therefore, the phase factor at a certain time point indicates the current phase of the prominent frequency as of that time point.

[0080] In one embodiment, each set of input phase factors includes a phase factor for each time point in the input time series signal. The input phase factors are arranged in the order of the time points (first time points) of the input time series signal. In one embodiment, the set of input phase factors for frequency f k The phase factor is the series where t1, ..., t M is a time point of the input time series signal. Therefore, the length of each set of phase factors is as long as the number M of time points (or samples) in the input signal. A set of phase factors (such as a set of input phase factors) may also be referred to herein as a discrete Fourier transform (DFT) atom. In one embodiment, a set of input phase factors is generated for each prominent frequency. A collection of sets of phase factors (wherein a set of phase factors exists for each prominent frequency) may also be referred to herein as a dictionary of sets of phase factors (or a dictionary of DFT atoms). The set of phase factors for a prominent frequency indicates the current phase of the prominent frequency at the original time point of the input time series signal.

[0081] In one embodiment, a set of input phase factors is generated based on the prominent frequency selected at processing block 215 and the time point (first time point) of the input time series signal. In one embodiment, to generate the set of phase factors for the prominent frequency, the prominent frequency is taken as f k Insert the phase factor expression And take each time point (first time point) of the input time series signal as t m Insert into the phase factor expression. For each time point of the input time series signal, calculate the value of the phase factor and place it into a data structure that contains the set of input phase factors for the highlighted frequency. This data structure can be, for example, an array of length M.

[0082] The set of input phase factors (or DFT atoms) corresponds one-to-one to the prominent frequencies. Therefore, as described above, the set of input phase factors is repeatedly generated for each of the K prominent frequencies. In this way, a set of input phase factors (or DFT atoms) is generated for each prominent frequency, thereby producing a collection of sets of input phase factors (or DFT atoms), which may be referred to herein as an input dictionary. The input dictionary can be, for example, a data structure such as a K×M dimensional matrix. This data structure can store an array of input phase factors for each prominent frequency.

[0083] Upon completion of processing block 220, a dictionary is constructed containing the selected prominent frequencies f1, ..., f K and time points t1, ..., t M The set of input phase factors (or DFT atoms) at . The K sets of input phase factors are:

[0084]

[0085] Thus, in one embodiment, the frequency domain resampling method 200 generates a set of input phase factors (i.e., a first set of phase factors) based on the prominent frequencies and the original time points (i.e., the first time points) by: for each combination of one of the prominent frequencies and one of the original time points, retrieving the value of the prominent frequency and the input time point; inserting the prominent frequency and the input time point into an expression for the phase factor; calculating the value of the input phase factor by executing the expression for the phase factor using the values of the prominent frequency and the input time point; and storing the resulting value of the input phase factor at the position of the time point in the set of phase factors corresponding to the prominent frequency. The resulting set of input phase factors for the prominent frequencies is an input dictionary of the set of phase factors. Processing block 220 is then completed, and the frequency domain resampling method 200 continues at processing block 225. In one embodiment, the functionality of processing block 220 is performed by the input dictionary generator 115. The input dictionary provides a mapping at the time points of the input time series signal (not sampled at the target sampling rate) to enable identification of the complex coefficients describing the contribution of each prominent frequency to the input time series signal.

[0086] — Example Method - Linkage Coefficient Identification —

[0087] At processing block 225, the frequency domain resampling method 200 identifies coefficients that associate a set of first phase factors with the value of the first time series signal at a first point in time. In one embodiment, the frequency domain resampling method 200 determines how much each prominent frequency contributes to the input time series signal and how much the phase of each prominent frequency is shifted. This magnitude and phase information for each prominent frequency is encoded in a complex coefficient for that prominent frequency. For example, the frequency domain resampling method 200 calculates a coefficient for each prominent frequency such that the sum of the products of that coefficient and the phase factors in the set of phase factors for each prominent frequency for a particular point in time approximates the data value of the input time series signal at that point in time.

[0088] Because the coefficients provide a connection between (ie, describe a relationship between) a set of phase factors and data values at a time point of the input time series signal, the coefficients may be referred to herein as linking coefficients.

[0089] The link coefficients are complex constants. Thus, in one embodiment, the link coefficients are complex coefficients. Each link coefficient corresponds one-to-one to one of the salient frequencies. Recall that the salient frequencies are component frequencies of the input time series signal. The link coefficients describe both the magnitude and the phase of the salient frequencies. Thus, the link coefficients describe how the corresponding salient frequencies contribute to the input time series signal. In other words, the magnitude information encoded in the link coefficients describes the strength of each salient frequency as a component of the input time series signal. And, the phase information encoded in the link coefficients describes how the periods of the salient frequencies as components of the input time series signal are shifted (or displaced or offset) in time.

[0090] The value of the input time series signal at the original time point is the observation or data point of the input time series signal. It can be described by a linear combination of the product of a set of input phase factors and a complex coefficient for each prominent frequency (link coefficient), thus:

[0091]

[0092] in is the link coefficient.

[0093] Thus, the link coefficient provides a link between an observation or data value at a certain point in time in the input time series signal and the phase factor for that point in time from the set of input phase factors for each prominent frequency. The link coefficient associates the set of phase factors with the data value of the time series signal. In other words, the link coefficient describes the relationship between the set of input phase factors and the value of the input time series signal at the original time point. The link coefficient explains the relationship or link between the phase factor for a certain point in time from the set of phase factors and the data value at that point in time in the time series. For example, the link coefficient associates or links the phase factor for each prominent frequency at that point in time with the data value of the input time series signal at that point in time by providing the magnitude and phase information of the contribution of each prominent frequency as of that point in time. As shown in Equation 4 above, the data value at a certain point in time in the input time series signal is given or approximated by the sum of the products of the phase factor for that point in time and the link coefficient for that prominent frequency for each prominent frequency.

[0094] In one embodiment, identifying the coefficient refers to determining the value of the link coefficient. For example, the value of the link coefficient can be determined by least squares regression. Equation 4 can be rewritten as:

[0095]

[0096] therefore It can be solved by least squares regression (for complex numbers).

[0097] A time series signal can be generated or "recovered" from the link coefficients and phase factors by executing the right side of Equation 5 above to produce a recovered time series signal of recovered data values. As used herein, the term "recovered" refers to a time series signal and data points generated by a combination of a set of link coefficients and phase factors, for example, as shown on the right side of Equations 4 and 5.

[0098] In one embodiment, the link coefficients can be identified by least squares regression. The value of the phase factor in each set is retrieved from the dictionary generated at processing block 220. The observations or data points of the input time series are retrieved from the time series signal. To identify the link coefficients, a least squares regression is performed on the phase factor and the observations. The least squares regression operation adjusts the value of the link coefficient until the sum of the squared differences between the actual value of the observation and the recovered value for the observation generated by the link coefficient and the phase factor is minimized. In other words, the least squares operation adjusts the link coefficients until the recovered time series signal achieves a best fit with the input time series signal. "Best fit" is determined in the sense that the sum of the squared differences between the original value and the recovered value is minimized. Adjustments to each link coefficient can be made by increasing and / or decreasing the current value of the link coefficient until further adjustments will move the sum of the squared differences between the original value and the recovered value away from the minimum value. Once the sum of the squared differences reaches a minimum value, the value of the link coefficient is determined, and the link coefficient is identified.

[0099] Identified link coefficients The corresponding set (atoms) of reference phase factors and / or the corresponding salient frequencies may be stored in a data structure.For example, the identified linking coefficients may be stored in an array of linking coefficients.

[0100] Identified link coefficients contains both magnitude and phase information for the K prominent frequencies. As mentioned above, the link coefficients are complex coefficients and are used for the prominent frequencies f k The coefficient of It can be expressed as the sum of the real part a and the imaginary part bj Prominent frequency f k The magnitude information can be obtained from the complex link coefficient for this prominent frequency Extracted as the square root of the sum of the square of the real part a and the absolute value of the imaginary part b (value = √(a 2 +b 2 )). Highlight frequency f k The phase information can be obtained from the complex link coefficient of the prominent frequency The phase is extracted as the arc tangent of the quotient of the absolute value of the imaginary part b and the real part a (phase = arctan (b / a)).

[0101] Thus, in one embodiment, the frequency domain resampling method 200 identifies link coefficients that associate a set of first phase factors with the value of the first time series signal at a first point in time by: repeatedly adjusting the values of the complex link coefficients corresponding to the prominent frequencies; calculating a recovered time series signal based on the adjusted values of the complex link coefficients and the set of first phase factors; comparing the recovered time series signal to the input time series signal to find the difference between the series; summing the squares of the differences; comparing the sum to the previous minimum sum to determine whether the sum is a new minimum until further adjustments do not reduce the minimum; and storing the value of the complex link coefficient that produced the minimum. Processing block 225 is then completed, and the frequency domain resampling method 200 continues at processing block 230. In one embodiment, the functionality of processing block 225 is performed by the link coefficient identifier 120. In one embodiment, upon completion of processing block 225, complex coefficients describing the magnitude and phase of each prominent frequency's contribution to the input time series signal have been found. The input dictionary of the set of link coefficients and phase factors together represents the input time series signal in the frequency domain. The linking coefficients may be used with a set of output phase factors for the new time point to produce a resampled time series signal.

[0102] — Example Method - Output Phase Factor Dictionary Generation —

[0103] At processing block 230, the frequency domain resampling method 200 generates a set of second phase factors based on the prominent frequencies and a second time point. The second time point coincides with the target sampling rate. Each set of second phase factors maps one of the prominent frequencies to the frequency domain at the second time point. For example, the frequency domain resampling method 200 can construct a new dictionary of sets of phase factors that map the prominent frequencies to the frequency domain at those time points that recur at the target sampling rate, at which new data points are designated for placement in the second time series signal. Thus, the frequency domain resampling method 200 constructs a new set of phase factors for the prominent frequencies, wherein the phase factors are a new set for the time step determined by the target sampling rate. The set of second phase factors will be used in subsequent processing in combination with the link coefficients identified at processing block 225 to produce resampled values at the new time point, as discussed below at processing block 235.

[0104] The second phase factor is also referred to herein as an output phase factor because the second phase factor is used to generate the resampled time series signal produced as an output of the frequency domain resampling method 200. The second time points may also be referred to herein as new time points because they are the time points at which the resampled values will be created.

[0105] In one embodiment, a target sampling rate is received as an input to the frequency domain resampling system. For example, the target sampling rate can be selected by a user or automatically (as discussed above with reference to processing block 210). The target sampling rate is a specified pace of samples of the resampled signal (or the interval between time points as discussed above). In one embodiment, the target sampling rate can be provided as a value for the frequency of sampling or the period between samples.

[0106] The target sampling rate can be converted into a sequence of new time points. The new time points are evenly spaced in time at certain intervals (or time periods). The intervals cause the new time points to recur at the target sampling rate. Therefore, the target sampling rate is a uniform sampling rate. A time series sampled at the target sampling rate will be evenly sampled, with consistent time intervals between samples. The new time points can be specific times separated by intervals. For example, time points such as seconds from the start of the time series signal, or date and time stamps of intervals.

[0107] In one embodiment, the frequency domain resampling method 200 converts the target sampling rate into a sequence of new time points. A time point is selected as the initial time point of the new time points. In one embodiment, the initial time point is a time that specifies the beginning of the time range covered by the input signal. The initial time point is stored at the beginning of the sequence of new time points, for example, in an array of time points. Additional time points are created. Each additional time point is evenly spaced from the previous time point at a consistent time interval. This interval can be the inverse of the target sampling rate. The additional time points are stored in the array of new time points in chronological order. Additional time points are created until further additional time points exceed the end of the time range covered by the input signal. In this way, a set or sequence of new time points is created. Although the first time point (discussed above at processing block 220) may not be consistent with the target sampling rate and may not recur at the target sampling rate interval, the new time point (or second time point) is consistent with the target sampling rate and does recur at the target sampling rate interval.

[0108] As discussed above with reference to processing block 220, the phase factor is a complex exponential unit that indicates the position of the circular or oscillatory motion at a given time and frequency. Thus, the output phase factor maps the salient frequencies to the frequency domain at the new time points by providing, for each salient frequency, the position of the circular or oscillatory motion at the new time points (as discussed above for the first time point).

[0109] The output (second) phase factor can be The form of expression, where t′ n is one of the new time points (or second time points). In one embodiment, the frequency f k The output phase factor of the set of output phase factors is the series where t′1, ..., t′ N is the new time point in the output time series signal. Thus, the length of each set of phase factors is the same as the number N of new time points (or samples) in the output time series signal. In one embodiment, a set of output phase factors is generated for each prominent frequency.

[0110] In one embodiment, a set of output phase factors is generated based on the prominent frequency selected at processing block 215 and the new time point (second time point) of the output time series signal. In one embodiment, to generate the set of output phase factors for a prominent frequency, the prominent frequency is inserted into the phase factor expression f in k , and each new time point t′ n Insert the phase factor expression. For each time point of the output time series signal, calculate the value of the phase factor and place it into a data structure that contains the set of input phase factors for the highlighted frequency. This data structure can be, for example, an array of length N.

[0111] Therefore, in one embodiment, the set of second phase factors is generated as an array including a phase factor for each new time point therein. The set of output phase factors is repeatedly generated for each of the K prominent frequencies. The set of output phase factors constitutes a collection of sets of output phase factors, which may be referred to herein as an output dictionary. The output dictionary may be, for example, a data structure such as a matrix of dimensions K×N. This data structure may store an array of output phase factors for each prominent frequency.

[0112] Upon completion of processing block 230, an output dictionary is constructed containing the selected salient frequencies f1, ..., f K and new time points t′1, ..., t′ N The set of output phase factors at . In the output dictionary, the time steps t′1,...,t′ N Sampling is performed uniformly at the target sampling frequency. The K sets of output phase factors are:

[0113]

[0114] In one embodiment, the frequency domain resampling method 200 generates a set of output phase factors (i.e., a set of second phase factors) based on the salient frequencies and the new time point (i.e., the second time point) by, for example, the following operations: accepting or receiving a target sampling rate; creating a set of new time points based on the target sampling rate and the time range covered by the input signal; generating a set of output phase factors for each salient frequency from the new time point; and storing the new set of output phase factors in a data structure (such as an output dictionary of sets of output phase factors). Processing block 230 is then completed, and the frequency domain resampling method 200 continues at processing block 235. In one embodiment, the functionality of processing block 230 is performed by the output dictionary generator 125. The output dictionary of the set of linked coefficients and phase factors collectively describes the resampled time series signal in the frequency domain.

[0115] — Example Method - Output Time Series Signal Generation —

[0116] At processing block 235, the frequency domain resampling method 200 generates a second time series signal resampled at the target sampling rate by generating a new value at the second time point based on the set of coefficients and the second phase factor. Generating the new value at the second time point produces the second time series signal. In one embodiment, the frequency domain resampling method 200 creates a new time series signal based on the coefficients and the phase factor. For example, the frequency domain resampling method 200 linearly combines the set of output phase factors for each prominent frequency with the product of the link coefficients corresponding to each prominent frequency to generate the second, frequency domain resampled time series signal. Because the second time series signal is generated as an output of the frequency domain resampling method 200, the second time series signal may also be referred to herein as the output time series signal.

[0117] In one embodiment, the frequency domain resampling method 200 generates a second time series signal based on the output dictionary and the linking coefficients. In one embodiment, the frequency domain resampling method 200 accepts or retrieves the linking coefficients identified at processing block 225 and the output dictionary (of the set of output phase factors) generated at processing block 230.

[0118] In one embodiment, the frequency domain resampling method 200 synthesizes or creates an output time series signal based on the frequency domain representation of the prominent component frequencies of the sensor signal and the time points of the target sampling rate. As discussed above with reference to processing block 225, the time series signal can be generated or "recovered" based on the linking coefficients and phase factors. Therefore, in one embodiment, the generation of the output time series signal is based on multiplying the coefficients for each prominent frequency by a second set of phase factors. For example, the frequency domain resampling method 200 can generate the output time series signal by linearly combining the set of output phase factors for each prominent frequency with the product of the corresponding linking coefficients for each prominent frequency.

[0119] Therefore, at processing block 225 the link coefficient is identified After generating the output dictionary at processing block 230, the output (or recovered) time series signal It can be calculated as follows:

[0120]

[0121] Executing Equation 7 on the link coefficients and the output dictionary produces the output time series signal Perform the linear combination described by Equation 7 for the new time points t′1, ..., t′ N Each new data point is generated Each new data point at a corresponding time point approximates the data value of the input time series signal when the input time series signal was sampled at the corresponding time point. Thus, in one embodiment, the frequency domain resampling method 200 generates a new data value at the new (second) time point. (Output time series signal It may also be called an interpolated time series signal because the data values placed into the output time series signal include interpolated data values—estimates of intermediate values between the known data values of the input time series signal.)

[0122] As discussed above at processing block 230, the output time series signal New time points t′1, ..., t′ for sampling N Repeatedly occurs at the target sampling rate. Because the new time points t′1,...,t′ N The output time series signal is evenly spaced at intervals indicated by the target sampling rate. Sampling is performed at the target sampling rate.

[0123] In one embodiment, the frequency domain resampling method 200 stores or records the output time series signal For example, the output time series signal can be stored as a time series signal data structure, where the new data point According to the new time point t′1,...,t′ N Index in order.

[0124] In one embodiment, the process of the frequency domain resampling method 200 may be repeated for additional input time series signals, for example, as follows Figure 4 As shown and referenced in Figure 4 These multiple input time series signals can cover a common time range. Using the same set of new time points t′1, ..., t′ N When generating an output time series from all multiple input time series, all output signals share a uniform sampling rate.

[0125] In one embodiment, the frequency domain resampling method 200 generates an output (second) time series signal sampled at a target sampling rate by: accessing the link coefficients and the output dictionary; determining the product of the link coefficients and the set of phase factors for each prominent frequency; linearly combining the determined products to produce a data point for each time point of the output time series signal; and recording the data point as the output time series signal. Processing block 235 is then completed, and the frequency domain resampling method 200 continues to "end" block 240, where processing is completed. In one embodiment, the functionality of processing block 235 is performed by the resampled time series signal generator 130. In one embodiment, the frequency domain resampling method 200 generates an output time series signal that approximates the data value of the input time series signal if the input time series signal were sampled at the new (second) time point instead of the input (first) time point.

[0126] —Further Embodiments—

[0127] In one embodiment of processing block 215, as discussed above, a threshold is implemented to distinguish frequencies that carry information from frequencies that carry noise. In one embodiment of processing block 215, the selection of the one or more prominent frequencies further comprises selecting the one or more prominent frequencies as a first set of frequencies in the power spectrum having spectral peaks above the threshold. And, the selection of the one or more prominent frequencies further comprises removing noise elements as a second set of frequencies in the power spectrum having spectral peaks below the threshold. In one embodiment, the threshold is a fixed ratio of the highest spectral peak in the power spectrum (as discussed above with reference to the minimum threshold). In one embodiment, the threshold is set to a fixed height (as discussed above with reference to the stop threshold).

[0128] In one embodiment of processing block 215, as discussed above, noise component frequencies are removed from the input (first) time series signal. In one embodiment of processing block 215, the selection of one or more prominent frequencies further comprises denoising the input time series signal by removing (or eliminating) component frequencies other than the prominent frequencies. Thus, the frequency domain resampling method 200 operates to denoise the input time series signal and produce a denoised output time series signal. In one embodiment, the frequency domain resampling method 200 incidentally and advantageously denoises the input time series signal. Because only a few K prominent frequencies are retained in the periodogram, the non-prominent component frequencies that carry the noise are eliminated and ignored when reconstructing (generating) the output time series signal from the K prominent frequencies. The non-prominent frequencies carry most of the noise in the input time series signal, so removing the non-prominent noise component frequencies removes most of the noise in the output time series signal. Thus, the output (interpolated) time series signal reconstructed from the prominent frequencies It is also denoised.

[0129] In one embodiment of processing block 215, spurious peaks that appear at low frequencies in the power spectrum are excluded from consideration for selection as prominent frequencies. Thus, in one embodiment of processing block 215, selecting one or more prominent frequencies further includes excluding from selection a set of low-frequency frequencies that appear within a low-frequency range of the power spectrum. The low-frequency range includes frequencies whose periods fall outside the time range covered by the first time series signal. Additional details regarding excluding low-frequency peaks are discussed below under the heading "Excluding Low-Frequency Peaks."

[0130] In one embodiment of processing block 210, the power spectrum of the power spectral density is a Lomb-Scargle periodogram of the first time series signal. Thus, in one embodiment of processing block 210, generating the power spectrum of the power spectral density for the first time series signal includes generating a Lomb-Scargle periodogram of the first time series signal.

[0131] In one embodiment, the first time point at which the first time series signal sample occurs is not only inconsistent with the target sampling rate, but the first time point also occurs at different or varying time intervals between time points. Therefore, for example, the first time point occurs at irregular intervals. In this article, this can be referred to as an "uneven" sampling rate. Frequency domain resampling method 200 can be used to resample the time series with irregularly spaced samples in the frequency domain. In one embodiment of processing block 210, generating a power spectrum for the power spectral density of the first time series signal includes generating a Lomb-Scargle periodogram of the first time series signal to accommodate irregular intervals or uneven sampling rates.

[0132] In one embodiment, additional time series signals occurring concurrently with the first time series signal are also resampled to the target sampling rate. These resampled additional time series signals can be provided to the anomaly detection model along with the second time series signal. The frequency domain resampling process for the additional time series signals can be similar to the frequency domain resampling method 200. In one embodiment, the frequency domain resampling method 200 generates one or more additional time series signals having the target sampling rate from one or more other time series signals not having the target sampling rate to produce a time series database of signals sharing the target sampling rate. The other time series signals not having the target sampling rate cover a common time range with the first time series signal. In one embodiment, after completing the generation of the second time series signal in processing block 235, the frequency domain resampling method 200 also provides the time series database as input to the anomaly detection model. In one embodiment, after completing processing block 235, the frequency domain resampling method 200 also trains a machine learning model to detect anomalies using the time series database. Additional details regarding anomaly detection using multiple time series signals are discussed elsewhere herein, for example under the heading "Example Frequency Domain Resampling Method for Multiple Signals."

[0133] In one embodiment, after generating the second time series signal in processing block 235, the frequency domain resampling method 200 analyzes the second time series signal to detect anomalies, generally at an improved detection speed. For example, in one embodiment, the frequency domain resampling method 200 analyzes the second time series signal using a machine learning model to detect anomalies present in the first time series signal, wherein the anomaly detected in the second time series signal is at an earlier time point than the anomaly detected in the first time series signal. Additional details regarding the improved speed of anomaly detection due to frequency domain resampling are discussed elsewhere herein, for example under the heading "Anomaly Detection After Frequency Domain Resampling."

[0134] In one embodiment, after generating the second time series signal in processing block 235, the frequency domain resampling method 200 analyzes the second time series signal to detect anomalies with improved detection accuracy. For example, in one embodiment, the frequency domain resampling method 200 analyzes the second time series signal using a machine learning model to detect anomalies present in the first time series signal. The machine learning model detects anomalies in the second time series signal that were not detected in the first time series signal. Additional details regarding the improved accuracy of anomaly detection due to frequency domain resampling are discussed elsewhere herein, for example under the heading "Anomaly Detection After Frequency Domain Resampling."

[0135] In one embodiment, an alert regarding an anomaly can also initiate a corrective action response. For example, the corrective action can mitigate, remove, or otherwise correct one or more behaviors of the monitored asset that caused the anomaly. In one embodiment, the frequency domain resampling method 200 can also include taking an action in response to detecting an incipient anomaly or an actual failure of the monitored asset. The action can be at least one of: issuing an alert or taking corrective action.

[0136] In one embodiment, the frequency domain resampling method 200 can be applied to a variety of assets. Thus, in one embodiment, the time series signal can be received from a sensor that detects a physical phenomenon occurring within or around the monitored asset. For example, the monitored asset can be, or can be part of, a computer, a server farm, a disk drive, a tape drive, a data center, a cooling system, an aircraft, a ship or vessel, a land vehicle, an industrial facility, a utility, a refinery, a motor, an engine, a turbine, a pump, a machine tool, a production line, or a robot.

[0137] In one embodiment, the frequency domain resampling method 200 enables upsampling of the input time series signal from the frequency domain without converting it to the time domain. Upsampling increases the sampling rate of the input (first) time series signal in the frequency domain by generating new values from a set of coefficients and phase factors for a new (second) time point, wherein the new (second) time point is spaced closer in time than the input (first) time point. In one embodiment, frequency domain resampling enables upsampling a collection of signals with different sampling rates to a uniform sampling rate. For example, the sampling rates of all signals in the collection can be upsampled to the sampling rate of the fastest sampled signal in the collection. In one embodiment, the second time series signal at the target sampling rate is an upsampling of the first time series signal. Therefore, in one embodiment of processing block 230, generating a set of second phase factors based on the prominent frequency and the second time point also includes generating second time points spaced closer in time than the first time points. This results in the second (output) time series signal having a higher sampling rate than the first (input) time series signal.

[0138] In one embodiment, the frequency domain resampling method 200 also enables downsampling of the input time series signal from the frequency domain without converting to the time domain. Downsampling reduces the sampling rate of the input (first) time series signal in the frequency domain by generating new values from a set of coefficients and phase factors for a new (second) time point, wherein the new (second) time point is further apart in time than the input (first) time point. In one embodiment, the second time series signal at the target sampling rate is a downsampling of the first time series signal. Therefore, in one embodiment of processing block 230, generating a set of second phase factors according to the prominent frequency and the second time point also includes generating a second time point further apart in time than the first time point. This results in the second (output) time series signal having a sampling rate lower than the first (input) time series signal.

[0139] In one embodiment, each subsequent step of the method is automatically initiated in response to parsing a received signal or retrieved stored data indicating that the previous step has been performed at least to the extent necessary for the subsequent step to begin. Generally speaking, the received signal or retrieved stored data indicates completion of the previous step.

[0140] In one embodiment, one or more non-transitory computer-readable media have computer-executable instructions (also referred to as program instructions) stored thereon. The computer-executable instructions are configured to cause one or more computers to perform operations including the operations of the frequency domain resampling method 200 (or other methods described herein) when executing the computer-executable instructions.

[0141] In one embodiment, the computing system includes one or more computers. The computing system is configured by computer-executable instructions to perform operations including the operations of the frequency domain resampling method 200 (or other methods described herein).

[0142] In one embodiment, a computer program product includes a computer program. When the computer program is executed by at least one processor of a computer, the computer program causes the processor to perform operations including the operations of the frequency domain resampling method 200 (or other methods described herein). As an example, the computer program may include one or more computer-executable instructions that cause the computer to perform operations. Thus, some embodiments may be implemented using a computer program product that includes a computer program or computer-executable instructions that, when executed by at least one processor of a computer system, cause the processor and / or computing system to perform one or more of the methods described herein.

[0143] -Overview-

[0144] ML anomaly detection models consume and process a collection of multivariate time series (such as a time series database) from sensors (such as the Internet of Things (IoT) or other network-connected sensors). Some classes of sensors (and, for distributed data acquisition, the data acquisition (DAQ) units used to aggregate sensor signals) can sample signals at different sampling rates. This can result in non-uniform sampling rates and variations in the collection of time series signals. Furthermore, some types of sensors can sample irregularly, such as in response to triggers or interrupts. This can result in time series signals with non-uniform sampling rates, where samples are unevenly distributed over time and the amount of time between samples varies.

[0145] Generally speaking, machine learning anomaly detection algorithms require a uniform and uniform sampling rate for the monitored sensors. Signals can be resampled to create a uniform sampling rate that is uniform across the signals. Resampling generally refers to techniques for interpolating, upsampling, downsampling, or adjusting the phase coherence of time series signals. Coarse time domain-based interpolation techniques can be used to resample in the time domain to produce a uniform sampling rate for time series signals from multiple sensors and DAQ types so that the time series signals can be consumed by ML anomaly detection algorithms. For the increasing number of sensors with high-frequency waveforms (such as vibration, acoustic, infrared thermal imaging, and electromagnetic interference sensors), the computational cost of converting the signals to the time domain and performing resampling is very high. In addition, the amount of data from sensors (proportional to the number of sensors multiplied by the sensor's sampling rate) has been growing at an exponential pace. Converting to the time domain and performing resampling operations in the time domain significantly increases the computational overhead.

[0146] In one embodiment, the frequency domain resampling system and method presented herein avoids converting the signal from the frequency domain to the time domain to make the sampling rate uniform and uniform, and thus eliminates most of the computational overhead of time domain based resampling. In one embodiment, the frequency domain resampling method employed by the frequency domain resampling system can resample different non-uniform and potentially unevenly sampled signals into uniformly and uniformly sampled signals at a target sampling rate. In one embodiment, the frequency domain resampling system described herein employs a novel method operating in the frequency domain to achieve a uniform and uniform sampling rate. In one embodiment, the frequency domain resampling system improves the accuracy of sensor signals. In one embodiment, the frequency domain resampling system improves the predictive performance of machine learning anomaly detection, thereby detecting anomalies with higher sensitivity, providing earlier warnings, and with fewer false alarms and fewer missed alarms.

[0147] In one embodiment, the frequency domain resampling method can be applied sequentially to multiple time series signals so that the time series signals share a uniform sampling rate (and set of time points). In general, when multiple signals provided as input to the model are sampled at different sampling rates (non-uniform sampling), the multivariate ML anomaly detection model cannot be successfully trained to detect anomalies. And, in general, the multivariate ML anomaly detection model cannot detect anomalies in a set of signals sampled at different sampling rates. However, in one embodiment, using the frequency domain resampling method, the signals are resampled within the time range used for training so that they reach the same sampling rate shared by all signals, and the ML anomaly detection model is trained using these resampled signals. Then, the signals are resampled within the time range used to test or monitor the anomalies of the signals, and the trained ML anomaly detection model is used to identify anomalies in these resampled signals that occur within the test (monitoring) time range.

[0148] In one embodiment, a frequency domain resampling method interpolates a signal from the frequency domain. For example, the frequency domain resampling method can be systematically performed on all time series signals in a database or a collection of such signals from sensors. In one embodiment, the processing of each signal includes the following steps: (1) computing a Lomb-Scargle periodogram of the signal, which may be sampled unevenly; (2) selecting prominent frequencies in the periodogram whose peaks are above a specified threshold (this threshold is adaptive by setting it to a fixed fraction of the highest peak); (3) constructing a discrete Fourier transform (DFT) dictionary consisting of these selected frequencies at the time points (or time steps) when there are signal observations; (4) computing the complex coefficients of these DFT atoms that constitute the signal by least squares regression (particularly least squares regression for complex numbers); (5) constructing a new DFT dictionary consisting of these frequencies at a new set of time steps determined by the target sampling rate; and (6) linearly combining the products of these DFT atoms and the corresponding coefficients to generate the frequency domain resampled signal.

[0149] In one embodiment, the selection of prominent frequencies (1) ranks the spectral peaks in the periodogram according to peak height and frequency; (2) removes spectral peaks in the periodogram below a threshold frequency (regardless of their height); and (3) incorporates a "stop threshold" for minimum spectral peak amplitude (height) to ensure that noise elements are removed.

[0150] — Example Frequency Domain Resampling Method for Multiple Signals —

[0151] Figure 4An additional example method for resampling a collection of multiple time series signals in the frequency domain, frequency domain resampling method 400, is illustrated. In one embodiment, frequency domain resampling method 400 is initiated at start block 405 in response to a processor of a computer determining that method 400 should begin. For example, frequency domain resampling method 400 may be initiated in response to determining one or more of the following: (i) a collection of incoming time series signals to be resampled to a common sampling rate has been detected; (ii) an instruction has been received to execute frequency domain resampling method 400 on the collection of time series signals; (iii) a user or administrator of frequency domain resampling system 100 has initiated frequency domain resampling method 400; (iv) it is currently scheduled to run frequency domain resampling method 400; or (v) frequency domain resampling method 400 should begin in response to the occurrence of some other condition. In one embodiment, a computer is configured by computer-executable instructions to execute components of frequency domain resampling system 100 according to frequency domain resampling method 400. After initiation at start block 405 , the frequency domain resampling method 400 continues to process block 410 .

[0152] The set of time series signals to be resampled to a common sampling rate includes numSig signals, which may be non-uniformly or non-uniformly sampled. In one embodiment, steps 425-455 of frequency domain resampling method 400 are repeated in a loop to resample each of the numSig time series signals in the set to the target sampling rate. At processing block 410, frequency domain resampling method 400 initializes counter i to an initial value, e.g., i=1. Counter i increments until all signals in the set have been processed through steps 425-455 to produce a set of interpolated signals each having the target sampling rate. Processing at processing block 410 is complete and proceeds to decision block 415.

[0153] At decision block 415, the frequency domain resampling method 400 determines whether the counter i exceeds the number numSig of time series signals in the set. Decision block 415 provides the base condition for the loop. Once the counter i exceeds the number of time series signals in the set, all time series signals in the set have been resampled to the target sampling rate. The frequency domain resampling method 400 then proceeds to end block 420, where the frequency domain resampling method 400 ends. As long as the counter i does not exceed the number of time series signals in the set, there are still one or more signals that need to be resampled through the steps in the loop to have the target sampling rate. The frequency domain resampling method 400 then proceeds to processing block 425. Although the method 400 illustrates steps 425-455 as a "while" loop, with the base condition checked at the beginning of the loop, the method 400 can also be implemented as a "do-while" loop, with the base condition checked at the end of the loop.

[0154] At processing block 425, frequency domain resampling method 400 computes the Lomb-Scargle periodogram of the i-th signal. In one embodiment, the Lomb-Scargle periodogram of the i-th signal is computed as discussed above with reference to processing block 210. Processing continues to processing block 430.

[0155] At processing block 430, frequency domain resampling method 400 selects prominent frequencies from the periodogram. In one embodiment, the prominent frequencies are selected from the periodogram as discussed above with reference to processing block 215, where the power spectrum is a Lomb-Scargle periodogram. Processing continues to processing block 435.

[0156] At processing block 435, the frequency domain resampling method 400 constructs a dictionary of discrete Fourier transform (DFT) atoms based on the selected frequencies and time points at which observations are present in the i-th signal. In one embodiment, a DFT atom is a set of phase factors. The phase factor for each time point in the DFT atom is of the form where j is the imaginary unit f k is the chosen frequency specific to that atom, and t m is a time point in the set of time points for existing observations in the i-th signal. As used herein, an observation may be referred to as a data point or sample. An observation in the i-th signal exists at a time point in the set of time points. Each set of DFT atoms or phase factors is specific to one of the selected frequencies. The dictionary is a set of DFT atoms for all selected frequencies. In one embodiment, the DFT atoms in the dictionary are constructed based on the selected frequencies and time points as discussed above with reference to processing block 220 for generating the first set of phase factors. Processing continues to processing block 440.

[0157] At processing block 440, frequency domain resampling method 400 calculates the complex coefficients linking the DFT atoms to the observed values of the i-th signal. The complex coefficients are identified using least squares regression for complex numbers. The least squares regression for complex numbers approximates or fits a curve to the i-th signal. The curve is fitted to the i-th signal by adjusting the complex coefficients of the function for the selected frequencies until the square of the distance between the curve and the i-th signal at the time point of the i-th signal is minimized. The resulting complex coefficient values are the complex coefficients linking the DFT atoms to the observed values of the i-th signal. In one embodiment, the complex coefficients linking the DFT atoms to the observed values of the i-th signal are calculated as discussed above with reference to processing block 220 for identifying coefficients. Processing continues to processing block 445.

[0158] At processing block 445, the frequency domain resampling method 400 constructs a new dictionary of DFT atoms based on the selected frequencies and time points uniformly sampled at a given frequency (or sampling rate). As discussed above, a DFT atom is a collection of phase factors. The phase factors in the DFT atom for the uniformly sampled time points have the form where j is the imaginary unit f k is the chosen frequency specific to the atom, and t′ m is one of a series of evenly sampled time points at a given frequency. Each DFT atom is specific to one of the selected frequencies. The new dictionary is a set of DFT atoms (for evenly spaced samples) for all selected frequencies. In one embodiment, the DFT atoms in the new dictionary are constructed based on the selected frequencies and evenly sampled time points as discussed above with reference to processing block 230 for generating the second set of phase factors. Processing continues to processing block 450.

[0159] At processing block 450, the frequency domain resampling method 400 multiplies the atoms in the new dictionary with the complex coefficients to produce an interpolated signal. In one embodiment, each phase factor for a frequency in the atom is multiplied by the complex coefficient for that frequency. The product of the phase factor and the complex coefficient for each evenly spaced time point is then summed at the selected frequency to produce an observation or data point at that evenly spaced time point. Each of these observations can be referred to as an interpolated observation. The sequence of observations generated from the phase factors and the complex coefficients is the interpolated signal. The interpolated signal is a resampling of the i-th signal in the frequency domain from a series of observations that may be unevenly sampled to another series of evenly sampled observations. In one embodiment, the interpolated signal is generated as discussed above with reference to processing block 235. Processing continues to processing block 455.

[0160] At processing block 455, the frequency domain resampling method 400 increments counter i to indicate that the loop should proceed to the next signal (if any). Processing returns to decision block 415. At processing block 415, the frequency domain resampling method 400 determines whether the loop should repeat or end.

[0161] —Anomaly Detection After Frequency Domain Resampling—

[0162] ML modeling can be used as a technique for detecting anomalies in complex engineering systems in many fields where sensor monitoring is used. This type of anomaly detection can also be referred to as prescriptive or predictive anomaly detection. In particular, multivariate ML modeling can be used for prescriptive or predictive anomaly detection. ML-based anomaly detection can be performed, for example, on large-scale time series databases or for real-time streaming predictions.

[0163] In general, multivariate ML modeling techniques for anomaly detection predict or estimate what each signal should be or is expected to be based on other signals in the database. The predicted signal can be called an "estimate". The multivariate ML model is used to make predictions or estimates. For example, for signal 1 in a database of N signals, the ML model will use signals 2 to N to calculate an estimate of signal 1. In one embodiment, the multivariate ML model can be a nonlinear nonparametric (NLNP) regression algorithm for multivariate anomaly detection. Such NLNP regression algorithms include neural networks (NN), support vector machines (SVM), autoassociated kernel regression (AAKR), and similarity-based modeling (SBM), such as multivariate state estimation technology (MSET) (including Oracle's proprietary multivariate state estimation technology (MSET2)).

[0164] The ML model is trained to generate estimates of what the values of variables should be based on training with a reference set of time series signals representing normal or correct operation of the monitored asset. The reference set can be a set of time series signals specifying an observation range, such as an initial observation range. To train the ML model, a reference set of time series signals for each variable is provided to the ML model. During training, a series of sets of reference values for the variables are sequentially provided to the ML model. A set of reference values includes a reference value for each reference time series signal in the set at a certain point in time. A set of reference values can also be considered a vector of reference values. A vector includes the values for a point in time across a set, collection, or database of time series signals. The configuration of the correlation pattern between the variables of the ML model is automatically adjusted based on the reference values, so that the ML model generates accurate estimates for each variable based on the input of the other variables. Whether the accuracy of the estimate is sufficient to determine whether the ML model has been adequately trained can be determined by minimizing the residual error below a training threshold. After training is complete, the ML model has learned the correlation pattern between the variables that indicates normal or correct operation of the monitored system.

[0165] After training, the ML model can be used to monitor signals. Each signal is subtracted from its corresponding estimate to give a residual, or the difference between the signal's value and the estimate. When an anomaly is present in the signal, the measured signal deviates from the estimated signal. This causes the residual to increase, thereby triggering an anomaly alarm and an electronic alert that an anomaly has been detected. Thus, when one or more of the residuals indicates such a deviation (e.g., by becoming persistently large), the residuals are used to detect such anomalies. For example, the presence of an anomaly can be indicated by performing a sequential probability ratio test (SPRT) analysis on the residuals.

[0166] In one embodiment, after frequency-domain resampling of time series signals in a time series database, the time series database is provided as input to an anomaly detection ML model. That is, each signal in the time series database is assigned as an input variable to a multivariate ML model for anomaly detection. In one embodiment, the time series database of frequency-domain resampled time series signals can be used to train the ML model. In one embodiment, the trained ML model can be used to monitor the time series database of frequency-domain resampled time series signals for anomalies.

[0167] In one embodiment, frequency domain resampling of the time series signal prior to training and monitoring improves the sensitivity of the ML anomaly detection process. The improved sensitivity enables earlier detection of anomalies that indicate incipient asset failures. When using the time series that has been resampled from the frequency domain as shown and described herein, anomalies are detected at earlier points in time than when using the raw, un-resampled signal. Frequency domain resampling of the time series signal removes a significant amount of noise from the time series signal, thereby producing a denoised signal. For example, the output time series signal (which has been resampled from the frequency domain as discussed above) includes only content at prominent frequencies. The prominent frequencies have been determined to carry the most information content in the original input time series signal. Noise content carried at other component frequencies of the input time series signal is ignored and discarded by the frequency domain resampling. The ML anomaly detection model can fit the resampled time series signal more closely because the ML model does not need to accommodate as much noise as it did when processing the original input time series. As a result, smaller deviations from the expected normal operation of the system that occur early in the onset of degradation will be detected.

[0168] In one embodiment, frequency-domain resampling of the time series signal prior to training and monitoring improves the accuracy of the ML anomaly detection process. The improved accuracy reduces both the probability of false alarms (Type I errors) and the probability of missed alarms (Type II errors). Due to the denoising effect of frequency-domain resampling discussed above, virtually no noise remains in the resampled output time series signal, thereby neither interfering with normal signal values and causing false alarms nor suppressing abnormal signal values and causing missed alarms.

[0169] The advantageous early degradation detection and increased degradation detection accuracy achieved by the frequency domain resampling system and method described herein have been experimentally verified. The performance of an ML anomaly detection model trained on and monitored from the original set of unsampled signals was compared to an ML anomaly detection model trained on and monitored from a set of resampled signals resampled from the original set of signals using the frequency domain resampling method. The original set of signals included a ramp-shaped degradation in one of the signals starting at 3751 seconds. The ML model trained on and monitored from the original set of unsampled signals initially detected the anomaly at 4211 seconds and missed several detections after the initial detection. The ML model trained on and monitored from the resampled signals initially detected the anomaly at 4171 seconds and missed no detections after the initial detection. Thus, in the presence of degradation, using signals resampled from the frequency domain as shown and described herein can trigger an alarm earlier after the degradation occurs. Furthermore, in the presence of degradation, using signals resampled from the frequency domain as shown and described herein results in fewer missed detections.

[0170] —Excluding low-frequency peaks—

[0171] Peaks or spikes that are high enough to exceed the threshold appear in the power spectrum at a low frequency. These peaks are meaningless when the period of the peak is greater than the time covered by the input time series (or, for streaming input, greater than the length of the moving window of the time series). These peaks may be due to the tilt or slope of the data points of the time series signal. In other words, the data can exhibit an upward or downward slope over the length of the input time series signal, which is then incorrectly interpreted as periodic activity during the generation of the power spectrum. Such slopes in the data appear in the power spectrum as periodic activity at a low frequency, with a frequency equal to or less than one divided by the time range covered by the input time series signal (1 / TimeRangeOfSignal). In other words, there are peaks in the power spectrum whose period is greater than or equal to the time range covered by the input time series signal. Therefore, these low-frequency (high-period) peaks are false peaks that do not truly indicate any periodic behavior. Tilt or sloped data values can trigger false alarms in subsequent ML anomaly detection analysis.

[0172] In one embodiment, when selecting prominent frequencies from the power spectrum, peaks in the lowest frequency portion of the periodogram are ignored. Ignoring these peaks eliminates, resolves, and / or avoids challenges posed to multivariate AD algorithms by tilted or sloped data in the time series. By ignoring or removing false peaks during frequency domain resampling as described herein, the tilt or slope is removed and does not exist in the resampled signal.

[0173] In one embodiment of processing block 215, after peaks are identified by frequency and magnitude, and before a threshold value is set based on the highest peak, false peaks are removed. In one embodiment of processing block 215, false peaks are removed before the peaks are sorted in order of magnitude. In one embodiment, a frequency base is calculated. The frequency base can be one divided by the time range covered by the input time series signal (1 / TimeRangeOfSignal). Peaks whose frequencies are lower than the frequency base are removed from subsequent consideration. For example, peaks whose frequencies are lower than the frequency base can be removed or eliminated by determining that the frequency of the peak is lower than the frequency base and then deleting the low-frequency peaks from the set of peaks. Therefore, for the purpose of setting a minimum threshold for prominence, false low-frequency peaks will not be identified as the highest peak. Moreover, false low-frequency peaks will not be selected as prominent peaks and will not be used by the frequency domain resampling method to generate the output time series signal. In this way, the tilt or slope is removed from the output time series signal.

[0174] — Advantages of some choices —

[0175] In one embodiment, the frequency domain resampling system and method described herein enables frequency domain resampling of time series signals to a uniform sampling rate, i.e., uniform sampling at certain intervals, and maintaining a uniform sampling rate across the collection of signals to be detected for anomalies. This enables a multivariate ML anomaly detection algorithm to examine and detect anomalies in the resampled time series signals.

[0176] In one embodiment, the frequency domain resampling systems and methods described herein enable resampling to be performed in or from the frequency domain without having to perform a conversion to the time domain. This reduces computational overhead.

[0177] In one embodiment, the frequency domain resampling systems and methods described herein improve upon existing resampling techniques by additionally denoising the signal. Denoising is an additional operation to the frequency domain resampling process and advantageously results in triggering alarms earlier after degradation occurs and fewer false alarms / misses in anomaly detection.

[0178] In one embodiment, the frequency domain resampling systems and methods described herein make existing ML monitoring systems more accurate.

[0179] In one embodiment, the frequency domain resampling system and method described herein enables a prognostic anomaly detection system to have a lower Type-I error probability (i.e., fewer false alarms) than a prognostic anomaly detection system without the frequency domain resampling system and method described herein. In one embodiment, the frequency domain resampling system and method described herein enables a prognostic anomaly detection system to have a lower Type-II error probability (i.e., fewer false alarms) than a prognostic anomaly detection system without the frequency domain resampling system and method described herein.

[0180] In one embodiment, the frequency domain resampling methods and systems described herein resample a time series signal to a target sampling rate without analyzing the noise on the time series signal. Instead, in one embodiment, frequencies that appear to be noise content are excluded by selecting prominent frequencies in the periodogram. This reduces computational overhead.

[0181] In one embodiment, the frequency domain resampling methods and systems described herein are capable of analyzing non-uniformly sampled time series signals that do not have data points evenly spaced in time. Other methods for resampling a signal may only be able to resample from one uniform sampling rate to another uniform sampling rate and may not be able to resample a non-uniformly sampled time series signal.

[0182] In one embodiment, the frequency domain resampling methods and systems described herein are capable of upsampling non-uniformly sampled signals or signals sampled at different sampling rates to a higher sampling rate that is the same for all resampled signals. In one embodiment, the upsampling performed by the frequency domain resampling methods and systems described herein can match or even exceed the sampling rate of the fastest sampled signal in the collection. Thus, in one embodiment, the frequency resampling methods and systems can accurately interpolate at any resolution, i.e., create data points in a time series signal that were not originally observed.

[0183] In one embodiment, a frequency-domain resampling method and system can be particularly useful for monitoring sensor signals in data centers. In data centers, timestamps in servers can become significantly out of sync due to variable drift in multiple internal software clocks. In one embodiment, this lack of synchronization is corrected by applying a frequency-domain resampling method and system. Furthermore, many server-related signals are interrupt-driven, generating values only when specific interrupt conditions occur, and therefore can have uneven sampling rates. In one embodiment, this uneven sampling rate is corrected by applying a frequency-domain resampling method and system.

[0184] In one embodiment, the improvement achieved by frequency-based resampling over time-domain-based interpolation can be achieved without requiring hardware upgrades to the computing system used to monitor the sensor signals. This makes the frequency-based resampling method immediately backward compatible with existing sensor monitoring systems.

[0185] In one embodiment, the frequency domain resampling method is extended to any number of signals without losing any of the advantages discussed herein.

[0186] — Cloud or Enterprise Implementation —

[0187] In one embodiment, the system (such as the frequency domain resampling system 100) is a computing / data processing system that includes a computing application or a collection of distributed computing applications that are accessed and used by other client computing devices that communicate with the system over a network. In one embodiment, the frequency domain resampling system 100 is a component of a time series data service that is configured to collect, provide, and perform operations on time series data. The application and computing system can be configured to operate with or be implemented as a cloud-based network computing system, infrastructure as a service (IAAS), platform as a service (PAAS), or software as a service (SAAS) architecture, or other types of networked computing solutions. In one embodiment, the system provides one or more of the functions disclosed herein and a graphical user interface for accessing and operating the functions. In one embodiment, the frequency domain resampling system 100 is a centralized server-side application that provides at least the functions disclosed herein and is accessible to many users via computing devices / terminals that communicate with the computers of the frequency domain resampling system 100 (acting as one or more servers) over a computer network. In one embodiment, the frequency domain resampling system 100 may be implemented by a server or other computing device configured with hardware and software to implement the functions and features described herein.

[0188] In one embodiment, the components of the frequency domain resampling system 100 can be implemented as a collection of one or more software modules executed by one or more computing devices specifically configured for such execution. In one embodiment, the components of the frequency domain resampling system 100 are implemented on one or more hardware computing devices or hosts interconnected by a data network. For example, the components of the frequency domain resampling system 100 can be executed by one or more computing hardware form factors (such as a central processing unit (CPU)) or general purpose form factors, intensive input / output (I / O) form factors, graphics processing unit (GPU) form factors, and high performance computing (HPC) form factors. Network-connected computing devices.

[0189] In one embodiment, the components of the frequency domain resampling system 100 communicate with each other via electronic alerts, messages, or signals. These electronic alerts, messages, or signals can be configured as calls to functions or procedures that access features or data of the components, such as, for example, application programming interface (API) calls. In one embodiment, these electronic messages or signals are sent between hosts in a format compatible with Transmission Control Protocol / Internet Protocol (TCP / IP) or other computer networking protocols. Components of the frequency domain resampling system 100 can (i) generate or compose electronic messages or signals to issue commands or requests to another component, (ii) transmit messages or signals to other components of the frequency domain resampling system 100, (iii) parse the content of received electronic messages or signals to identify commands or requests that the component can execute, and (iv) automatically perform or execute the commands or requests in response to identifying the commands or requests. The electronic messages or signals can include queries against a database. The queries can be written and executed in a query language compatible with the database and executed in a runtime environment compatible with the query language.

[0190] In one embodiment, a remote computing system can access information or applications provided by the frequency domain resampling system 100, such as through a web interface server. In one embodiment, the remote computing system can send requests to the frequency domain resampling system 100 and receive responses from it. In one example, the information or applications can be accessed using a web browser on a personal computer or mobile device. In one example, the messages exchanged with the frequency domain resampling system 100 can take the form of remote representational state transfer (REST) requests, such as using JavaScript Object Notation (JSON) as a data exchange format, or simple object access protocol (SOAP) requests sent to or from an XML server. The REST or SOAP requests can include API calls to components of the frequency domain resampling system 100.

[0191] —Software Module Embodiment—

[0192] Generally speaking, software instructions are designed to be executed by one or more appropriately programmed processors accessing memory. These software instructions may include, for example, computer executable code and source code that can be compiled into computer executable code. These software instructions may also include instructions written in an interpreted programming language (such as a scripting language).

[0193] In complex systems, such instructions may be arranged into program modules, each of which performs a specific task, process, function, or operation. The operation of the entire collection of modules may be controlled or coordinated by an operating system (OS) or other form of organizational platform.

[0194] In one embodiment, one or more of the components described herein are configured as modules stored in a non-transitory computer-readable medium. The modules are configured with stored software instructions that, when executed by at least one processor accessing a memory or storage device, cause a computing device to perform the corresponding function(s) described herein.

[0195] —Computing Device Embodiment—

[0196] Figure 5 An example computing system 500 (also referred to as a computer system) is illustrated that includes an example computing device configured and / or programmed as a special-purpose computing device with one or more of the example systems and methods described herein, and / or equivalents. The example computing device may be a computer 505 that includes at least one hardware processor 510, a memory 515, and input / output ports 520 operatively connected via a bus 525. In one example, the computer 505 may include frequency domain resampling logic 530 configured to facilitate frequency domain analysis resampling of a time series, similar to that described in reference to FIG. Figure 1 、 Figure 2 、 Figure 3 and Figure 4 The logic, systems, and methods shown and described.

[0197] In various examples, the logic 530 may be implemented in hardware, a non-transitory computer-readable medium 537 storing instructions, firmware, and / or a combination thereof. While the logic 530 is shown as a hardware component attached to the bus 525, it should be appreciated that in other embodiments, the logic 530 may be implemented in the processor 510, stored in the memory 515, or stored on the disk 535.

[0198] In one embodiment, the logic 530 or computer is a means (i.e., structure: hardware, non-transitory computer-readable media, firmware) for performing the described actions. In some embodiments, the computing device can be a server operating in a cloud computing system, a server configured in a software as a service (SaaS) architecture, a smartphone, a laptop computer, a tablet computing device, etc.

[0199] The components may be implemented as, for example, an ASIC programmed to resample the time series from the frequency domain. The components may also be implemented as stored computer executable instructions presented to the computer 505 as data 540 , which are temporarily stored in the memory 515 and then executed by the processor 510 .

[0200] The logic 530 may also provide means (eg, hardware, non-transitory computer-readable medium storing executable instructions, firmware) for resampling the time series from the frequency domain.

[0201] Generally describing an example configuration of computer 505, processor 510 can be a variety of processors, including dual microprocessors and other multi-processor architectures. Memory 515 can include volatile memory and / or non-volatile memory. Non-volatile memory can include, for example, ROM, PROM, etc. Volatile memory can include, for example, RAM, SRAM, DRAM, etc.

[0202] The storage disk 535 can be operatively connected to the computer 505 via an input / output (I / O) interface (e.g., card, device) 545 and an input / output port 520, for example, controlled by at least one input / output (I / O) controller 547. The storage disk 535 can be, for example, a magnetic disk drive, a solid-state drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, a memory stick, etc. Additionally, the storage disk 535 can be a CD-ROM drive, a CD-R drive, a CD-RW drive, a DVD ROM, etc. The memory 515 can store, for example, processes 550 and / or data 540. The storage disk 535 and / or the memory 515 can store an operating system that controls and allocates resources of the computer 505.

[0203] The computer 505 can interact with, control, and / or be controlled by input / output (I / O) devices via an input / output (I / O) controller 547, an I / O interface 545, and input / output ports 520. The input / output devices may include, for example, one or more displays 570, a printer 572 (such as an inkjet printer, a laser printer, or a 3D printer), an audio output device 574 (such as a speaker or a headset), a text input device 580 (such as a keyboard), a cursor control device 582 for pointing and selecting input (such as a mouse, a trackball, a touch screen, a joystick, a pointing stick, an electronic stylus, an electronic writing tablet), an audio input device 584 (such as a microphone or an external audio player), a video input device 586 (such as a video camera and a still camera, or an external video player), an image scanner 588, a video card (not shown), a disk 535, a network device 555, and the like. The input / output ports 520 may include, for example, a serial port, a parallel port, and a USB port.

[0204] The computer 505 can operate in a network environment and, therefore, can be connected to a network device 555 via the I / O interface 545 and / or the I / O port 520. Through the network device 555, the computer 505 can interact with the network(s) 555. Through the network, the computer 505 can be logically connected to a remote computer 565. The networks with which the computer 505 can interact include, but are not limited to, LANs, WANs, and other networks.

[0205] In one embodiment, a computer may be connected to a sensor 590 via an I / O port 520 or a network 560 to receive information about the physical state of a monitored machine, device, system, or facility (collectively, an "asset"). In one embodiment, the sensor 590 is configured to monitor physical phenomena occurring in or around an asset. An asset generally includes any type of machine or facility having components that perform a measurable activity. In one embodiment, the sensor 590 may be operably connected to or secured to an asset, or otherwise configured to detect and monitor physical phenomena occurring in or around an asset. The sensor 590 may be a network-connected sensor for monitoring any type of physical phenomenon. The network connection between the sensor 590 and the network 560 may be wired or wireless.

[0206] In one embodiment, the computer 505 is configured with logic, such as a software module, to collect readings from the sensors 590 and store them as observations in a time series data structure, such as a time series database. In one embodiment, the computer 505 polls the sensors 590 to retrieve the sensor telemetry readings. In one embodiment, the computer 590 passively receives the sensor telemetry readings actively transmitted by the sensors 590. In one embodiment, the computer 505 receives one or more databases of previously collected observations of the sensors 590, such as from the storage device 535 or from the remote computer 565.

[0207] —Definitions and Other Examples—

[0208] Any action or function described or claimed herein is not performed by the human mind. Any interpretation that an action or function can be performed by the human mind is inconsistent and contrary to this disclosure.

[0209] In another embodiment, the described methods and / or their equivalents may be implemented using computer-executable instructions. Thus, in one embodiment, a non-transitory computer-readable / storage medium is configured with computer-executable instructions having stored algorithms / executable applications that, when executed by a machine(s), cause the machine(s) (and / or associated components) to perform the described methods. Example machines include, but are not limited to, processors, computers, servers operating in a cloud computing system, servers configured with a Software as a Service (SaaS) architecture, smartphones, and the like. In one embodiment, a computing device is implemented with one or more executable algorithms configured to perform any of the disclosed methods.

[0210] In one or more embodiments, the disclosed methods or their equivalents are performed by any of the following: computer hardware configured to perform the methods; or computer instructions embodied in a module stored in a non-transitory computer-readable medium, wherein the instructions are configured as an executable algorithm that is configured to perform the methods when executed by at least one processor of a computing device.

[0211] Although for the purpose of simplifying explanation, the method illustrated in the figure is shown and described as a series of square blocks of an algorithm, it should be appreciated that these methods are not limited by the order of the square blocks. Some square blocks may appear in a different order than shown and described and / or appear simultaneously with other square blocks. Moreover, the example method can be implemented using square blocks less than all the illustrated square blocks. Square blocks can be combined or divided into multiple actions / components. In addition, additional and / or alternative methods can adopt additional actions not illustrated in the square blocks.

[0212] The following includes definitions of selected terms used herein. The definitions include various examples and / or forms of components that fall within the scope of the terms and can be used to implement them. The examples are not intended to be limiting. Both singular and plural forms of the terms may be included within the definitions.

[0213] References to "one embodiment," "an embodiment," "an example," "an example," etc. indicate that the embodiment(s) or example(s) described herein may include a particular feature, structure, characteristic, property, element, or limitation, but not every embodiment or example must include that particular feature, structure, characteristic, property, element, or limitation. Furthermore, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, but may.

[0214] As used herein, a "data structure" is an organization of data stored in a memory, storage device, or other computerized system in a computing system. A data structure can be, for example, any of a data field, a data file, a data array, a data record, a database, a data table, a graph, a tree, a linked list, and the like. A data structure can be formed from and contain many other data structures (e.g., a database includes many data records). Other examples of data structures are possible according to other embodiments.

[0215] As used herein, "computer-readable medium" or "computer storage medium" refers to a non-transient medium that stores instructions and / or data that are configured to perform one or more of the disclosed functions when executed. In some embodiments, data can be used as instructions. Computer-readable media can take the form of, but is not limited to, non-volatile media and volatile media. Non-volatile media can include, for example, optical disks, magnetic disks, etc. Volatile media can include, for example, semiconductor memories, dynamic memories, etc. Common forms of computer-readable media can include, but are not limited to, floppy disks, flexible disks, hard disks, magnetic tapes, other magnetic media, application-specific integrated circuits (ASICs), programmable logic devices, compact disks (CDs), other optical media, random access memories (RAMs), read-only memories (ROMs), memory chips or cards, memory sticks, solid-state storage devices (SSDs), flash drives, and other media that computers, processors, or other electronic devices can utilize to work. If each type of media is selected for implementation in one embodiment, it can include stored instructions of an algorithm that is configured to perform one or more of the disclosed and / or claimed functions.

[0216] As used herein, "logic" refers to a component implemented using computer or electrical hardware, a non-transient medium with instructions of stored executable applications or program modules, and / or a combination of these to perform any function or action as disclosed herein, and / or to cause a function or action from another logic, method, and / or system to be performed as disclosed herein. Equivalent logic may include firmware, a microprocessor programmed with an algorithm, discrete logic (e.g., ASIC), at least one circuit, analog circuit, digital circuit, programmed logic device, a memory device containing instructions of the algorithm, etc., any of which may be configured to perform one or more of the disclosed functions. In one embodiment, logic may include one or more gates, a combination of gates, or other circuit components configured to perform one or more of the disclosed functions. In the case of describing multiple logics, it is possible to merge multiple logics into one logic. Similarly, in the case of describing a single logic, it is possible to distribute that single logic between multiple logics. In one embodiment, one or more of these logics are corresponding structures associated with performing the disclosed and / or claimed functions. Choosing which type of logic to implement can be based on the desired system conditions or specifications. For example, if higher speed is considered, hardware will be selected to implement the function. If lower cost is a consideration, stored instructions / executable applications will be chosen to implement the functionality.

[0217] An "operable connection," or a connection through which entities are "operably connected," is a connection through which signals, physical communications, and / or logical communications can be sent and / or received. An operable connection may include a physical interface, an electrical interface, and / or a data interface. An operable connection may include different combinations of interfaces and / or connections sufficient to allow operable control. For example, two entities may be operably connected to transmit signals to each other directly or through one or more intermediate entities (e.g., a processor, an operating system, logic, a non-transitory computer-readable medium). Logical and / or physical communication channels may be used to create an operable connection.

[0218] As used herein, a "user" includes, but is not limited to, one or more persons, computers or other devices, or a combination of these.

[0219] Although the disclosed embodiments have been illustrated and described in considerable detail, it is not intended to restrict or in any way limit the scope of the appended claims to such detail. Of course, it is not possible to describe every contemplated combination of components or methods for the purpose of describing various aspects of the subject matter. Therefore, the present disclosure is not limited to the specific details or illustrative examples shown and described. Therefore, the present disclosure is intended to cover changes, modifications, and variations that fall within the scope of the appended claims.

[0220] To the extent that the term "comprising" is employed in the detailed description or the claims, it is intended to be inclusive in a manner similar to how the term "comprising" is interpreted when employed as a transitional word in the claims.

[0221] To the extent the term "or" is employed in the detailed description or claims (e.g., A or B), it is intended to mean "A or B or both." When the applicants intend to indicate "only A or B but not both," then the phrase "only A or B but not both" will be used. Thus, the use of the term "or" herein is inclusive, not exclusive.

Claims

1. A computer-implemented method comprising: generating a power spectrum for a first time series signal, wherein the first time series signal is sampled at a first time point inconsistent with a target sampling rate; selecting one or more prominent frequencies from the power spectrum; generating a set of first phase factors based on the salient frequencies and the first time point, wherein each set of first phase factors maps one of the salient frequencies to a frequency domain at the first time point; identifying coefficients relating a set of first phase factors to a value of the first time series signal at a first point in time; generating a set of second phase factors based on the salient frequencies and a second point in time, wherein the second point in time coincides with a target sampling rate, and wherein each set of second phase factors maps one of the salient frequencies to the frequency domain at the second point in time; A second time series signal resampled at the target sampling rate is generated by generating a new value at a second time point according to the set of coefficients and the second phase factor.

2. The computer-implemented method of claim 1 , wherein selecting the one or more prominent frequencies further comprises: selecting a first set of frequencies at which spectral peaks above a threshold appear in the power spectrum as the one or more prominent frequencies; as well as A second set of frequencies where spectral peaks below a threshold appear in the power spectrum is removed as noise components.

3. The computer-implemented method of claim 2, wherein the threshold is a fixed ratio of the highest spectral peak in the power spectrum.

4. A computer-implemented method as described in any of claims 1-3, wherein selecting the one or more prominent frequencies further includes excluding from selection a low-frequency set of frequencies that appear in a low-frequency range of the power spectrum, wherein the low-frequency range includes frequencies whose periods exceed a time range covered by the first time series signal.

5. The computer-implemented method of any one of claims 1-4, wherein generating a power spectrum for the first time series signal further comprises generating a Lomb-Scargle periodogram of the first time series signal.

6. The computer-implemented method of any one of claims 1-5, wherein the first points in time occur at irregular intervals.

7. A computer-implemented method as described in any one of claims 1-6, wherein the second time series signal at the target sampling rate is a downsample of the first time series signal, and wherein generating a set of second phase factors based on the prominent frequency and the second time point further includes generating second time points that are further apart in time than the first time points.

8. A computer-implemented method as described in any one of claims 1-6, wherein the second time series signal at the target sampling rate is an upsample of the first time series signal, and wherein generating a set of second phase factors based on the prominent frequency and the second time point further includes generating second time points that are closer in time than the first time points.

9. The computer-implemented method of any one of claims 1 to 8, further comprising: generating one or more additional time series signals having the target sampling rate from one or more other time series signals not having the target sampling rate to produce a time series database of signals sharing the target sampling rate, wherein the other time series signals not having the target sampling rate cover a common time range with the first time series signal; and Provide a time series database as input to anomaly detection models.

10. The computer-implemented method of any one of claims 1-8, further comprising analyzing the second time series signal with a machine learning model to detect anomalies present in the first time series signal, wherein the anomaly is detected in the second time series signal at an earlier time point than in the first time series signal.

11. The computer-implemented method of any one of claims 1-8, further comprising analyzing the second time series signal using a machine learning model to detect anomalies present in the first time series signal, wherein the anomalies are detected in the second time series signal by the machine learning model, while the anomalies are not detected in the first time series signal by the machine learning model.

12. A computing system comprising one or more computers, wherein the computing system is configured by computer-executable instructions to perform operations including the operations of any one of claims 1-11.

13. A computer program product comprising a computer program which, when executed by at least one processor of a computer, causes the processor to perform operations including those of any one of claims 1 to 11.

14. A non-transitory computer-readable medium comprising computer-executable instructions stored thereon, the computer-executable instructions, when executed by at least one processor of a computer system, causing the computer system to: generating a power spectrum for a first time series signal, wherein the first time series signal is sampled at a first time point inconsistent with a target sampling rate; selecting one or more prominent frequencies from the power spectrum; generating a set of first phase factors based on the salient frequencies and the first time point, wherein each set of first phase factors maps one of the salient frequencies to a frequency domain at the first time point; identifying coefficients relating a set of first phase factors to a value of the first time series signal at a first point in time; generating a set of second phase factors based on the salient frequencies and a second point in time, wherein the second point in time coincides with a target sampling rate, and wherein each set of second phase factors maps one of the salient frequencies to the frequency domain at the second point in time; A second time series signal resampled at the target sampling rate is generated by generating a new value at a second time point according to the set of coefficients and the second phase factor.

15. A computing system comprising: at least one processor; at least one memory operatively connected to the processor; as well as A non-transitory computer-readable medium comprising computer-executable instructions stored thereon that, when executed by at least a processor, cause a computing system to: generating a power spectrum for a first time series signal, wherein the first time series signal is sampled at a first time point inconsistent with a target sampling rate; selecting one or more prominent frequencies from the power spectrum; generating a set of first phase factors based on the salient frequencies and the first time point, wherein each set of first phase factors maps one of the salient frequencies to a frequency domain at the first time point; identifying coefficients describing a relationship between a set of first phase factors and a value of the first time series signal at a first point in time; generating a set of second phase factors based on the salient frequencies and a second point in time, wherein the second point in time coincides with a target sampling rate, and wherein each set of second phase factors maps one of the salient frequencies to the frequency domain at the second point in time; A second time series signal resampled at the target sampling rate is generated by generating a new value at a second time point according to the set of coefficients and the second phase factor.