Dynamic Averager Algorithm for Ambient Light Sensor Noise Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing averagers used in ambient light sensors and proximity sensors struggle to effectively filter noise and provide accurate average values, leading to suboptimal performance in dynamic lighting conditions.
Innovation Solution
A method that improves the performance of an averager by setting compensation and threshold coefficients, calculating differences between input and output data, and dynamically adjusting these coefficients based on the amplitude changes of the input data to reduce noise and improve accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional averaging method is used, then calculation simplicity is maintained, but noise filtering capability deteriorates
Solution Approach 1:
The patent implements dynamic coefficient adjustment where the smoothing coefficient α and threshold coefficient β are not fixed but adaptively changed based on the amplitude of input signals. This allows the averaging algorithm to dynamically adjust its behavior - using higher smoothing when signals are stable and lower smoothing when signals change rapidly, thereby resolving the contradiction between calculation simplicity and noise filtering capability
Solution Approach 2:
The patent changes the parameters (coefficients) of the averaging algorithm based on signal characteristics. By monitoring signal amplitude and adjusting the smoothing coefficient accordingly, the system achieves better noise filtering without requiring a completely complex alternative algorithm, thus maintaining relative calculation simplicity while improving measurement precision
2Measurement precision
If dynamic coefficient adjustment is implemented, then noise filtering performance is improved, but computational complexity increases
Solution Approach 1:
The patent segments the coefficient adjustment process into discrete steps based on amplitude thresholds. Instead of continuous complex optimization, the system divides the signal range into zones and applies predefined coefficient adjustments, reducing computational complexity while maintaining improved noise filtering performance
Solution Approach 2:
The averaging algorithm performs self-adjustment by automatically monitoring its own input signal characteristics and modifying its coefficients accordingly. This self-service mechanism eliminates the need for external complex control systems, achieving dynamic adaptation with minimal additional computational overhead
3Productivity
If simple averaging is used, then processing speed is maintained, but response accuracy to rapid changes deteriorates
Solution Approach 1:
The patent makes the averaging process dynamic by adjusting the smoothing coefficient in real-time based on signal change detection. When rapid changes are detected, the coefficient decreases to improve response accuracy; when signals are stable, the coefficient increases to maintain processing efficiency. This resolves the contradiction between processing speed and response accuracy
Solution Approach 2:
The patent implements preliminary detection of signal change trends and preemptively adjusts coefficients before significant errors accumulate. By detecting amplitude changes and adjusting coefficients in advance, the system prevents accuracy degradation during rapid transitions while maintaining high processing speed during stable periods
Data Source
AI summary
A method of improving performance of an averager is provided. The method includes steps of: (a) multiplying a value of a (n−1)th piece of output data by a value “N” to calculate a temporary value; (b) determining whether or not a difference between an nth piece of input data and the (n−1)th piece of output data is larger than or smaller than a zero value, if yes, compensating the temporary value to obtain a correction value and performing step (c), if no, setting the correction value and performing step (c); (c) dividing the correction value by the value “N” to obtain a first value; (d) subtracting the first value from the correction value and adding up the correction value and the nth piece of input data to obtain a second value; and (e) dividing the second value by the value “N” to calculate an output value of the averager.


