通过民主式α平滑的降噪的制作方法

文档序号:11160816阅读:274来源:国知局
通过民主式α平滑的降噪的制造方法与工艺

具有其中可以收集大量数据的许多环境。在许多情况下,所收集的数据被认为是有噪声的(noisy),并且平滑版本的数据是所期望的。例如,在分析财务数据诸如股票价格、收益或交易量或者经济数据诸如国内生产总值或就业统计时,可能期望这样的平滑(smooth)。作为另一示例,利用触摸或手势来接收用户输入的计算机系统可以在用户与系统交互时收集许多数据点。各种噪声源可以影响所收集的数据。例如,这样的计算机系统可以包括数字化器来将模拟触摸或手势数据转换成数字数据。取决于所使用的数字化器的类型,数字化器可以引入不同程度的噪声。

指数移动平均(Exponential Moving Average)(EMA)是使用具有在零与一之间的值的恒定平滑因子α来取所有采样数据点的加权平均的递归函数。最近采样数据点与常数α相乘,并且先前采样数据点与α的连续幂(power)相乘。因为α通常小于一,所以α的幂能够迅速下降至可忽略的分数百分比。以这样的方式,不太近(less recent)的数据点迅速衰减至可忽略的值。

α选择的值能够显著地影响使用EMA的数据平滑的结果。当α接近一时,平滑输出几乎与原始输入相同。当α接近零时,平滑输出具有高延迟并且对于输入趋势的变化微弱地响应。



技术实现要素:

描述民主式α平滑(democratic alpha smoothing)。当从输入数据流中接收到每一个采样数据值时,估计输入数据流的状态。总投票值基于所估计的输入数据流的状态来更新,并且基于更新的总投票值来计算平滑因子。指数移动平均的迭代使用平滑因子来计算,以产生平滑输出数据流的数据值。

提供这个概述部分来以简化形式介绍下面在具体描述部分中进一步描述的概念的选择。这个概述部分并不打算来识别所请求保护的主题的关键特征或基本特征,也不打算用于限制所请求保护的主题的范畴。

附图说明

遍及附图使用相同的数字来引用相似的特征和组件。

图1是包括示例计算设备的选择组件的实现民主式α平滑的示例计算环境的示意图。

图2是示例输入数据和由于民主式α平滑而导致的相应示例输出数据的示意图。

图3是示例民主式α平滑模块的选择组件的框图。

图4是举例说明与示例民主式α平滑模块相关联的参数储存器和参数储存器可以保持的示例值的框图。

图5是在示例民主式α平滑模块的组件之间的示例数据流的框图。

图6是接收输入数据和使用民主式α平滑生成平滑输出数据的示例方法的流程图。

图7是估计输入数据流的状态的示例方法的流程图。

图8是基于输入数据流的状态来计算投票的示例方法的流程图。

图9是动态修改平滑因子α的示例方法的流程图。

具体实施方式

以下讨论针对民主式α平滑。指数移动平均(EMA)是取所有采样数据点的加权平均以生成具有降低噪声的输出的递归算法。加权α与最近采样数据点相乘,并且α的连续幂与不太近的采样数据点相乘。当α接近一时,平滑输出几乎与原始输入相同。当α接近零时,平滑输出具有高延迟并且对于输入趋势的变化微弱地响应。

EMA算法被给定为:

Sn=α*zn+(1-α)*Sn-1

其中:

• Sn是第n个平滑估计

• zn是第n个测量值

α=[0,1]是无单位常数

• S1=z1

非依赖于α的单个值,民主式α平滑在运行时基于是高保真度还是高平滑度将产生更准确来动态地改变α。在所描述的示例实现方式中,在EMA算法的每一次迭代时,民主式α平滑系统估计输入数据流的状态并且确定将在计算指数移动平均中使用的α值。民主式α平滑系统将输入流的状态分类为或意味着数据一般在上升或下落的“趋势”或意味着数据一般围绕大约相同的值在跳舞(dance)的“闪烁”。如果系统处于趋势状态中,则α的较高值将减少延迟。如果系统处于闪烁状态中,则α的较低值将更有效地减少噪声。

图1举例说明其中可以实现民主式α平滑的示例计算环境。在举例说明的示例中,计算设备102包括基于触摸或手势的界面104。当用户在界面104上移动其手指时,计算设备102可以生成数据来指示例如用户的手指正在界面104上移动的速度。

在举例说明的示例中,计算设备102包括一个或多个处理器106、数字化器108和存储器110。示例数字化器108将与用户和界面104进行的触摸或手势交互相关联的模拟数据转换成数字数据。在收集数据时,计算设备102的任何硬件组件可能引入噪声。例如,取决于具体的数字化器实现方式,数字化器在将模拟触摸或手势数据转换成数字数据时可以引入不同水平的噪声。

操作系统112和一个或多个应用程序114可以被存储在存储器110中并被执行在处理器106上。民主式α平滑模块116也被存储在存储器110中或者作为独立模块或者作为或操作系统112或应用114的组件并由(多个)处理器106来执行。民主式α平滑模块116将平滑算法应用于利用数字化器108生成的输入数据,从而减轻数字化器可能已引入的任何噪声的影响。

虽然在单个计算设备的上下文中进行举例说明和描述,但是在本文描述的民主式α平滑模块的功能可以可供选择地在客户端-服务器架构中进行实现,其中民主式α平滑模块驻留在或客户端、服务器上或被分布在客户端和服务器二者之上。

可供选择地或附加地,在本文描述的民主式α平滑模块的功能能够至少部分由一个或多个硬件逻辑组件来执行。例如而非限制,举例说明类型的能够使用的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、系统级芯片系统(SOC)、复杂可编程逻辑器件(CPLD)等等。

虽然在图1中被举例说明为被存储在计算设备102的存储器110中,但是民主式α平滑模块116或其部分可以使用由计算设备102或本地或远程、包括在网络上可访问的任何形式的计算机可读媒体来实现。计算机可读媒体至少包括两种类型的计算机可读媒体,即计算机存储媒体和通信媒体。计算机存储媒体包括在任何的用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的方法或技术中实现的易失性和非易失性、可移除和不可移除媒体。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光储存器、磁带盒、磁带、磁盘储存器或其他磁存储设备或者能够用于存储信息以便由计算设备访问的任何其他的非传输介质。相比之下,通信媒体可以将计算机可读指令、数据结构、程序模块或其他数据收录(embody)在调制数据信号诸如载波或其他的传输机制中。如在本文所定义的,计算机存储媒体不包括通信媒体。

此外,虽然在由数字化器响应于触摸或手势输入而生成的输入数据的上下文中进行举例说明和描述,但是如在本文描述的民主式α平滑可以被应用于任何类型的数据。其他类型的数据的示例包括但不限于通过自然用户界面技术诸如语音识别、触摸和手写笔识别、手势识别、隔空手势(air gesture)、头和眼跟踪、话音和语音、视觉、触摸、悬停和机器智能所生成的输入数据。民主式α平滑可以被应用在可以受益于计算指数移动平均的任何上下文中。可以对其应用民主式α平滑的输入数据的其他示例包括但不限于财务数据诸如股票价格、收益或交易量和经济数据诸如国内生产总值或就业统计。

图2举例说明代表用户的手指在一段时间正在输入设备上移动的速度的示例输入数据202。采样数据204被取自输入数据202并由民主式α平滑模块114来处理,从而导致平滑数据206。示例输出数据208是最初输入数据202的平滑表示。如在图2中能够看到的,平滑数据包括比最初输入数据更少的噪声。

图3举例说明示例民主式α平滑模块114的选择组件。如图3所示,示例民主式α平滑模块114包括参数储存器302、投票模块304、动态α生成器306和指数移动平均模块308。参数储存器302保持可以用于调谐民主式α平滑模块114的各种常数。投票模块304基于输入数据流的估计状态来增加或减少累积总投票值。动态α生成器306基于总投票值来动态修改平滑因子α的值。指数移动平均模块308至少部分基于动态修改的平滑因子来计算指数移动平均。

图4举例说明可以由参数储存器302保持的示例常数。在举例说明的示例中,参数储存器302包括用于MAX_ALPHA、MIN_VOTES、MAX_VOTES、POWER、PENALTY、BONUS、SIGN(n)、VOTE(n)α(n)的值。

在示例实现方式中,MAX_ALPHA定义α的最大值。如上面所讨论的,根据标准EMA算法,α=[0,1]。应用其中α等于零的EMA算法导致其中每一个数据点等于先前数据点的输出数据。应用其中α等于一的指数移动平均算法导致其中没有平滑发生并且每一个输出数据点等于输入数据点的输出数据。相应地,对于其中α的值随着EMA算法的每一次迭代而动态改变的民主式α平滑来说,较小范围的α可以被定义来阻止α等于或零或一。这个较小范围的上端使用MAX_ALPHA来定义。α的值的这个较小范围的下端能够基于MIN_VOTES来计算,如下面进一步详细解释的。

MIN_VOTES和MAX_VOTES定义将影响α的值的投票值的范围。在当前投票总数等于MIN_VOTES时,α将具有其最小值。类似地,在当前投票总数等于MAX_VOTES时,α等于MAX_ALPHA。

POWER是可定制常数,其确定在总投票值从MIN_VOTES移至MAX_VOTES时α的值从其最小值移至MAX_ALPHA的线性度。如果POWER等于一,在总投票值从MIN_VOTES移至MAX_VOTES时α的值线性地从其最小值移至MAX_ALPHA。如果POWER小于一,在投票总数从MIN_VOTES开始增加时α迅速增加,并且在投票总数接近MAX_VOTES时α更缓慢地增加。相反,如果POWER大于一,在投票总数从MIN_VOTES开始增加时α缓慢地增加,并且在投票总数接近MAX_VOTES时α更迅速地增加。

PENALTY定义闪烁状态影响总投票值的程度。例如,在确定输入数据流处于趋势状态中时,总投票值可以被增加一,而在确定输入数据流处于闪烁状态中时,总投票值可以被减少二。在示例实现方式中,PENALTY可以是至少部分基于输入数据流的当前估计状态的动态变量。例如,如果估计输入数据流持续处于闪烁状态中,PENALTY可以等于一。然而,如果估计输入数据流刚好从趋势状态切换到闪烁状态,PENALTY可以等于大于一的值。

BONUS定义趋势状态影响总投票值的程度。如同PENALTY参数,用于增加总投票值的BONUS参数可以是静态的或动态的。例如,如果估计输入数据流持续在趋势中,则BONUS可以等于一。然而,如果估计输入数据流刚好从闪烁状态移至趋势状态,BONUS可以等于大于一的值。

SIGN(n)指示计算z(n)与S(n-1)之间的差是正的还是负的。

VOTE(n)指示被限于利用MIN_VOTES和MAX_VOTES来定义的范围的投票总数。

ALPHA(n)α(n)指示将在计算z(n)的指数移动平均中使用的α的值。ALPHA(n)被限于基于MIN_VOTES和MAX_VOTES的范围。ALPHA(n)的最大值利用MAX_ALPHA来定义。

图5举例说明通过民主式α平滑模块114的选择组件的示例数据流。在举例说明的示例中,在接收到输入数据流时,投票模块304接收采样数据点502。投票模块304利用接收的采样数据点、先前平滑的数据点(S(n-1))、PENALTY、BONUS、MAX_VOTES、MIN_VOTES、先前投票值(VOTE(n-1))和先前符号(SIGN(n-1))来确定新的符号(SIGN(n-1))和新的投票总数(VOTE(n))。在举例说明的示例中,参数储存器302保持和提供针对S(n-1)、PENALTY、BONUS、MAX_VOTES、MIN_VOTES、VOTE(n-1)和SIGN(n-1)的访问。投票模块304将SIGN(n)和VOTE(n)输出至参数储存器并将VOTE(n)与采样数据点z(n)一起输出至动态α生成器306。在示例实现方式中,如果PENALTY和/或BONUS是动态值,则投票模块304也可以更新PENALTY和/或BONUS之中的一个或两个并将更新的值输出至参数储存器302。

动态α生成器306利用所接收的VOTE(n)、POWER、MAX_VOTES和MAX_ALPHA来确定新的α(ALPHA(n))。在举例说明的示例中,参数储存器302保持和提供针对POWER、MAX_VOTES和MAX_ALPHA的访问。动态α生成器306将ALPHA(n)输出至参数储存器并将ALPHA(n)与采样数据点z(n)一起输出至指数移动平均模块308。

指数移动平均模块308利用所接收的采样数据点(z(n))、先前平滑的数据点(S(n-1))和ALPHA(n)来计算新的平滑数据点(S(n))。在举例说明的示例中,参数储存器302保持和提供针对S(n-1)的访问。指数移动平均模块308将S(n)输出至参数储存器并输出S(n)作为由此产生的平滑数据点。

图6-9举例说明用于接收输入数据和使用民主式α平滑来生成平滑输出数据的示例处理600。该处理被举例说明为被显示为离散块的一组操作。该处理可以在任何合适的硬件、软件、固件或其组合中进行实现。描述这些操作的顺序不应被解释为限制。

在图6中,在块602,民主式α平滑模块116初始化SIGN(1)、VOTE(1)和ALPHA(1)。在示例实现方式中,SIGN(n)是布尔变量,其可以被设置成或“真”或“假”来分别指示是否当前采样值(z(n))和先前平滑值(S(n-1))之间的差大于零。 SIGN(1)可以被初始化成或真或假。在示例实现方式中,VOTE(n)代表输入数据流显现成与闪烁相对的趋势的程度。VOTE(1)可以被初始化为在MIN_VOTES与MAX_VOTES之间的任何值。在示例实现方式中,VOTE(1)被初始化为MIN_VOTES。ALPHA(1)可以被初始化为在零与MAX_ALPHA之间的任何值。在示例实现方式中,ALPHA(1)基于下式被初始化为最小值:

在块604,民主式α平滑模块116接收初始输入值z(1)。例如,在图1所示的计算环境中,数字化器108在用户与界面104交互时生成数据流。初始输入值z(1)是来自数字化器生成的数据流的第一采样数据点。

在块606,指数移动平均模块308计算初始平滑值S(1)。在示例实现方式中,S(1)=z(1)

在块608,民主式α平滑模块116接收下一输入值z(n)。例如,在数字化器108生成数字数据流时,投票模块304接收数字数据流的下一采样数据点。

在块610,投票模块304估计输入数据流的状态。在示例实现方式中,投票模块304至少部分基于当前采样数据点z(n)和先前计算的平滑数据点S(n-1)之间的差来估计输入数据流的状态。由于EMA平滑的本质,如果实际值正在一个方向移动,则平滑值通常将落后于它。即,如果实际值正在增加(即“趋势向上”),则平滑值通常将低于它;如果实际值正在减少(即“趋势向下”),则平滑值通常将高于它。因此,如果采样值持续高于或者持续低于平滑值,则输入数据流或许处于趋势状态中。类似地,如果实际值不是持续高于或持续低于平滑值而是随机地在高于平滑值和低于平滑值之间交替,则输入数据流或许处于闪烁状态中。下面参考图7来讨论与估计输入数据流的状态有关的附加细节。

在块612,投票模块304基于所确定的输入数据流的状态来计算VOTE(n)。在示例实现方式中,投票模块304通过在输入数据流被确定处于趋势状态中时增加VOTE(n-1)的值并在输入数据流被确定处于闪烁状态中减少VOTE(n-1)的值来计算VOTE(n)。下面参考图8来讨论与计算VOTE(n)有关的附加细节。

在块614,动态α生成器306基于VOTE(n)来计算ALPHA(n)。在示例实现方式中,如果VOTE(n)大于VOTE(n-1),则ALPHA(n)将大于ALPHA(n-1)。类似地,如果VOTE(n)小于VOTE(n-1),则ALPHA(n)将小于ALPHA(n-1)。下面参考图9来讨论与计算ALPHA(n)有关的附加细节。

在块616,指数移动平均模块308基于ALPHA(n)、z(n)和S(n-1)来计算下一指数移动平均值S(n)。如上面所讨论的,EMA模块实现EMA算法:

图7举例说明用于估计输入数据流的状态的示例处理610。在块702,投票模块304基于z(n)与S(n-1)之间的差来确定SIGN(n)。在示例实现方式中:

如果z(n)-S(n-1)>0,则SIGN(n) =真

如果z(n)-S(n-1)≤0,则SIGN(n) =假。

在块704,投票模块304比较SIGN(n)与SIGN(n-1)。如果SIGN(n)与SIGN(n-1)是相同的(即二者为真或二者为假),则处理继续,如下面参考块708所描述的。

在块706,如果投票模块304确定SIGN(n)和SIGN(n-1)不是相同的(即一个为真而另一个为假),则投票模块304确定输入数据流处于“闪烁”的状态中。如上面所讨论的,在平滑值持续高于或者持续低于输入数据值时,输入数据流有可能在增加或减少方向的趋势中。然而,如果平滑值在高于和低于输入数据值之间波动,则输入数据流有可能在大约相同值的周围闪烁。其后跟随着z(n)与S(n-1)之间的负差的z(n)和S(n-1)之间的正差(或其后跟随着正差的负差)因此有可能指示闪烁的状态。

当投票模块304确定SIGN(n)与SIGN(n-1)是相同的(来自块704的“是”分支)时,在块708,投票模块304执行另一计算来确定:即使SIGN(n)与SIGN(n-1)是相同的,是否输入数据流也可能处于闪烁的状态中。如上面所讨论的,在趋势状态中,平滑数据值持续高于或持续低于输入数据值。然而,可能的是:如果平滑数据值明显靠近输入数据值,即使它们可能还没有移动得足够远以致改变与SIGN(n-1)的值相比较的SIGN(n)的值,输入数据流也已进入闪烁状态。相应地,在块708,投票模块304确定是否z(n)与S(n-1)之间的差小于阈值。在示例实现方式中,阈值等于S(n-1)的5%。在可供选择的实现方式中,可以使用例如包括恒定值的其他阈值。如果确定z(n)与S(n-1)之间的差小于阈值,则如上面参考块706所描述的,投票模块304估计输入数据流处于闪烁状态中。

在块710,当(在块704)确定SIGN(n)等于SIGN(n-1)和(在块708)确定z(n)与S(n-1)之间的差大于阈值时,投票模块304估计输入数据流处于趋势状态中。

在可供选择的实现方式中,不确定和比较SIGN(n)和SIGN(n-1),输入数据流的状态可以基于其他标准来估计。例如,在先前值周围的阈值范围(如参考块708所讨论的)可以是输入数据流是在趋势还是在闪烁的唯一确定。也可以使用其他标准来估计输入数据流的当前状态。

图8举例说明用于基于输入数据流的估计状态来计算VOTE(n)的示例处理612。在块802,投票模块304确定是否输入数据流有可能处于趋势状态中(如上面参考图7所讨论的)。如果确定输入数据流有可能处于趋势状态中(来自块802的“是”分支),则在块804,通过将一个值加到VOTE(n-1)来计算VOTE(n)。在示例实现方式中,VOTE(n-1)被递增BONUS的值。当确定输入数据流有可能处于趋势状态中时,将BONUS设置成大于一的值使得α的值更迅速地增加。

在块806,投票模块304比较VOTE(n)与MAX_VOTES。如果VOTE(n)大于MAX_VOTES(来自块806的“是”分支),则在块808,投票模块304将VOTE(n)设置成等于MAX_VOTES。该处理在块810结束。

如果在块802确定输入数据流有可能处于闪烁状态中(来自块802的“否”分支),则在块812,通过从VOTE(n-1)减去一个值来计算VOTE(n)。在示例实现方式中,投票模块304通过从VOTE(n-1)中减去PENALTY值来计算VOTE(n)。当确定输入数据流有可能处于闪烁状态中时,将PENALTY设置成大于一的值使得α的值更迅速地减少。

在块814,投票模块304比较VOTE(n)与MIN_VOTES。如果VOTE(n)小于MIN_VOTES(来自块814的“是”分支),则在块816,将VOTE(n)设置成等于MIN_VOTES。该处理在块810结束。

图9举例说明用于基于VOTE(n)来计算ALPHA(n)的示例处理614。如上所述,动态α生成器306计算ALPHA(n),以致当VOTE(n)从MIN_VOTES变至MAX_VOTES时,ALPHA(n)从(如基于MIN_VOTES、MAX_VOTES、MAX_ALPHA和POWER所计算的)最小值变至MAX_ALPHA。

在块902,动态α生成器306计算VOTE(n)与MAX_VOTES的比率。

在块904,动态α生成器306将计算的投票率提升(raise)至预定义的POWER。如果POWER等于一,则当VOTE(n)从MIN_VOTES变至MAX_VOTES时,ALPHA(n)从最小值线性地变至MAX_ALPHA。可供选择地,如果POWER等于除了一之外的值,则ALPHA(n)以非线性方式从最小值变至MAX_ALPHA。例如,如果期望迅速地移出高平滑阶段,则投票的增加应该迅速地使得α增加并随后逐渐减少。可供选择地,可能期望:投票应该在早期迭代中仅仅最低限度地影响α,但是随后迅速地使其朝向MAX_ALPHA移动,这指示停留在高平滑阶段中的偏好。将投票率提升至除了一之外的幂改变α用于从其最小值变至MAX_ALPHA的行为。

在块906,动态α生成器306将ALPHA(n)计算为投票率(被提升至预定义的POWER)与MAX_ALPHA的乘积。这能够在数学上被表达为:

例句(Example Clauses)

A:一种方法,包括:接收输入数据流的第一部分;通过至少部分基于输入数据流的第一部分和平滑因子来计算指数移动平均,生成输出数据流的第一部分;接收输入数据流的第二部分;确定输入数据流的状态;响应于确定输入数据流处于第一状态中,递增投票值;响应于确定输入数据流处于第二状态中,递减投票值;基于投票值来更新平滑因子的值;以及通过至少部分基于输出数据流的第一部分、输入数据流的第二部分和平滑因子来计算指数移动平均,生成相对于输入数据流的第二部分具有降低噪声的输出数据流的第二部分。

B:如段落A所述的方法,其中确定输入数据流的状态包括:确定来自输入数据流的值是趋势向上、趋势向下还是在闪烁;响应于确定来自输入数据流的值是趋势向上或趋势向下,确定输入数据流处于第一状态中;以及响应于确定来自输入数据流的值在闪烁,确定输入数据流处于第二状态中。

C:如段落B所述的方法,其中确定来自输入数据流的值是趋势向上、趋势向下还是在闪烁包括:评估输入数据流的第二部分与输出数据流的第一部分之间的差。

D:如段落C所述的方法,其中评估输入数据流的第二部分与输出数据流的第一部分之间的差包括:通过确定输入数据流的第二部分与输出数据流的第一部分之间的差是正的还是负的来确定第一符号;通过确定输入数据流的先前部分与输出数据流的先前部分之间的差是正的还是负的来确定第二符号;以及倘若第一符号和第二符号是不同的,则确定来自输入数据流的值在闪烁。

E:如段落D所述的方法,其中评估输入数据流的第二部分与输出数据流的第一部分之间的差进一步包括:响应于确定第一符号与第二符号是相同的:确定是否输入数据流的第二部分与输出数据流的第一部分之间的差在值的阈值范围之内;和响应于确定输入数据流的第二部分与输出数据流的第一部分之间的差在值的阈值范围之内,确定来自输入数据流的值在闪烁;以及响应于确定第一符号和第二符号不是相同的并且输入数据流的第二部分与输出数据流的第一部分之间的差不在值的阈值范围之内,确定来自输入数据流的值是趋势向上或趋势向下。

F:如段落A-E之中任一段落所述的方法,其中递增投票值包括:将投票增加常数值加至投票值,以生成新的投票值;将新的投票值与最大投票值进行比较;以及响应于新的投票值大于最大投票值,将新的投票值设置成等于最大投票值。

G:如段落A-F之中任一段落所述的方法,其中递减投票值包括:从投票值中减去投票减少常数值,以生成新的投票值;将新的投票值与最小投票值进行比较;以及响应于新的投票值小于最小投票值,将新的投票值设置成等于最小投票值。

H:如段落F或G之中任一段落所述的方法,其中投票增加常数值大于一。

I:如段落F-H之中任一段落所述的方法,其中投票减少常数值大于一。

J:如段落A-I之中任一段落所述的方法,其中基于投票值来更新平滑因子的值包括:通过将投票值除以最大投票值,计算投票率;以及将更新的平滑因子计算为投票率与最大平滑因子值的乘积。

K:如段落J所述的方法,其中基于投票值来更新平滑因子的值进一步包括:在计算更新的平滑因子之前,将投票率提升至预定义的幂。

L:一种在其上面具有计算机可执行指令的计算机可读介质,这些计算机可执行指令用于将计算机配置成执行如段落A-K之中任一段落所述的方法。

M:一种设备,包括:一个或多个计算机可读媒体,在其上面具有计算机可执行指令,用于将计算机配置成执行如段落A-K之中任一段落所述的方法;以及处理单元,其被适配成执行这些指令来执行如段落A-K之中任一段落所述的方法。

N:一种系统,包括:一个或多个处理器;存储器,通信地被耦合至一个或多个处理器;投票模块,被存储在存储器中并由一个或多个处理器来执行,以便:确定输入数据流的状态;以及基于输入数据流的状态来选择性递增或递减总投票值;被存储在存储器中并由一个或多个处理器来执行的动态α生成器,其被配置成至少部分基于总投票值来计算平滑因子的值;以及被存储在存储器中并由一个或多个处理器来执行的指数移动平均模块,其被配置成至少部分基于平滑因子的值来计算指数移动平均的迭代。

O:如段落N所述的系统,其中:第一状态指示从输入数据流中采样的值是趋势向上或趋势向下;以及第二状态指示从输入数据流中采样的值保持在值的阈值范围之内。

P:如段落O所述的系统,其中值的阈值范围至少部分相对于在指数移动平均的先前迭代中所计算的平滑值来确定。

Q:如或段落O或P所述的系统,其中:投票模块响应于确定输入数据流处于第一状态中而递增总投票值;以及投票模块响应于确定输入数据流处于第二状态中而递减总投票值。

R:如段落N-Q之中任一段落所述的系统,其中投票模块至少部分基于所计算的来自输入数据流的当前采样值与在指数移动平均的先前迭代中所计算的平滑值之间的差来确定输入数据流的状态。

S:包括计算机可执行指令的一个或多个计算机可读媒体,其中这些计算机可执行指令在被执行时引导计算系统:接收包括多个采样数据值的输入数据流;以及通过计算指数移动平均算法的多次迭代来生成相对于输入数据流具有降低噪声的包括多个平滑数据值的输出数据流,其中:指数移动平均算法的每一次迭代基于当前采样数据值、先前计算的平滑数据值和平滑因子来计算;对于指数移动平均算法的每一次迭代,独立地确定平滑因子;以及对于指数移动平均算法的每一次迭代:至少部分基于当前采样数据值来确定输入数据流的状态;基于输入数据流的状态来更新总投票值;以及至少部分基于总投票值来确定用于指数移动平均算法的当前迭代的平滑因子。

T:如段落S所述的一个或多个计算机可读媒体,其中总投票值被限制在投票值的预定义范围之内。

U:如段落T所述的一个或多个计算机可读媒体,其中平滑因子被限制在α值的预定义范围之内,以致在总投票值从最小投票值变至最大投票值时,平滑因子从最小α值变至最大α值。

V:如段落U所述​​的一个或多个计算机可读媒体,其中在总投票值从最小投票值线性地变至最大投票值时,平滑因子从最小α值非线性地变至最大α值。

W:如段落U所述​​的一个或多个计算机可读媒体,其中在总投票值从最小投票值线性地变至最大投票值时,平滑因子从最小α值线性地变至最大α值。

结论

虽然已采用特定于结构特征和/或方法步骤的语言描述了示例民主式α平滑,但是将明白:如在所附的权利要求书中定义的民主式α平滑不一定限于上述的具体特征或步骤。相反,上述的具体特征和步骤被披露为实现这些权利要求的示例,并且其他的等效特征和步骤旨在权利要求书的范畴之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1