This disclosure relates generally to data acquisition tuning, and, more particularly, to methods, systems, articles of manufacture, and apparatus to control data acquisition settings in edge-based deployments.
In recent years, the Internet of things (IoT) and cloud-based computing has increased the role of edge devices and created the need for enhanced services and computing power at the network edge. Edge devices, such as data acquisition systems, measure real-world variables for use in operational or decision-making contexts and operate in industrial, cyber-physical systems, IoT systems, and other edge use cases.
The figures are not to scale. In general, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts. Connection references (e.g., attached, coupled, connected, and joined) are to be construed broadly and may include intermediate members between a collection of elements and relative movement between elements unless otherwise indicated. As such, connection references do not necessarily infer that two elements are directly connected and in fixed relation to each other. Stating that any part is in “contact” with another part means that there is no intermediate part between the two parts.
Descriptors “first,” “second,” “third,” etc. are used herein when identifying multiple elements or components which may be referred to separately. Unless otherwise specified or understood based on their context of use, such descriptors are not intended to impute any meaning of priority, physical order or arrangement in a list, or ordering in time but are merely used as labels for referring to multiple elements or components separately for ease of understanding the disclosed examples. In some examples, the descriptor “first” may be used to refer to an element in the detailed description, while the same element may be referred to in a claim with a different descriptor such as “second” or “third.” In such instances, it should be understood that such descriptors are used merely for ease of referencing multiple elements or components.
In recent years, Internet of things (IoT) devices and/or edge-based devices, have brought cloud computing capabilities to local devices (e.g. edge computing) in an effort to improve the speed of data transmission and processing. Example edge-based devices include, but are not limited to, controllers, transmitters, valves, actuators, sensors, etc. and enable data to be gathered and processed at the network edge, where the local device and users reside.
These example edge-based devices and/or data acquisition systems typically include multiple settings and are often tuned based on, for instance, data acquisition frequency (e.g., sampling rate). Proper tuning of data acquisition systems ensures high quality data and/or accuracy but can be a time-consuming process. Typically, tuning data acquisition systems requires knowledge of the system settings and configurations, multiple test runs to find an optimal configuration, and are model-driven. In real-world applications, data can be transient and may require any number of different setting configurations to maintain an optimal data acquisition quality. Moreover, such transient behaviors of a control environment may not be known to personnel chartered with the responsibility of designing and/or implementing particular setting configurations when such settings are initially contemplated. As such, subsequent re-configuration efforts are required to correct the settings, thereby resulting in wasted personnel resources and/or inaccurate or erroneous data acquisition.
Data acquisition systems are used in a wide array of applications, each having unique constraints and transient environments that require specific tuning. Example data acquisition system applications include, but are not limited to, electrical monitoring systems (e.g., power stations, laptop/smartphone/tablet/IoT battery powered systems, autonomous vehicle power monitoring, etc.), physics research systems (e.g., The European Organization for Nuclear Research (CERN), National Aeronautics and Space Administration (NASA), experiments measuring real-world particles at a fast and accurate level, etc.), high-tech manufacturing systems (e.g., lithography, plasma cutting, chemical polishing, etc.), autonomous control systems (e.g., drone control, autonomous vehicle control, robotics, etc.), and environmental monitoring systems (e.g., weather monitoring, air quality systems, flood warning systems, etc.). Each of the mentioned applications often have transient environments and need constant data acquisition system tuning to maintain a high level of data acquisition accuracy.
Examples disclosed herein include an example system tuner to optimize an example data acquisition system to ensure the required quality of data satisfies application specific constraints. In some examples, the data acquisition system contains settings to allow the data acquisition system to be modified for better (e.g., more accurate, faster, etc.) data acquisition. In such examples, these settings are configured and sampled in different combinations to determine configuration settings that satisfy one or more application specific constraints in a manner that is not hindered by the discretionary choices of control system personnel and/or transient conditions of the environment.
In some examples, the system tuner is located at the data acquisition system and optimizes the data acquisition system without needing a separate device. In other examples, the system tuner is located in a separate client device (e.g., Internet gateway, laptop, cellular phone, tablet, server, etc.) and optimizes the data acquisition system through a network connection (e.g., Internet, USB, etc.).
In some disclosed examples, the system tuner acquires raw sensor data for each possible setting configuration and generates variance data based on that raw sensor data. Variance data measures how far a set of numbers are spread out from their average value and, when reduced (e.g., minimized), increases the accuracy and/or quality of the data being measured. Generally speaking, a series or subset of data points that exhibit a relatively large amount of variance suggests that a process associated with those data points is transient and/or otherwise not in a steady state. In some circumstances, a relatively large variance suggests a relatively poor configuration of the data acquisition system responsible for obtaining the data (e.g., sensor data points). Variance data is generated from the raw sensor data and stored in a repository (e.g., data storage) as a variance data set. In such examples, the amount of data acquired (e.g., raw sensor data samples) to generate variance data for each configuration is determined (e.g., by the user) before the tuning process is initialized.
In some disclosed examples, the variance data set is modeled and/or otherwise analyzed using different methods to ensure the developed solution behaves in a manner that satisfies performance expectations and/or constraints (e.g., in an optimal manner). For example, the different methods, used for modeling and characterizing the data, reduce (e.g., minimize) temporal constraints and ensure that subsequent variance data remains below an application acceptable threshold once a potential solution has been determined. Continuous tuning of the data acquisition system is accomplished by gathering new raw sensor data to then be re-modeled and re-analyzed and is described in further detail below.
In the illustrated example of
The example client device 140 of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
Returning to the illustrated example of
In the illustrated example of
In the illustrated example of
In the illustrated example of
For example, the model analyzer 308 determines whether a variance data 416 rate of change value satisfies the second threshold 432A, 432B, p, of
However, and as described above, analyzing all acquired data samples is computationally intensive and time consuming. As such, the example model analyzer 308 determines and/or otherwise generates an interval spacing value q. The interval spacing value, q, is an integer value, defined by the user and/or application, and represents the spacing between each value within the first rate of change interval (i). In some examples, the first rate of change interval is used to reduce the number of variance rate of change values analyzed by skipping variance rate of change values at the specified spacing of the interval spacing value q. For example, if the interval spacing value q is chosen as five, then, the first rate of change interval is as follows: i=[1, 5, 10, 15, . . . , 1275, 1280]. In some examples, the interval spacing value q may be a function that changes the spacing between each value within the first rate of change interval i. In some examples, the interval spacing value is calculated by the example model analyzer 308 based on a ratio of (a) a total number of available/collected data points and (b) a number of subsets of sensor configuration settings that occurred during the collection of those data points.
For example, the model analyzer 308 analyzes the variance rate of change model 430 at values of i (e.g., h′(i)) until one of those values satisfies the second threshold 432A, 432B, μ (e.g., |h′(i)|<μ). The variance rate of change value that satisfies the second threshold 432A, 432B, μ, is stored as the potential solution, represented by j, in the tentative storage device 310. In some examples, the model analyzer 308 keeps track of the first rate of change interval values that have been analyzed to prevent re-analyzing the same values within the interval.
In the illustrated example of
In some examples, the model analyzer 308 analyzes variance rate of change values that succeed the potential solution j at a second rate of change interval, k, to determine whether the succeeding variance rate of change values are equal to or less than the second threshold 432A, 432B, μ. Stated differently, even if the most recently analyzed data point satisfies one or more thresholds, the example model analyzer 308 selects one or more subsequent data points to verify that the most recently analyzed data point is not a local minimum. While ceasing further data point analysis in response to detecting one data point that satisfies all thresholds of interest will improve computational efficiency by avoiding further calculation of remaining data points that may have been collected, the possibility exists that a subsequent data point violates the thresholds of interest, thereby illustrating a local minimum or false positive. In some examples, the second rate of change interval, k, is the 2nd, 4th, 8th, 16th, . . . , 256th value succeeding the potential solution j. For instance, if the potential solution is at the sample (data) point x=380, then, the second variance rate of change interval is as follows: k=[380, 382, 384, 388, 396, . . . , 652]. In other examples, the second rate of change interval can be a user-defined interval. The purpose of the second rate of change interval is to ensure that all of the variance rate of change data, succeeding the potential solution, satisfies the second threshold 432A, 432B, μ.
The model analyzer 308 analyzes the rate of change values, succeeding (subsequent to) the potential solution j, to determine whether the potential solution j is the final solution 420 represented by f and shown in
In the illustrated example of
In the illustrated example of
Manipulating the data acquisition system 110 settings to match the determined final solution 420 f enables the data acquisition system 110 to reach operational targets (e.g., data acquisition quality) as soon as possible. For example, the first rate of change interval, i, and the second rate of change interval, k, reduce the computational load and simultaneously reduce the time required to determine the final solution 420 f. Furthermore, by analyzing the variance rate of change before analyzing the variance data 416, the amount of first threshold 418, ε, verification computations are reduced.
In the illustrated example of
While an example manner of implementing the system tuner 120 of
Flowcharts representative of example hardware logic, machine-readable instructions, hardware implemented state machines, and/or any combination thereof for implementing the system tuner of
The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a compiled format, an executable format, a packaged format, etc. Machine-readable instructions as described herein may be stored as data (e.g., portions of instructions, code, representations of code, etc.) that may be utilized to create, manufacture, and/or produce machine executable instructions. For example, the machine-readable instructions may be fragmented and stored on one or more storage devices and/or computing devices (e.g., servers). The machine-readable instructions may require one or more of installation, modification, adaptation, updating, combining, supplementing, configuring, decryption, decompression, unpacking, distribution, reassignment, compilation, etc. in order to make them directly readable, interpretable, and/or executable by a computing device and/or other machine. For example, the machine-readable instructions may be stored in multiple parts, which are individually compressed, encrypted, and stored on separate computing devices, wherein the parts when decrypted, decompressed, and combined form a set of executable instructions that implement a program such as that described herein.
In another example, the machine-readable instructions may be stored in a state in which they may be read by a computer, but require addition of a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc. in order to execute the instructions on a particular computing device or other device. In another example, the machine-readable instructions may need to be configured (e.g., settings stored, data input, network addresses recorded, etc.) before the machine-readable instructions and/or the corresponding program(s) can be executed in whole or in part. Thus, the disclosed machine-readable instructions and/or corresponding program(s) are intended to encompass such machine-readable instructions and/or program(s) regardless of the particular format or state of the machine-readable instructions and/or program(s) when stored or otherwise at rest or in transit.
The machine-readable instructions described herein can be represented by any past, present, or future instruction language, scripting language, programming language, etc. For example, the machine-readable instructions may be represented using any of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift, etc.
As mentioned above, the example processes of
“Including” and “comprising” (and all forms and tenses thereof) are used herein to be open ended terms. Thus, whenever a claim employs any form of “include” or “comprise” (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within a claim recitation of any kind, it is to be understood that additional elements, terms, etc. may be present without falling outside the scope of the corresponding claim or recitation. As used herein, when the phrase “at least” is used as the transition term in, for example, a preamble of a claim, it is open-ended in the same manner as the term “comprising” and “including” are open ended. The term “and/or” when used, for example, in a form such as A, B, and/or C refers to any combination or subset of A, B, C such as (1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) B with C, and (7) A with B and with C. As used herein in the context of describing structures, components, items, objects and/or things, the phrase “at least one of A and B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects and/or things, the phrase “at least one of A or B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. As used herein in the context of describing the performance or execution of processes, instructions, actions, activities and/or steps, the phrase “at least one of A and B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing the performance or execution of processes, instructions, actions, activities and/or steps, the phrase “at least one of A or B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.
As used herein, singular references (e.g., “a”, “an”, “first”, “second”, etc.) do not exclude a plurality. The term “a” or “an” entity, as used herein, refers to one or more of that entity. The terms “a” (or “an”), “one or more”, and “at least one” can be used interchangeably herein. Furthermore, although individually listed, a plurality of means, elements or method actions may be implemented by, e.g., a single unit or processor. Additionally, although individual features may be included in different examples or claims, these may possibly be combined, and the inclusion in different examples or claims does not imply that a combination of features is not feasible and/or advantageous.
The flowchart of
At block 504, the example system tuner 120 models the raw sensor data. For example, the model generator 306 generates variance data 416 based on the raw sensor data and models the variance data 416 as a function, h(x), shown in
At block 506, the example system tuner 120 evaluates the variance rate of change model 430 to determine a potential solution j. For example, the model analyzer 308 iteratively evaluates the variance rate of change model 430 at a first rate of change interval, i, to identify the potential solution. In such examples, the model analyzer 308 iteratively evaluates the variance rate of change data until a sample within the first rate of change interval satisfies the second threshold 432A, 432B, p, (e.g., h′(i)). Additional detail in connection with evaluating the variance rate of change model 430 to determine a potential setting configuration solution (block 506) is shown in
At block 508, the example system tuner 120 analyzes the potential solution, determined by the model analyzer 308, to ensure that the potential solution satisfies the first threshold 418, E. For example, the solution identifier 312 analyzes the potential solution to ensure that the variance data value, h(j), satisfies the first threshold 418, ε. In such examples, other user-defined criteria and/or additional requirements are iteratively analyzed by the solution identifier 312 to ensure that user-defined criteria and/or additional requirements are satisfied. Additional detail in connection with analyzing the potential solution (block 508) is shown in
At block 510, the example system tuner 120 evaluates the variance rate of change values succeeding the potential solution. As described above, because the potential solution could be a local minimum, the example system tuner 120 verifies whether one or more temporally subsequent data samples continues to satisfy one or more thresholds of interest. If so, then the example model analyzer 308 designates the potential solution as the final solution 420. For example, the model analyzer 308 uses the potential solution, determined by the solution identifier 312, as the starting point for a second rate of change interval, k. The model analyzer 308 evaluates the rate of change of each sample within the second rate of change interval, k, to ensure that the succeeding values stay below the second threshold 432A, 432B, μ, previously evaluated. Additional detail in connection with evaluating the variance rate of change values succeeding the potential solution (block 510) is shown in
At block 512, the example system tuner 120 manipulates the data acquisition system 110 settings based on the final solution 420 f. For example, the setting manipulator 314 uses the final solution 420, determined by the model analyzer 308, to identify the corresponding setting configuration. The setting manipulator 314 manipulates the settings of the data acquisition system 110 to match the identified setting configuration.
At block 514, the example system tuner 120 determines whether the environment at which the data acquisition system 110 is operating has changed. For example, the data selector 302 evaluates the raw sensor data being acquired by the data acquisition system to determine whether the system tuner 120 needs to adjust the settings of the data acquisition system 120. If, at block 514 the data selector 302 determines that the environment has changed and the system tuner 120 needs to adjust the settings of the data acquisition system 110, then, the system tuner 120 re-runs the machine-readable instructions starting back at block 502. If, at block 514, the data selector 302 determines that the environment has not changed and/or not changed enough to require the system tuner 120 to adjust the data acquisition system 110, then, the machine-readable instructions of
The flowchart of
At block 604, the example system tuner 120 acquires m number of samples. For example, the data selector 302 acquires m number of samples for the current setting configuration set by the setting manipulator 314. For instance, the number of samples gathered for the example shown in
At block 606, the example system tuner 120 determines whether raw sensor data needs to be gathered for additional candidate setting configurations. For example, the data selector 302 identifies the amount of possible setting configurations and compares that to the amount of raw sensor data already gathered to determine whether raw sensor data needs to be gathered for additional candidate setting configurations. If, at block 606, the data selector 302 determines that more raw sensor data needs to be gathered for additional candidate setting configurations, then, at block 608, the setting manipulator 314 changes the setting configurations of the data acquisition system 110 to a setting configuration that has not yet been set. If, at block 606, the data selector 302 determines that there are no additional candidate setting configurations to gather raw sensor data from, then, the machine-readable instructions of
The flowchart of
At block 704, the example system tuner 120 applies an interpolation function to the generated variance data 416. For example, the model generator 306 best fits a polynomial to the variance data 416 by applying the method of non-linear least squares and using floating point. The polynomial is a functional representation of the variance data 416, h(x), and is applied to more easily identify topography/data trends.
At block 706, the example system tuner 120 differentiates the variance data model 426 to determine the variance rate of change model 430, h′(x). For example, the model generator 306 differentiates the variance data model 426 to generate a function that determines the rate of change at each sample within the variance data 416. The variance rate of change model 430 is used to acquire insight into the topology of the variance data 416 and/or to help illustrate different degrees of transient behavior(s) associated with an environment or system under test/analysis. Control then returns to block 506 of
The flowchart of
At block 804, the example system tuner 120 determines an interval spacing value to generate the first rate of change interval, i. For example, the model analyzer 308 determines the interval spacing value, q, to generate the first rate of change interval, i. In some examples, q is an integer value that defines the spacing between each value within the first rate of change interval. In other examples, q can be a function that changes the spacing throughout the first rate of change interval. In such examples, the interval spacing, q, is determined by the user but may alternatively be determined by the application. The first rate of change interval, i, is determined by the spacing value, q, and is used by the model analyzer 308 to reduce the number of variance rate of change values analyzed.
At block 806, the example system tuner 120 determines whether variance rate of change values, at the first rate of change interval i, satisfy the second threshold 432A, 432B, μ. For example, the model analyzer 308 analyzes the absolute value of the rate of change value at the first un-analyzed sample, i, to determine whether the absolute value is below the second threshold 432A, 432B, μ, (e.g., |h′(i)|<μ). If, at block 806, the example model analyzer 308 determines that the variance rate of change value at i does not satisfy the second threshold 432A, 432B, μ, then, at block 808, the example model analyzer 308 moves to the next value of i. If, at block 808, the example model analyzer 308 determines that the variance rate of change value at i satisfies the second threshold 432A, 432B, μ, then, at block 810, the example model analyzer 308 stores the value of i in the example tentative repository 310 as a potential solution, j, and the instructions of
The flowchart of
At block 904, the example system tuner 120 determines whether the variance data at j satisfies the first threshold 418, E. For example, the solution identifier 312 analyzes the variance value at the potential solution, j, to determine whether the variance value satisfies the first threshold 418, ε, (e.g., h(j)<ε). If, at block 904, the example solution identifier 312 determines that the potential solution variance value does not satisfy the first threshold 418, ε, then, the instructions of
At block 906, the example system tuner 120 determines whether all user-defined criteria and/or additional requirements are satisfied at the potential solution j. For example, the solution identifier 312 analyzes any user-defined criteria and/or additional requirements, set forth by the user and/or application, and determines whether the potential solution j satisfies those user-defined criteria and/or additional requirements. If, at block 906, the example solution identifier 312 determines that the user-defined criteria and/or additional requirements are not satisfied, then, at block 908, the solution identifier 312 moves to the next sample within the variance data 416. If, at block 906, the example solution identifier 312 determines that the user-defined criteria and/or additional requirements are satisfied, then, at block 908, the instructions of
The flowchart of
At block 1004, the example system tuner 120 analyzes variance rate of change values succeeding the potential solution at the second rate of change interval, k. For example, the model analyzer 308 analyzes the variance rate of change value at each sample within the second rate of change interval, k. Evaluating the variance rate of change at the interval, k, provides a level of verification that all remaining samples will remain equal to or less than the second threshold 432A, 432B, p. As mentioned above, because of the possibility of local minimums in the variance data 416, the second rate of change interval, k, helps to prevent selecting a local minimum as a final solution 420.
At block 1006, the example system tuner 120 determines whether all of the variance rate of change values analyzed at the k interval satisfy the second threshold 432A, 432B, p. For example, the model analyzer 308 determines the variance rate of change values at each k sample and compares the variance rate of change values to the second threshold 432A, 432B, p. If, at block 1006 the example model analyzer 308 determines that at least one variance rate of change value did not satisfy the second threshold 432A, 432B, p, then, the instructions of
The processor platform 1100 of the illustrated example includes a processor 1112. The processor 1112 of the illustrated example is hardware. For example, the processor 1112 can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor implements the data selector 302, the model generator 306, the model analyzer 308, the solution identifier 312, and the setting manipulator 314,
The processor 1112 of the illustrated example includes a local memory 1113 (e.g., a cache). The processor 1112 of the illustrated example is in communication with a main memory including a volatile memory 1114 and a non-volatile memory 1116 via a bus 1118. The volatile memory 1114 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS® Dynamic Random Access Memory (RDRAM®) and/or any other type of random access memory device. The non-volatile memory 1116 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1114, 1116 is controlled by a memory controller.
The processor platform 1100 of the illustrated example also includes an interface circuit 1120. The interface circuit 1120 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and/or a PCI express interface.
In the illustrated example, one or more input devices 1122 are connected to the interface circuit 1120. The input device(s) 1122 permit(s) a user to enter data and/or commands into the processor 1112. The input device(s) can be implemented by, for example, an audio sensor, a proximity sensor, a pressure sensor, a voltage sensor, and/or any other type of data acquisition device or sensor.
One or more output devices 1124 are also connected to the interface circuit 1120 of the illustrated example. The output devices 1124 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-place switching (IPS) display, a touchscreen, etc.). The interface circuit 1120 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.
The interface circuit 1120 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and/or a network interface to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1126. The communication can be via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-site wireless system, a cellular telephone system, etc.
The processor platform 1100 of the illustrated example also includes one or more mass storage devices 1128 for storing software and/or data. Examples of such mass storage devices 1128 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, redundant array of independent disks (RAID) systems, and digital versatile disk (DVD) drives.
The machine executable instructions 1132 of
From the foregoing, it will be appreciated that example methods, systems, articles of manufacture, and apparatus have been disclosed that improve the speed at which the tuning of a data acquisition system can be accomplished in an edge-based deployment. The disclosed methods, apparatus and articles of manufacture improve the efficiency of using a computing device by implementing intervals, for determining and validating potential solutions, that limit the number of iterations required. The disclosed methods, apparatus and articles of manufacture are accordingly directed to one or more improvement(s) in the functioning of a computer.
Example methods, apparatus, systems, and articles of manufacture to control data acquisition settings in edge-based deployments are disclosed herein. Further examples and combinations thereof include the following:
Example 1 includes an apparatus to dynamically adjust data acquisition settings, the apparatus comprising a model generator to transform sensor data to variance data, and differentiate the variance data to generate variance rate of change data, a model analyzer to determine subsets of the variance rate of change data associated with respective data acquisition settings, determine a count of data points corresponding to the rate of change data, and determine an interval spacing value based on the count of the data points and a number of subsets of the variance rate of change data, and a solution identifier to calculate candidate solutions at respective ones of the data points corresponding to the interval spacing value, respective ones of the candidate solutions corresponding to respective data acquisition settings of a data acquisition system, and select one of the candidate solutions satisfying an operational threshold of the data acquisition system.
Example 2 includes the apparatus as defined in example 1, wherein the model analyzer is to determine whether the selected one of the candidate solutions is a false positive by selecting one of the count of data points corresponding to the rate of change data that is subsequent to the selected one of the candidate solutions.
Example 3 includes the apparatus as defined in example 2, further including a setting manipulator to assign the data acquisition system with data acquisition settings corresponding to the selected one of the candidate solutions when the subsequently selected data point satisfies the operational threshold.
Example 4 includes the apparatus as defined in example 3, wherein the setting manipulator is to assign the data acquisition settings as at least one of a data acquisition frequency, a data sample dwell duration, or a data sample resolution.
Example 5 includes the apparatus as defined in example 2, wherein the solution identifier is to cease further data point analysis in response to the model analyzer determining the subsequently selected data point satisfies the operational threshold.
Example 6 includes the apparatus as defined in example 1, wherein the solution identifier is to determine whether the operational threshold includes at least one of a variance threshold value or a rate of change variance window threshold.
Example 7 includes the apparatus as defined in example 1, wherein the model generator is to differentiate the variance data with a polynomial function having a polynomial degree of sixteen.
Example 8 includes the apparatus as defined in example 1, wherein the variance data is based on a number of data acquisition system settings and a number of samples per setting configuration.
Example 9 includes At least one non-transitory computer-readable medium comprising instructions that, when executed, cause at least one processor to at least transform sensor data to variance data, differentiate the variance data to generate variance rate of change data, determine subsets of the variance rate of change data associated with respective data acquisition settings, determine a count of data points corresponding to the rate of change data, determine an interval spacing value based on the count of the data points and a number of subsets of the variance rate of change data, calculate candidate solutions at respective ones of the data points corresponding to the interval spacing value, respective ones of the candidate solutions corresponding to respective data acquisition settings of a data acquisition system, and select one of the candidate solutions satisfying an operational threshold of the data acquisition system.
Example 10 includes the computer readable medium as defined in example 9, wherein the instructions, when executed, cause the at least one processor to determine whether the selected one of the candidate solutions is a false positive by selecting one of the count of data points corresponding to the rate of change data that is subsequent to the selected one of the candidate solutions.
Example 11 includes the computer readable medium as defined in example 10, wherein the instructions, when executed, cause the at least one processor to assign the data acquisition system with data acquisition settings corresponding to the selected one of the candidate solutions when the subsequently selected data point satisfies the operational threshold.
Example 12 includes the computer readable medium as defined in example 11, wherein the instructions, when executed, cause the at least one processor to assign the data acquisition settings as at least one of a data acquisition frequency, a data sample dwell duration, or a data sample resolution.
Example 13 includes the computer readable medium as defined in example 10, wherein the instructions, when executed, cause the at least one processor to cease further data point analysis in response to the model analyzer determining the subsequently selected data point satisfies the operational threshold.
Example 14 includes the computer readable medium as defined in example 9, wherein the instructions, when executed, cause the at least one processor to determine whether the operational threshold includes at least one of a variance threshold value or a rate of change variance window threshold.
Example 15 includes the computer readable medium as defined in example 9, wherein the instructions, when executed, cause the at least one processor to differentiate the variance data with a polynomial function having a polynomial degree of sixteen.
Example 16 includes the computer readable medium as defined in example 9, wherein the instructions, when executed, cause the at least one processor to calculate the variance data based on a number of data acquisition system settings and a number of samples per setting configuration.
Example 17 includes a method to dynamically adjust data acquisition settings, the method comprising transforming, by executing an instruction with a processor, sensor data to variance data, differentiating, by executing an instruction with the processor, the variance data to generate variance rate of change data, determining, by executing an instruction with the processor, subsets of the variance rate of change data associated with respective data acquisition settings, determining, by executing an instruction with the processor, a count of data points corresponding to the rate of change data, determining, by executing an instruction with the processor, an interval spacing value based on the count of the data points and a number of subsets of the variance rate of change data, calculating, by executing an instruction with the processor, candidate solutions at respective ones of the data points corresponding to the interval spacing value, respective ones of the candidate solutions corresponding to respective data acquisition settings of a data acquisition system, and selecting, by executing an instruction with the processor, one of the candidate solutions satisfying an operational threshold of the data acquisition system.
Example 18 includes the method as defined in example 17, further including determining whether the selected one of the candidate solutions is a false positive by selecting one of the count of data points corresponding to the rate of change data that is subsequent to the selected one of the candidate solutions.
Example 19 includes the method as defined in example 18, further including assigning the data acquisition system with data acquisition settings corresponding to the selected one of the candidate solutions when the subsequently selected data point satisfies the operational threshold.
Example 20 includes the method as defined in example 19, further including assigning the data acquisition settings as at least one of a data acquisition frequency, a data sample dwell duration, or a data sample resolution.
Example 21 includes the method as defined in example 18, further including ceasing further data point analysis in response to the model analyzer determining the subsequently selected data point satisfies the operational threshold.
Example 22 includes the method as defined in example 17, further including determining whether the operational threshold includes at least one of a variance threshold value or a rate of change variance window threshold.
Example 23 includes the method as defined in example 17, further including differentiating the variance data with a polynomial function having a polynomial degree of sixteen.
Example 24 includes the method as defined in example 17, further including calculating the variance data based on a number of data acquisition system settings and a number of samples per setting configuration.
Although certain example methods, systems, articles of manufacture, and apparatus have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
The following claims are hereby incorporated into this Detailed Description by this reference, with each claim standing on its own as a separate embodiment of the present disclosure.