使用调度电路的减少区域中值滤波器的制作方法

文档序号:15816251发布日期:2018-11-02 22:40阅读:225来源:国知局
使用调度电路的减少区域中值滤波器的制作方法

本申请涉及中值滤波器,并且特别地涉及用于对输入数据采样进行排序(sorting)的技术,其中一组比较器在多个阶段上被重用以执行排序。

背景技术

在信号处理中,中值滤波提供可用于减噪的非线性信号平滑操作。在数据处理中,中值滤波被用于平滑和相关数据分析任务。中值滤波的特性在于它能够平滑数据序列,从而减少或消除噪声,同时保留数据序列中的不连续性。数据序列中的不连续性或其他急剧改变的保留与线性滤波器(诸如线性低通滤波器)相比呈现优势,该线性滤波器趋向平滑这种改变。因此,中值滤波在诸如传感器读数的应用中是有用的。例如,应用于来自电流传感器的读数的中值滤波器可以去除或减少当前读数中的噪声,但仍能够快速且有效地检测与电流瞬变或类似事件相关联的过电流状况。

中值滤波需要将输入数据采样排序成有次序或部分有次序的序列。中值滤波器的硬件实现方式通常使用基于多级比较器的排序网络,其中每一级包括多个比较器。在这种排序网络的异步实现方式中,比较器中的每一级直接地耦合到比较器的下一级并且馈送到比较器的下一级。在这种排序网络的流水线(同步)实现方式中,比较器级由寄存器分离,这些寄存器锁存来自每一级的比较器输出,以便馈送后续级的比较器输入。无论排序网络是使用异步还是流水线(同步)电路,这样的排序网络都需要多级,其中每级包括多个比较器。

考虑排序网络,该排序网络可以是或不是中值滤波器的一部分,对输入数据序列的w个采样进行操作,其中,w表示窗口大小并且是2的倍数,使得w=2p。如r.mueller等人的解释(r.muelleretal.,“sortingnetworksonfpgas,”thevldbjournal,february2012,volume21,issue1,pp1-23),奇偶合并网络可用于实现这样的排序网络并且使用s级和c比较器,其中:

c(2p)=(p2–p+4)2(p-2)–1(1)

如给出w=2p,对偶数个输入采样操作的中值滤波器可能不需要将输入数据完全排序成单调递增(或递减)序列,因为中值滤波器可能仅需要在经排序的序列中间的两个输入数据值的标识。换而言之,可能不需要这两个值的比较次序。通过利用这一优点,中值滤波器可以使用具有比方程(2)中给出的更少级的排序网络,并且比方程(1)中给出的p更少的比较器。

该比较器组成排序网络或包括这种排序网络的中值滤波器的硬件实现方式中所需的裸片区域的重要部,并且通常是大部。表1提供了使用方程(1)和(2)计算的奇偶合并网络所需的级和比较器的数目,该奇偶合并网络对具有窗口大小为w的输入序列执行完整排序。还示出了能够省略完整排序最后级的中值滤波器所需的级的数目和比较器的数目。

表1:对于排序网络需要级的数目和比较器的数目除了比较器对于任何奇偶合并网络消耗大量裸片区域之外,方程(1)和表1还示出了比较器的数目随着输入窗口大小的增加呈指数增长。

为了快速排序或滤波输入数据并且使功耗最小化,排序网络和中值滤波器的硬件实现方式通常是优选的。当处理大量输入数据时,或者当正在生成输入数据时,特别如此,并且必须以高速率处理。然而,这种硬件实现方式所需的比较器的数目可能会导致裸片区域要求对于某些应用而言是不可接受的,并且甚至可能使中值滤波对于某些应用不可行。这种应用可以挑选线性滤波器以及它们相关联的低性能,而不会招致与中值滤波相关联的成本和裸片尺寸。



技术实现要素:

根据排序电路的一个实施例,该排序电路对输入数据值进行排序以产生中值。该排序电路包括多个比较器、多个多路复用器、以及调度电路。比较器中的每一个比较器可操作以比较两个输入数据值,并且在第一比较器输出处产生两个输入数据值中的最小值,以及在第二比较器输出处产生两个比较器数据值中的最大值。多路复用器中的每一个多路复用器具有多个多路复用器数据输入,其中每个多路复用器数据输入被耦合到比较器中的一个比较器的输出或被耦合到输入数据值中的一个输入数据值。这种耦合可能是间接的。例如,寄存器可以被耦合到每个比较器输出并且将数据值提供给多路复用器数据输入。每个多路复用器具有输出,该输出被耦合到比较器中的一个比较器的输入。每个多路复用器还包括选择输入,该选择输入确定多路复用器数据输入中的哪个被路由到多路复用器输出,以及被耦合到多路复用器输出的比较器输入。调度电路被配置为生成控制信号,该控制信号被耦合到多个多路复用器中的每一个的多路复用器选择输入。由调度电路生成的控制信号确定针对当前排序阶段,哪个比较器输出或输入数据值被路由到下一个排序阶段的比较器输入。针对多个阶段中的每个阶段更新该控制信号,并且生成该控制信号以便实现已知的排序算法。在多个阶段完成之后,产生输出值的经排序或部分经排序的序列,其包括中值。

根据方法的一个实施例,在排序电路内排序输入数据值,该排序电路由多个比较器、多个多路复用器和定序器构成。该方法从输入输入数据值序列开始。针对该方法的第一阶段,生成控制信号,其中控制信号被耦合到多个多路复用器中的每一个多路复用器的多路复用器选择输入。接着,基于该多路复用器的选择输入,多路复用器中的每一个多路复用器将选择的多路复用器数据输入路由到多路复用器输出。多路复用器输入的每一个多路复用器输入被耦合到输入数据值中的一个输入数据值或被耦合到来自比较器中的一个比较器的输出。多路复用器输出中的每一个多路复用器输出被耦合到比较器输入。利用如此路由的多路复用器,每个比较器比较在它的输入处提供的两个数据值,并且在第一(最小)比较器输出处产生这些数据值中的最小值,并且在第二(最大)比较器输出处产生这些数据值中的最大值。然后通常经由锁存的寄存器将这些比较器输出提供给多路复用器输入,以准备后续阶段。对于多个排序阶段中的每一个排序阶段重复来生成控制信号、通过多路复用器路由数据值、比较数据值、以及提供有次序的数据值,其中每个阶段部分地排序由前一阶段提供的数据值。在最后阶段之后,产生输入数据值的部分或完全经排序的序列,其包括中值。

本领域技术人员在阅读以下的详细描述以及在查看附图后将认识到附加特征和优点。

附图说明

附图的元件不一定相对于彼此按比例绘制。相同的附图标记指定对应的类似部件。各种图示的实施例的特征可以被组合,除非它们彼此排斥。实施例在附图中描绘并且在以下的描述中详细述。

图1图示了包括排序电路的中值滤波器的高层级图。

图2图示了可能包括在排序电路内的比较器。

图3图示了可用于排序输入数据值的奇偶合并网络。

图4a和4b图示了包括排序电路的中值滤波器的一个实施例,该排序电路使用调度器和多路复用器以在输入数据值的排序期间重用比较器。

图5图示了定序器和备选多路复用器拓扑结构的备选实施例,可以用于排序电路中,该排序电路在输入数据值的排序期间重用比较器。

图6图示了在排序电路内用于控制多路复用器以在输入数据值的排序中重用比较器的方法。

图7图示了具有无线设备和网络节点的无线通信系统,该网络节点中的每一个可以使用如本文所描述的中值滤波器。

图8图示了可以利用本文所描述的中值滤波器的数据中心。

具体实施方式

常规的奇偶合并网络提供了用于对输入数据值序列进行排序的快速且有效的技术,但是需要遍布多个排序级的大量比较器。本文所描述的实施例提供了这样的技术,其中相对于已知技术,通过重用单级比较器,比较器的数目显着减少。多路复用器、寄存器和调度器用于在多个排序阶段将数据路由到比较器或将来自比较器的数据进行路由,以便对输入数据值序列进行排序。对于w个数据采样的输入窗口大小,其中w是偶数,则比较器的数目减少到w/2。(为了便于解释,在本文的许多描述内,假定w是偶数,但是这些技术类似地适用于奇数个数据采样,对于奇数个数据采样,使用比较器)。与用于实现奇偶合并网络的流水线(同步)电路中所需的寄存器的数目相比,使用本文技术的所需要的寄存器的数目类似地减少。对于窗口大小为w=8(p=3)的一个示例的情况,用于对输入数据序列进行排序的常规多级流水线奇偶合并网络将需要19个比较器、6个级和48个数据寄存器。为了实现可以省略最后排序级的中值滤波器,合并网络可以减少到16个比较器、5个级和40个寄存器。与此相反,本文所描述的用于对这样的输入数据序列进行排序以实现中值滤波器的技术在示例性实施例中具有显着减少的硬件要求,例如4个比较器、一个比较器级和8个数据寄存器。此外,与常规奇偶网络的指数增加相比,硬件要求(例如比较器的数目)随着输入序列值的数目的增加而线性增加。

在第一实施例中,提供了包括排序电路的中值滤波器。该排序电路可以用于完全地对数据值的输入序列进行排序,以便产生单调递增或递减的输入数据值的输出序列。备选地,排序电路可以仅部分地对输入数据值序列进行排序。当主要应用仅仅是查找输入数据值序列的中值时,可能不需要对数据值完全排序成单调递增(或递减)序列。值得注意的是,输入数据值部分经排序的序列足以用于中值滤波应用。

在第一实施例的子实施例中,使用移位寄存器将输入数据值序列提供给中值滤波器。对于移位进到移位寄存器的每个新数据值,该中值滤波器基于当前移位寄存器中的值产生新的中值输出值。在另一子实施例中,输入数据值的块被移位到移位寄存器中,并且由中值滤波器为输入数据值的整个块产生一个中值。

第一实施例的中值滤波器包括具有多个比较器的比较器级、耦合到比较器的多个寄存器、以及用于将寄存器输出路由回到比较器输入的多个复用器。该多路复用器由定序器控制,该定序器确定哪些值被路由(馈送)回到比较器输入。该定序器可以为多路复用器中的每一个多路复用器生成分离的选择控制信号,可以为多路复用器生成公共选择控制信号,或者可以生成控制一组多路复用器的控制信号。该控制信号可以由mod-p计数器或由定序器内的更一般的有限状态机生成。

为了解释的简化和清楚,本文提供了验证这样的实现方案的特定示例实施例。应理解的是,这些示例并未穷尽性地描述本发明的所有变体,并且来自各种实现方式的技术可以以未在本文中明确公开的方式进行组合。

在第二实施例中,提供了一种在排序电路内的方法。该排序电路可以是与第一实施例的排序电路或其变体相同。

在第三实施例中,如本文所描述,提供了利用中值滤波器的无线设备和网络节点。

在第四实施例中,如本文所描述,提供了利用中值滤波器或相关排序的数据中心。

图1图示了包括排序电路140的中值滤波器120的一个实施例。数据值(采样)的输入流110被提供给移位寄存器130,使得该移位寄存器130存储来自输入流110的最后w个数据值。下面的输入数据可以对应于例如来自传感器(诸如电流传感器)的读数或音频波形的采样。采样和数字化输入数据以生成数据值s0,s1,…s8,…,该数据值被移位到移位寄存器130中。图示的实施例示出了移位寄存器130,该移位寄存器130在采样以窗口大小为w=8采样的输入流110操作。为了便于说明,仅示出了有限数目的输入数据值,但应理解的是,输入流通常不是固定长度并且长度可能不确定。

排序电路140被提供有来自移位寄存器130的数据值sn…sn+7。排序电路140对提供的数据值进行排序以产生输出数据值的有次序列列表,s1’,s2’,…s8’,其中,输出数据值是单调递增的,使得s1’≤s2’...≤s8’,或者被部分排序。输出数据值的有次列表可以被存储在输出寄存器150的集合中。通常地,对于每个新数据值被移位到移位寄存器130中,该排序电路140对数据进行排序并且将该输出寄存器150的集合填充为新输出数据值,该新输出数据值对应于当前存储在移位寄存器130中的输入数据值。

可以认为中值滤波器120在输入数据采样序列110上提供滑动窗口。针对被输入到移位寄存器130的每个新的输入数据采样(例如s8),被移位出移位寄存器130的最旧的输入数据采样(例如s0)。中值滤波器120对移位寄存器130内的输入数据采样进行操作。在一个通常的实现方式中,该中值滤波器120针对被移位到移位寄存器130中的每个输入数据采样提供一个输出(经滤波的)数据采样(例如采样m8)。在一个备选实现方式中,该中值滤波器120将多个(例如8个)输入数据采样一次性移位到移位寄存器130中,并且提供输入数据采样的块的一个输出(经滤波的)数据采样。由此,除了排序和中值滤波以外,该备选实施方式提供下采样。

为了实现中值滤波器120,应该产生输出数据值s1’,s2’,…s8’的中值。假定在图示示例中存在偶数个输入和输出数据值,则没有有次序输出序列的确切中点,即,中值将对应于s4’与s5’之间的输出数据值。在图示的优选实施例中,中值被设置为来自输出序列的两个正中间采样的平均值,例如在备选实施例中(未图示出),输出下中值s4’或上中值s5’为输出序列的中值。上或下中值s4’、s5’的选择可以被明确设置为先验,或者可以任意地进行。对于使用平均值或任意进行选择的情况,不必执行完整的排序。换而言之,可以知道s4’和s5’是有次序序列的中间值,但没有必要知道哪一个比另一个大。

图2图示了比较器200,该比较器200是排序电路140的基本组件中的一个。比较器200输入两个数据值x0、x1并且确定哪个是较大值以及哪个是较小值。在第一输出处提供较小值(表示输入x0、x1的最小值)x0’。在第二输出处提供较大值(表示输入x0、x1的最大值的)x1’。对于其中两个值相等的例外情况,哪个值输出为x0’并且哪个值输出为x1’,并不是实质性的。例如,当比较器确定x0=x1时,x0’总是可以设置为x0。

图3图示了如可用于实现图1的排序电路140的奇偶合并排序网络340。将输入(未经排序的)数据值x0…x7提供给排序网络340,并且排序网络340输出输出数据值的有次序的集合y0…y7。输入数据值x0…x7可对应于来自移位寄存器(诸如图1的移位寄存器130)的采样sn…sn+7。同样地,有次序集组的输出值y0…y7可对应于排序电路140的输出数据值s1’,s2’,…s8’,如图1中图示。

图示的奇偶合并网络340对w=8个输入数据值进行操作,并且提供w=8个输出数据值的有次序的集合。对于w=8的这种窗口大小,执行6个阶段和总共19次比较以产生有次序的输出数据值y0…y7。在每个中间阶段,表示为p0...p4,数据被部分地排序。在最后阶段p5之后,数据被完全地排序,使得输出数据值以单调递增的次序摆置,即y0≤y1≤…≤y7。

为了便于解释,现在将考虑奇偶合并网络340内的一些示例性操作。在初始阶段p0中,执行4次比较。将输入数据值x0和x1进行比较,并且产生结果最小值x0'和最大值x1'。该比较操作在图3中表示为c0p0。同样,比较操作c1p0比较数据值x2和x3,并且产生最小值x2’和最大值x3’。比较操作c2p0对数据值x4和x5进行排序,并且比较操作c3p0对数据值x6和x7进行排序。初始阶段p0产生部分经排序的数据集合,其中对成对的数据值进行排序,即,x0’≤x1’,x2’≤x3’,x4’≤x5’,x6’≤x7’。

后续阶段p1还包括4次比较,并且对由初始阶段p0提供的部分经排序的数据x0’,x1’,x2’,x3’,x4’,x5’,x6’,x7’进行操作。阶段p1提供数据的另一部分的排序。阶段p2包括另外4个比较并且进一步对由阶段p1提供的数据进行部分地排序。这些操作针对阶段p3、p4和p5继续进行,其分别地包括2次比较、2次比较和3次比较。最终阶段p5产生完全经排序的数据集合,即y0≤y1≤…≤y7。

奇偶合并网络340的最后阶段p5在图3中被图示为可选的。如先前所解释,中值滤波器不需要完全经排序的(即单调递增或递减)序列。因此,对于通常实现方式的阶段p5可以被省略,其中奇偶合并网络340被用于中值滤波。然而,如果正在使用排序网络340将数据排序成单调递增或递减序列,则包括阶段p5及其3个相关联的比较。

由奇偶合并网络(诸如图3的网络340)所使用的排序算法常规地在使用多个比较级的电路中实现,其中每个比较级使用多个(硬件)比较器。对于这样的常规实现方式,图3中的阶段p0...p5实际上是级,并且比较操作c0p0…c3p0,c0p1…c3p1,…c1p5…c2p5中的每一个将使用比较器(诸如图2图示的比较器)来实现。对于完整的排序,这种常规的实现方式需要6个级和19个比较器以对w=8个数据值的窗口进行排序。对于省略了阶段p5的不完整排序,这种常规实施方式将需要5个级和16个比较器。

图4a和4b图示了中值滤波器420的一个实施例,该中值滤波器420包括实现由奇偶合并网络所使用的排序算法的电路。所图示出的中值滤波器420以及下面的描述假定最后的排序阶段p5未被执行,即,最终输出仅被部分地排序。

中值滤波器420及它的相关联的排序电路420a通过在排序操作的多个阶段期间重用比较器而使用最小数目的比较器。该排序电路420a包括由比较器的单级(由比较器0、1、2、3构成)。来自每个比较器的最小输出和最大输出被耦合到寄存器。例如,来自比较器0的最小值被提供给寄存器0a的输入,并且来自比较器0的最大值被提供给寄存器0b的输入。寄存器1a、1b、2a、2b、3a、3b同样耦合到比较器1、2、3中的每一个。

由比较器提供给寄存器的数据值被锁存到时钟边沿上的寄存器中。(为了便于说明,未示出时钟信号。)可以向寄存器提供公共时钟,使得数据同时被锁存到寄存器的每一个寄存器中。备选地,可以将分离的时钟信号提供给一个或多个寄存器,以便根据需要将数据单独地锁存到寄存器中。

每个寄存器提供数据输出,如c0min,c0max,…c3max所示。这些数据输出中的每一个数据输出被提供给一个或多个多路复用器muxm0a,muxm0b,…muxm3b。在图4a的图示实施例中,除了仅具有2个输入的muxm0a和muxm3b之外,这些多路复用器各自具有4个输入。多路复用器中的每一个多路复用器使它的输出路由回到比较器输入(ain或bin)。例如,muxm0a的输出被耦合到比较器0的输入ain,而muxm0b的输出被耦合到比较器0的输入bin。

每个多路复用器基于选择(控制)输入确定将哪个输入路由到它的输出。控制信号s0a,s0b,...s3b由定序器422生成,并且被耦合到多路复用器的选择输入。该定序器422因此确定用于排序电路420a的每个阶段的路由。该控制信号s0a,s0b,...s3b由定序器422针对多个阶段中的每一个阶段生成,以便使用排序电路420a的比较器、寄存器以及多路复用器来实施排序算法(诸如图3的奇偶合并网络的排序算法)。

在执行5个排序阶段之后,来自输入序列x0...x7的两个正中数据值将在寄存器1b输出c1max和寄存器2a输出c2min处可用。图4b图示了这些输出值被提供给求和电路490,该求和电路490的求和被提供给移位器495。该移位器495有效地实现了除二(divide-by-2)操作。该求和器490和移位器495提供部分经排序的数据序列的两个正中点的平均值。该平均值可以被认为是输入数据序列的中值,并且是中值滤波器420的输出。

如由图4b的求和器490和移位器495所做的那样,对两个正中点进行平均表示当中值滤波器420在偶数个输入采样上操作时的优选实施例。在一个备选子实施例中,可以选择两个正中数据值中的一个(例如c1max)作为中值。在其他备选的子实施例中,奇数个输入数据值可以被提供给中值滤波器。对于这样的子实施例,可以直接产生经排序的序列的正中值而不需要对两个值进行平均或者从两个值中进行选择。应理解的是,虽然本文所描述的中值滤波技术是例如在输入数据序列内具有偶数个数据值,但是可以使用类似的技术来处置其中输入数据序列具有奇数个数据值的示例。对于这样的示例,比较器和多路复用器的数目是并且针对比较器输出中的每一个都需要寄存器,即需要w+1个寄存器。此外,对于其中存在奇数个输入数据值的这样的子实施例,通常不会省略最后阶段。

现在将对于图4a的排序电路420a结合表2中图示的路由来解释具体序列的阶段。

表2:对于不同阶段进行路由的多路复用器

针对初始阶段0,定序器422设置多路复用器,使得它们将输入数据值x0...x7路由到比较器输入。比较器每个比较它们的输入并且产生有次序的数据值对。这些有次序的数据值对被锁存到寄存器0a,0b,…3b中。比较结束后出现的时钟边沿用于将数据值锁存到寄存器中。在阶段0结束时,寄存器0a包含c0min=min(x0,x1),寄存器0b包含c0max=max(x0,x1),寄存器1a包含c1min=min(x2,x3),寄存器1b包含c1max=max(x2,x3)等。

在阶段1开始时,定序器422改变控制信号s0a,s0b,…s3b以改变多路复用器的路由。muxm0a被配置为将寄存器0a输出c0min路由到比较器0的输入a。mux0b被配置为将寄存器1a输出c1min路由到比较器0的输入b。如表2中所所详述,其他多路复用器类似地由定序器422以将来自寄存器输出的数据值路由到比较器输入。一旦这些路由设置完毕,比较器将比较它们相应的输入,并且在它们的输出处提供最小值和最大值。然后结果数据被锁存到寄存器中以准备下一阶段。

该过程继续进行阶段2,该阶段2包括与阶段1中相同的4次比较。如表2中所示路由多路复用器。

如表2中所示,在阶段3和阶段4期间不使用比较器0和3。它们可以在这些阶段期间被禁用,并且耦合到它们的输出的寄存器简单地不被锁存。备选地,寄存器可以利用路由通过它们的相同的数据继续被锁存。

如图3的奇偶合并网络340中所示的阶段5的实施方式,可以在类似于图4a中所示的排序电路中经由附加寄存器、附加的另一比较器、或附加的多路复用器输入来完成。

上面所描述的实施例使用具有最小数目的输入的多路复用器。虽然这导致更小的多路复用器以及多路复用器的相关联小裸片的分配,但多路复用器可能不容易由公共控制信号控制。如图4a中图示,分离的控制信号s0a,s0b,…s3b由定序器422生成并且被提供给多路复用器中的每一个多路复用器。表1中存在一些明显的对称,可以利用这些对称来重用一些控制信号。例如,相同的控制信号可以用于提供给muxm0a和muxm3b的控制信号s0a,s3b。然而,图4a中图示的拓扑结构不容易支持所有多路复用器的公共选择控制信号。

图5图示了一个备选实施例,其中多路复用器muxm0a,muxm0b…muxm3b由定序器522生成的公共控制信号sel控制。为了便于说明并且避免重复,仅示出了定序器522和4个多路复用器muxm0a,muxm0b,muxm1a,muxm1b。剩余的多路复用器muxm2a,muxm2b,muxm3a,muxm3b被配置并且以类似方式连接到图示的多路复用器。图5中未图示出的排序电路520的组件(例如,比较器和寄存器),可以假定为与图4a中所示相同。

图示的多路复用器每个具有5个输入。尽管结果的多路复用器多于图4中图示的排序电路420a的多路复用器,但是图5的排序电路520相对于图4的排序电路以其他方式被简化。明显地,公共控制信号sel可由定序器522生成,并且用于控制所有的多路复用器,由此减少所需电连接的数目,并且简化了定序器522内的控制信号生成逻辑。定序器522的控制信号生成逻辑可以被实施为有限状态机。图5图示的定序器522包括用于生成控制信号sel的mod-5计数器524。如果多路复用器输入被适当地布置,则由该计数器524提供的计数可循环通过每个多路复用器muxm0a,muxm0b,muxm1a,muxm1b,muxm2a,muxm2b,muxm3a,muxm3b,mux的多路复用器输入0...…s5。

图6图示了用于对输入数据值进行排序和/或执行中值滤波的方法600的一个实施例。该方法600可以在中值滤波器或排序电路内实现,诸如图4a和4b或图5中图示的那些。数据采样的输入序列可以取自移位寄存器(诸如图1的移位寄存器130),它在更大序列的输入数据上实现了一个滑动窗口。对于这样的场景,通常将对移位到移位寄存器中的每个新数据采样或对于移位到移位寄存器中的输入数据采样的每个块重复方法600。虽然对数据采样的输入序列的排序可以被认为是中值滤波操作的副作用,但是应当理解,排序本身可以是该技术的主要目标,在这种情况下,不需要确定中值。

在第一步骤中,阶段被初始化610,例如,p=0。接着,多路复用器选择控制信号被设置620,以便根据当前阶段p将多路复用器输入数据值路由到比较器输入。由于适当的比较器输入如此路由,每个比较器然后比较630它的输入值,并且提供这些输入值在最小输出处和最大输出处的最小值和最大值。耦合到比较器输出的寄存器锁存640在比较器输出处提供的数据值。这可能响应于提供给寄存器时钟输入的时钟边沿。然后,阶段p递增650并且检查660以查看该阶段是否是最后需要的阶段plast。如果不是,那么该方法继续设置620多路复用器控制选择信号的步骤。否则,该方法继而根据存储在寄存器中的经排序或部分经排序的序列的中点来确定670中值。(中值的确定670被示出为可选的,因为如果该方法的主要目的是提供经排序的序列,则可能不需要该中值。)

如果该方法600主要被用于中值滤波,那么部分经排序的序列可能是足够的。如果该方法被用于生成经排序的序列,则可能需要完全经排序的序列。在可选步骤680中,输出经排序或部分经排序的序列。应注意,部分经排序的序列隐式地包含中值。应注意,最后阶段plast的设置可能取决于是否需要完整的排序。对于完整的排序,最后阶段plast通常将比执行中值滤波和部分排序时使用的最后阶段plast大一个阶段。

图7图示了一个无线通讯系统700,其中可以使用先前所描述的中值滤波器。该无线系统700包括一个或多个无线设备710和一个或多个网络节点720。该无线设备710可以是用户装备(ue)、移动终端、机器类型通信(mtc)设备、蜂窝电话、膝上型计算机等。该无线设备710使用射频与网络节点720进行通信。该无线设备710包括中值滤波器715,该中值滤波器715使用本文所描述的技术来实施,例如结合图4a、4b、5和6中所描述。该无线设备710可以包括各种传感器(诸如加速计、磁力计、陀螺仪、温度计、气压计、接近传感器、或光传感器)。这些或其他传感器中的任何一个趋向产生噪声传感器信号,这通常需要被滤波。使用本文所描述的技术的非线性中值滤波器715适用于许多情况下的这种传感器信号滤波。

无线设备710通常包括显示器和音频输入/输出设备。呈现给显示器的图像可以受益于使用中值滤波器715进行处理。此外,音频信号(例如输入到无线设备710的麦克风的语音音频)经常需要各种滤波,这可以使用中值滤波器715来实施。

无线设备710还包括用于与网络节点720无线通信的组件(诸如接收器、发射器、调制器、解调器)。这些组件一般在无线通信领域内是公知的,并且将不在本文中详细描述。这些组件包括滤波器(例如接收器内的频带选择滤波器),以及发射抑制滤波器以阻止在发射器处带外射频(rf)发出。这些滤波器可以有利地使用中值滤波器715来实施。

网络节点720可以是与无线设备710无线通信的无线电基站。该网络节点720包括使用本文所描述的技术的中值滤波器725。无线电基站包括类似于用于无线通信的无线设备710的组件(例如接收器、发射器、调制器和解调器)。该中值滤波器725可以用于与无线设备710的中值滤波器715所描述的目的类似的目的。

图8图示了数据中心800,该数据中心800表示用于中值滤波的另一应用。该数据中心800包括一个或多个服务器810、820。该服务器810包括中值滤波器815,该中值滤波器815使用上面所描述的技术来实现。该中值滤波器815可以用于对使用网络接口811输入到服务器的数据进行排序或滤波。该中值滤波器815在对大量数据进行排序时可能是有用的,例如,如在处理所谓的“大数据”中所需的,这可以经由网络接口811提供给服务器810。附加地,服务器810可以具有它的自身操作所需的传感器812。例如,温度传感器可以用于服务器810的温度控制或控制服务器810内的处理器的速度或其他电路。该中值滤波器815可以用于滤波这种温度传感器或其他传感器812的输出。

如本文所使用,术语“具有”、“包含”、“包括”、“包括…”等是开放式术语,它们指示存在所申明的元件或特征,但不排除其他元件或特征。词语“一”、“一个”和“该”旨在包括复数个以及单数个,除非上下文另有明确指示。

应理解的是,除非另有特别指出,否则本文所描述的各种实施例的特征可以彼此组合。

尽管本文已经说明和描述了具体实施例,但是本领域的普通技术人员将会理解,在不脱离本发明的范围的情况下,各种备选和/或等同的实施方式可以取代所示和所描述的具体实施例。本申请旨在覆盖本文所讨论的具体实施例的任何改编或变化。因此,旨在于本发明仅由权利要求及其等同物来限制。

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