通过民主式α平滑的降噪制造技术

技术编号:15342789 阅读:219 留言:0更新日期:2017-05-17 00:15
一种迭代指数移动平均算法从有噪声的输入数据流中生成平滑输出数据流。在计算指数移动平均中使用的平滑因子利用指数移动平均的每一次迭代、基于累积投票值来更新,其中累积投票值至少部分基于输入数据流的估计状态。

【技术实现步骤摘要】
【国外来华专利技术】通过民主式α平滑的降噪
技术介绍
具有其中可以收集大量数据的许多环境。在许多情况下,所收集的数据被认为是有噪声的(noisy),并且平滑版本的数据是所期望的。例如,在分析财务数据诸如股票价格、收益或交易量或者经济数据诸如国内生产总值或就业统计时,可能期望这样的平滑(smooth)。作为另一示例,利用触摸或手势来接收用户输入的计算机系统可以在用户与系统交互时收集许多数据点。各种噪声源可以影响所收集的数据。例如,这样的计算机系统可以包括数字化器来将模拟触摸或手势数据转换成数字数据。取决于所使用的数字化器的类型,数字化器可以引入不同程度的噪声。指数移动平均(ExponentialMovingAverage)(EMA)是使用具有在零与一之间的值的恒定平滑因子α来取所有采样数据点的加权平均的递归函数。最近采样数据点与常数α相乘,并且先前采样数据点与α的连续幂(power)相乘。因为α通常小于一,所以α的幂能够迅速下降至可忽略的分数百分比。以这样的方式,不太近(lessrecent)的数据点迅速衰减至可忽略的值。为α选择的值能够显著地影响使用EMA的数据平滑的结果。当α接近一时,平滑输出几乎与原始输入相同。当α接近零时,平滑输出具有高延迟并且对于输入趋势的变化微弱地响应。
技术实现思路
描述民主式α平滑(democraticalphasmoothing)。当从输入数据流中接收到每一个采样数据值时,估计输入数据流的状态。总投票值基于所估计的输入数据流的状态来更新,并且基于更新的总投票值来计算平滑因子。指数移动平均的迭代使用平滑因子来计算,以产生平滑输出数据流的数据值。提供这个概述部分来以简化形式介绍下面在具体描述部分中进一步描述的概念的选择。这个概述部分并不打算来识别所请求保护的主题的关键特征或基本特征,也不打算用于限制所请求保护的主题的范畴。附图说明遍及附图使用相同的数字来引用相似的特征和组件。图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)在调制数据信号诸如载波或其他的传输机制中。如在本文所定义的,计算机存储媒体不包括通信媒体。此外,虽然在由数字化器响应于触摸或手势输入而生成的输入数据的上下文中进行举例说明和描述,但是如在本文描述的民主式α平滑可以被应用于任何类型的数据。其他类型的数据的示例包括但不限于通过自然用户界面技术诸如语音识别、触摸和手写笔识别、手势识别、隔空手势(airgesture)、头和眼跟踪、话音和语音、视觉、触摸、悬停和机器智能所生成的输入数据。民主式α平滑可以被应用在可以受益于计算指数移动平均的任何上下文中。可以对其应用民主式α平滑的输入数据的其他示例包括但不限于财务数据诸如股票价格、收益或交易量和经济数据诸如国内生产总值或就业统计。图2举例说明代表用户的手指在一段时间正在输入设备上移动的速度的示例输入数据202。采样数据204被取自输入数据202并由民主式α平滑模块114来处理,从而导致本文档来自技高网...
通过民主式α平滑的降噪

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

【技术特征摘要】
【国外来华专利技术】2014.08.29 US 14/4739191.一种方法,包括:接收输入数据流的第一部分;通过至少部分基于输入数据流的第一部分和平滑因子来计算指数移动平均,生成输出数据流的第一部分;接收输入数据流的第二部分;确定输入数据流的状态;响应于确定输入数据流处于第一状态中,递增投票值;响应于确定输入数据流处于第二状态中,递减投票值;基于投票值来更新平滑因子的值;和通过至少部分基于输出数据流的第一部分、输入数据流的第二部分和平滑因子来计算指数移动平均,生成相对于输入数据流的第二部分具有降低噪声的输出数据流的第二部分。2.根据权利要求1所述的方法,其中确定输入数据流的状态包括:确定来自输入数据流的值是趋势向上、趋势向下还是在闪烁;响应于确定来自输入数据流的值是趋势向上或趋势向下,确定输入数据流处于第一状态中;和响应于确定来自输入数据流的值在闪烁,确定输入数据流处于第二状态中。3.根据或权利要求1或权利要求2所述的方法,其中基于投票值来更新平滑因子的值包括:通过将投票值除以最大投票值,计算投票率;和将更新的平滑因子计算为投票率与最大平滑因子值的乘积。4.根据权利要求3所述的方法,其中基于投票值来更新平滑因子的值进一步包括:在计算更新的平滑因子之前,将投票率提升至预定义的幂。5.一种系统,包括:一个或多个处理器;存储器,通信地被耦合至一个或多个处理器;投票模块,被存储在存储器中并由一个或多个处理器来执行,以便:确定输入数据流的状态;和基于输入数据流的状态来选择性递增或递减总投票值;被存储在存储器中并由一个或多个处理器来执行的动态α生成器,其被配置成至少部分基于总投票值来计算平滑因子的值;和被存储在存储器中并由一个或多个处理器来执行的指数移动平均模块,其被配置成至少部分基于平滑因子的值来计算指数移动平均的迭代。6.根据权利要求5所述的系统,其中投票模块至少部分基于所计算的来自输入数据流的当前采样值与在指数移动平均的先前迭代中计算的平滑值之间的差来确定输入数据流的状态。7.包括计算机可执行指令的一个或多个计算机可读媒体,所述计算机可执行指令在被执行时引导计算系统:接收包括多个采样数据值的输入数据流;和通过计算指数移动平均算法的多次迭代来生成相对于输入数据流具有降低噪声的包括多个平滑数据值的输出数据...

【专利技术属性】
技术研发人员:P贝辛格
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1