一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于真值表的中值滤波方法、系统及相关装置与流程

2022-02-21 03:41:48 来源:中国专利 TAG:


1.本技术涉及数据处理领域,特别涉及一种基于真值表的中值滤波方法、系统及相关装置。


背景技术:

2.在伺服系统或其他数字控制平台中,由于离散化的采样方式以及各种传感器的物理设计原理和环境影响等因素,不可避免的存在信号噪声问题,噪声的引入会导致系统的控制性能受到影响,因此,为了消除噪声的问题,需要在数字控制平台中引入相应的滤波手段,其中,比较基本的滤波方式是中值 均值的组合滤波方式,首先通过中值滤波的方式检出并筛除极值(最大值和最小值)的方式,减小外部噪声的最大和最小干扰,再通过均值滤波求和取平均的方式使得被处理信号的波动尽可能的减小从而达到较好的滤波效果。
3.常见控制平台,如dsp、arm等要实现中值滤波,往往需要通过相关算法(如冒泡法、快速排序、归并排序等)对被滤波的数据进行大小排序,去掉最大值和最小值。由于排序法的比较次数较多,对于串行计算的控制平台来说,效率不高,往往需要十几到几十个系统时钟才能完成相关的滤波工作。这对于实时性要求高的控制系统来说,运算时间相对较多,效率不高。


技术实现要素:

4.本技术的目的是提供一种基于真值表的中值滤波方法、系统、计算机可读存储介质和电子设备,能够提高中值滤波效率。
5.为解决上述技术问题,本技术提供一种基于真值表的中值滤波方法,具体技术方案如下:
6.获取输入数据;
7.建立所述输入数据两两之间的比较真值表;
8.根据所述比较真值表建立所述输入数据的极值查找表;
9.利用所述比较真值表中的第一comp数值和所述极值查找表中第二comp数值比较,确认所述输入数据的大小顺序;
10.根据所述大小顺序将所述输入数据中的极值删除。
11.可选的,根据所述比较真值表建立所述输入数据的极值查找表包括:
12.从所述比较真值表中获取所述第一comp数值;
13.计算所述第一comp数值在不同极值组合下的第二comp数值,以得到极值查找表。
14.可选的,建立所述输入数据两两之间的比较真值表包括:
15.利用fgpa并行计算两两输入数据之间的比较真值并建立比较真值表。
16.可选的,根据所述比较真值表建立所述输入数据的极值查找表包括:
17.利用所述fgpa的case分支并根据所述比较真值表建立所述输入数据的极值查找表。
18.本技术还提供一种基于真值表的中值滤波系统,包括:
19.获取模块,用于获取输入数据;
20.比较模块,用于建立所述输入数据两两之间的比较真值表;
21.极值查找模块,用于根据所述比较真值表建立所述输入数据的极值查找表;
22.顺序确定模块,用于利用所述比较真值表中的第一comp数值和所述极值查找表中第二comp数值比较,确认所述输入数据的大小顺序;
23.滤波模块,用于根据所述大小顺序将所述输入数据中的极值删除。
24.可选的,所述极值查找模块包括:
25.获取单元,用于从所述比较真值表中获取所述第一comp数值;
26.计算单元,用于计算所述第一comp数值在不同极值组合下的第二comp数值,以得到极值查找表。
27.可选的,所述比较模块为用于利用fgpa并行计算两两输入数据之间的比较真值并建立比较真值表的模块。
28.可选的,所述极值查找模块为利用所述fgpa的case分支并根据所述比较真值表建立所述输入数据的极值查找表的模块。
29.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
30.本技术还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
31.本技术提供一种基于真值表的中值滤波方法,包括:获取输入数据;建立所述输入数据两两之间的比较真值表;根据所述比较真值表建立所述输入数据的极值查找表;利用所述比较真值表中的第一comp数值和所述极值查找表中第二comp数值比较,确认所述输入数据的大小顺序;根据所述大小顺序将所述输入数据中的极值删除。
32.本技术通过进行被滤波数据的逻辑比较建立真值表,经过逻辑判断快速确定数据的极值并予以筛除,实现数据的并行比较并快速确定数据排序,时间消耗小,大大提升了滤波运算效能。本技术还提供一种基于真值表的中值滤波系统、计算机可读存储介质和电子设备,具有上述有益效果,此处不再赘述。
附图说明
33.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本技术实施例所提供的一种基于真值表的中值滤波方法的流程图;
35.图2为本技术实施例所提供的一种基于真值表的中值滤波系统结构示意图。
具体实施方式
36.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
37.请参考图1,图1为本技术实施例所提供的一种基于真值表的中值滤波方法的流程图,该方法包括:
38.s101:获取输入数据;
39.s102:建立输入数据两两之间的比较真值表;
40.本步骤旨在建立比较真值表,即将输入数据两两进行比对,根据其结果为真则为1,为假则为0。在此对于具体的比对过程不做限定,通常可以采用大于等于判断,或者小于等于判断。本步骤仅要求任意两个输入数据均进行比对,且任意两个输入数据之间的大小关系可以通过比较真值表唯一确定。但并非一定要确定到具体关系,例如确定a不小于b一样可以。
41.s103:根据比较真值表建立输入数据的极值查找表;
42.本步骤旨在建立极值查找表,换句话说,即将输入数据中任意两个数据均分别假设为极大值和极小值进行判断。
43.优选的,本步骤可以按照如下两个步骤执行:
44.s1031:从比较真值表中获取第一comp数值;
45.s1032:计算第一comp数值在不同极值组合下的第二comp数值,以得到极值查找表。
46.举例而言,当前存在abcd四个输入数据,本步骤则需要假设a为极大值、b为极小值时四个数据两两之间的大小比对真值结果,以及a为极大值、c为极小值时,a为极大值、d为极小值时,b为极大值、a为极小值时,b为极大值、c为极小值时,b为极大值、d为极小值时,c为极大值、a为极小值时,c为极大值、b为极小值时,c为极大值、d为极小值时,d为极大值、a为极小值时,d为极大值、b为极小值时,d为极大值、c为极小值时等总共十二种情况的极值查找表。
47.s104:利用比较真值表中的第一comp数值和极值查找表中第二comp数值比较,确认输入数据的大小顺序;
48.第一comp数值指代各两两数据比对,本步骤实际需要比对比较真值表和极值查找表,看看哪一组极值查找表的结果符合比较真值表的结果,借此可以直接确定极大值和极小值。
49.此外,由于极值查找表中两两数据的大小关系已经确定,不仅可以确定极大值和极小值,实际上所有输入数据之间的大小关系已经唯一确定。
50.s105:根据大小顺序将输入数据中的极值删除。
51.在确定极值后,即可将极值(包括极大值和极小值)删除,以实现滤波。
52.在上述实施例的基础上,执行步骤s102时可以利用fgpa并行计算两两输入数据之间的比较真值并建立比较真值表,进一步,在执行s103时可以利用fgpa的case分支并根据比较真值表建立输入数据的极值查找表,至此,可以利用fpga的并行逻辑计算功能,使得整个计算过程在一个时钟内完成,运算时间开销短,大大提高了滤波效率。
53.本技术实施例通过进行被滤波数据的逻辑比较建立真值表,经过逻辑判断快速确定数据的极值并予以筛除,实现数据的并行比较并快速确定数据排序,时间消耗小,大大提
升了滤波运算效能。
54.下文以一种具体的应用过程对本技术提供的一种基于真值表的中值滤波方法加以说明:
55.设目前有4个数据,分别为in1、in2、in3、in4。需要从四个数中去掉极大值和极小值。
56.步骤一,首先建立输入数据的比较真值表,如下表1所示:
57.表1比较真值表
58.in1》=in2?comp[0]in1》=in3?comp[1]in1》=in4?comp[2]in2》=in3?comp[3]in2》=in4?comp[4]in3》=in4?comp[5]
[0059]
表1中,comp是一个6位的变量,comp[0]代表comp变量的第0位,它代表输入数据in1与in2的比较结果,若in1数据大于等于in2,则comp[0]位设置为1,表示“逻辑真”,否则为0,表示“逻辑假”;comp[1]代表comp变量的第1位,它代表输入数据in1与in3的比较结果,若in1数据大于等于in3,则comp[1]位设置为1,表示“逻辑真”,否则为0,表示“逻辑假”,依次类推。根据4个输入数据的大小,建立相应的真值表,最终获得comp变量的6个位的设置值comp。
[0060]
步骤二,建立4个输入数据的极值查找表。如下表2所示:
[0061]
表2极值查找表
[0062][0063][0063]
[0064][0065][0065]
[0066][0067][0067][0068]
上表中统计了所有极值情况下对应的comp变量组合,表中“任意”字样表示,表格
中对应的数据大小关系可随意,并不影响数组极值的判断结果,“x”的数值既可以为0,也可以为1。因此,若已经通过表1获得了4个输入数据比较后对应的comp数值,即可与表2中个中极值对应的comp组合进行比较和匹配,从而确定出这4个数据的对应排序关系。
[0069]
步骤三,根据步骤1中获得的comp数值,通过与步骤二中预先建立的查找表(各种极值组合下的comp对应数据值)中给出的comp值进行比较和匹配,从而确定输入数据的排序关系,找到数据中的极大值和极小值并予以筛除。
[0070]
由于表2中的极值查找表可以通过推导提前获得,因此,在实际运算并不占用任何开销,在采用fpga平台运算时,表1的变量comp中每个位的运算可以同步进行,因此仅用1个时钟周期即可完成运算,在获取comp值之后,通过case分支判断进行步骤二中的查表判断,即可确定输入数据中的极值,并予以筛除,若使用fpga进行逻辑判断,整个过程可以在一个时钟内完成,运算时间开销短,效率高。
[0071]
下面对本技术实施例提供的一种基于真值表的中值滤波系统进行介绍,下文描述的中值滤波系统与上文描述的一种基于真值表的中值滤波方法可相互对应参照。
[0072]
参见图2,本技术还提供一种基于真值表的中值滤波系统,包括:
[0073]
获取模块100,用于获取输入数据;
[0074]
比较模块200,用于建立所述输入数据两两之间的比较真值表;
[0075]
极值查找模块300,用于根据所述比较真值表建立所述输入数据的极值查找表;
[0076]
顺序确定模块400,用于利用所述比较真值表中的第一comp数值和所述极值查找表中第二comp数值比较,确认所述输入数据的大小顺序;
[0077]
滤波模块500,用于根据所述大小顺序将所述输入数据中的极值删除。
[0078]
可选的,所述极值查找模块300包括:
[0079]
获取单元,用于从所述比较真值表中获取所述第一comp数值;
[0080]
计算单元,用于计算所述第一comp数值在不同极值组合下的第二comp数值,以得到极值查找表。
[0081]
可选的,所述比较模块200为用于利用fgpa并行计算两两输入数据之间的比较真值并建立比较真值表的模块。
[0082]
可选的,所述极值查找模块300为利用所述fgpa的case分支并根据所述比较真值表建立所述输入数据的极值查找表的模块。
[0083]
本技术还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0084]
本技术还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
[0085]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0086]
本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
[0087]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献