平码五不中公式规律
  • / 22
  • 下载费用:30 金币  

通过民主式Α平滑的降噪.pdf

关 键 ?#21097;?/dt>
通过 民主 平滑
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580046640.9

申请日:

2015.08.25

公开号:

CN106662967A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 3/0481申请日:20150825|||公开
IPC分类号: G06F3/0481(2013.01)I; G06F3/0488(2013.01)I; G06F17/18 主分类号: G06F3/0481
申请人: 微软技术许可有限责任公司
发明人: P.贝辛格
地址: 美国华盛顿州
优?#28909;ǎ?/td> 2014.08.29 US 14/473919
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 刘红;陈岚
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580046640.9

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

一种迭代指数移动平均算法从有噪声的输入数据流中生成平滑输出数据流。在计算指数移动平均中使用的平滑因子利用指数移动平均的每一次迭代、基于累积投票值来更新,其中累积投票值至少部分基于输入数据流的估计状态。

权利要求书

1.一种方法,包括:
接收输入数据流的第一部分;
通过至少部分基于输入数据流的第一部分和平滑因子来计算指数移动平均,生成输出
数据流的第一部分;
接收输入数据流的第二部分;
确定输入数据流的状态;
响应于确定输入数据流处于第一状态中,递增投票值;
响应于确定输入数据流处于第二状态中,递减投票值;
基于投票值来更新平滑因子的值;和
通过至少部分基于输出数据流的第一部分、输入数据流的第二部分和平滑因子来计算
指数移动平均,生成相对于输入数据流的第二部分具有降低噪声的输出数据流的第二部
分。
2.根据权利要求1所述的方法,其中确定输入数据流的状态包括:
确定来自输入数据流的值是趋势向上、趋势向下还是在闪烁;
响应于确定来自输入数据流的值是趋势向上或趋势向下,确定输入数据流处于第一状
态中;和
响应于确定来自输入数据流的值在闪烁,确定输入数据流处于第二状态中。
3.根据或权利要求1或权利要求2所述的方法,其中基于投票值来更新平滑因子的值包
括:
通过将投票值除以最大投票值,计算投票?#21097;?#21644;
将更新的平滑因子计算为投票率与最大平滑因子值的乘积。
4.根据权利要求3所述的方法,其中基于投票值来更新平滑因子的值进一步包括:在计
算更新的平滑因子之前,将投票率提升至预定义的幂。
5.一种?#20302;常?#21253;括:
一个或多个处理器;
存储器,通信地被耦合至一个或多个处理器;
投票模块,被存储在存储器中并由一个或多个处理器来执行,以便:
确定输入数据流的状态;和
基于输入数据流的状态来选择性递增或递减总投票值;
被存储在存储器中并由一个或多个处理器来执行的动态α生成器,其被配置成至少部
分基于总投票值来计算平滑因子的值;和
被存储在存储器中并由一个或多个处理器来执行的指数移动平均模块,其被配置成至
少部分基于平滑因子的值来计算指数移动平均的迭代。
6.根据权利要求5所述的?#20302;常?#20854;中投票模块至少部分基于所计算的来自输入数据流
的当前采样值与在指数移动平均的先前迭代中计算的平滑值之间的差来确定输入数据流
的状态。
7.包括计算机可执行指令的一个或多个计算机可读媒体,所述计算机可执行指令在被
执行?#24065;?#23548;计算?#20302;常?br />
接收包括多个采样数据值的输入数据流;和
通过计算指数移动平均算法的多次迭代来生成相对于输入数据流具有降低噪声的包
括多个平滑数据值的输出数据流,其中:
基于当前采样数据值、先前计算的平滑数据值和平滑因子来计算指数移动平均算法的
每一次迭代;
对于指数移动平均算法的每一次迭代,独立地确定平滑因子;和
对于指数移动平均算法的每一次迭代:
至少部分基于当前采样数据值来确定输入数据流的状态;
基于输入数据流的状态来更新总投票值;和
至少部分基于总投票值来确定用于指数移动平均算法的当前迭代的平滑因子。
8.根据权利要求7所述的一个或多个计算机可读媒体,其中总投票值被限制在投票值
的预定义范围之内。
9.根据权利要求8所述的一个或多个计算机可读媒体,其中平滑因子被限制在α值的预
定义范围之内,以致在总投票值从最小投票值变至最大投票值时,平滑因子从最小α值变至
最大α值。
10.根据权利要求9所述的一个或多个计算机可读媒体,其中在总投票值从最小投票值
线性地变至最大投票值时,平滑因子从最小α值非线性地变至最大α值。
11.根据权利要求2所述的方法,其中确定来自输入数据流的值是趋势向上、趋势向下
还是在闪烁包括:
通过确定输入数据流的第二部分与输出数据流的第一部?#31181;?#38388;的差是正的还是负的
来确定第一符号;
通过确定输入数据流的先前部分与输出数据流的先前部?#31181;?#38388;的差是正的还是负的
来确定第二符号;和
?#28909;?#31532;一符号和第二符号是不同的,则确定来自输入数据流的值在闪烁。
12.根据权利要求11所述的方法,其中评估输入数据流的第二部分与输出数据流的第
一部?#31181;?#38388;的差进一步包括:
响应于确定第一符号与第二符号是相同的:
确定是否输入数据流的第二部分与输出数据流的第一部?#31181;?#38388;的差在值的阈值范围
之内;和
响应于确定输入数据流的第二部分与输出数据流的第一部?#31181;?#38388;的差在值的阈值范
围之内,确定来自输入数据流的值在闪烁;和
响应于确定第一符号和第二符号不是相同的并且输入数据流的第二部分与输出数据
流的第一部?#31181;?#38388;的差不在值的阈值范围之内,确定来自输入数据流的值是趋势向上或趋
势向下。
13.根据权利要求5所述的?#20302;常?#20854;中:
第一状态指示:从输入数据流中采样的值是趋势向上或趋势向下;和
第二状态指示:从输入数据流中采样的值不是趋势向上或趋势向下。
14.根据权利要求13所述的?#20302;常?#20854;中至少部分基于从输入数据流中采样的值保持在
值的阈值范围之内的确定来确定第二状态。
15.根据权利要求14所述的?#20302;常?#20854;中至少部分相对于在指数移动平均的先前迭代中
所计算的平滑值来确定值的阈值范围。

说明书

通过民主式α平滑的降噪

背景技术

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

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

α选择的?#30340;?#22815;显著地影响使用EMA的数据平滑的结果。当α接近一时,平滑输出
?#36127;?#19982;原始输入相同。当α接近零时,平滑输出具有高延迟并且对于输入趋势的变化微弱地
响应。

发明内容

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

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

附图说明

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

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

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

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

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

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

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

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

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

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

具体实施方式

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

EMA算法被给定为:

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

其中:

? Sn是第n个平滑估计

? zn是第n个测量值

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

? S1=z1。

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

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

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

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

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

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

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

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

图2举例说明代表用户的?#31181;?#22312;一段时间正在输入设备上移动的速度的示例输入
数据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定义α的最大值。如上面所?#33268;?#30340;,根据标准EMA算
法,α=[0,1]。应用其中α等于零的EMA算法导致其中每一个数据点等于先前数据点的输出数
据。应用其中α等于一的指数移动平均算法导致其中没有平滑发生并且每一个输出数据点
等于输入数据点的输出数据。相应地,对于其中α的值随着EMA算法的每一次迭代而动态改
变的民主式α平滑来说,较小范围的α可以被定义来阻止α等于或零或一。这个较小范围的上
端使用MAX_ALPHA来定义。α的值的这个较小范围的下端能够基于MIN_VOTES来计算,如下面
进一步详?#38468;?#37322;的。

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可以是至少部分基于输入数据流的当前估计状态的动
态变量。例如,如果估计输入数据流?#20013;?#22788;于闪烁状态中,PENALTY可以等于一。然而,如果
估计输入数据流刚好从趋势状态切换到闪烁状态,PENALTY可以等于大于一的值。

BONUS定义趋势状态影响总投票值的程度。如同PENALTY参数,用于增加总投票值
的BONUS参数可以是静态的或动态的。例如,如果估计输入数据流?#20013;?#22312;趋势中,则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?#37096;?#20197;更新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所示的计算环境
中,数?#21482;?#22120;108在用户与界面104交互时生成数据流。初始输入值z(1)是来自数?#21482;?#22120;生成
的数据流的第一采样数据点。

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

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

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

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

在块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来?#33268;?#19982;计算ALPHA(n)有关的附加?#38468;凇?br />

在块616,指数移动平均模块308基于ALPHA(n)、z(n)和S(n-1)来计算下一指数移动平
均值S(n)。如上面所?#33268;?#30340;,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确定输入数据流处于“闪烁”的状态中。如上面所?#33268;?#30340;,在平滑值
?#20013;?#39640;于或者?#20013;?#20302;于输入数据值时,输入数据流有可能在增加或减少方向的趋势中。然
而,如果平滑值在高于和低于输入数据值之间波动,则输入数据流有可能在大约相同值的
周围闪烁。其后跟随着z(n)与S(n-1)之间的负差的z(n)和S(n-1)之间的正差(或其后跟随着正差
的负差)因此有可能指示闪烁的状态。

当投票模块304确定SIGN(n)与SIGN(n-1)是相同的(来自块704的“是”?#31181;В?#26102;,在块
708,投票模块304执行另一计算来确定:即使SIGN(n)与SIGN(n-1)是相同的,是否输入数据流
?#37096;?#33021;处于闪烁的状态中。如上面所?#33268;?#30340;,在趋势状态中,平滑数据值?#20013;?#39640;于或?#20013;?#20302;
于输入数据值。然而,可能的是:如果平滑数据值明显靠近输入数据值,即使它们可能还没
有移动得足够远以致改变与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所?#33268;?#30340;)可以是输
入数据流是在趋势还是在闪烁的唯一确定。?#37096;?#20197;使用其他标准来估计输入数据流的当前
状态。

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

在块806,投票模块304比较VOTE(n)与MAX_VOTES。如果VOTE(n)大于MAX_VOTES(来自
块806的“是”?#31181;В?#21017;在块808,投票模块304将VOTE(n)设置成等于MAX_VOTES。该处理在块
810结束。

如果在块802确定输入数据流有可能处于闪烁状态中(来自块802的“否”?#31181;В?#21017;
在块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的“是”?#31181;В?#21017;在块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)计算为投票?#21097;?#34987;提升至预定义的POWER)与
MAX_ALPHA的乘积。这能够在数学上被表达为:


例句(Example Clauses)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

P:如段落O所述的?#20302;常?#20854;中值的阈值范围至少部分相对于在指数移动平均的先
前迭代中所计算的平滑值来确定。

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

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

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

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

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

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

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

结论

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

关于本文
本文标题:通过民主式Α平滑的降噪.pdf
链接地址:http://www.pqiex.tw/p-6091840.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 河南快赢481客户端下载 大乐透周一走势图 湖南幸运赛车专家推荐 贵州十一选五 浙江11选5基本走势图 河南人的游戏脉动棋牌 大连娱网棋牌下载官网安卓 分分彩稳赚技巧 高高频时时彩开奖 新疆喜乐彩奖金