数据处理方法、装置、终端设备以及存储介质与流程

文档序号:25042832发布日期:2021-05-14 11:15阅读:112来源:国知局
数据处理方法、装置、终端设备以及存储介质与流程

1.本发明涉及数据处理技术领域,特别涉及一种数据处理方法、装置、终端设备以及计算机可读存储介质。


背景技术:

2.快速傅里叶变换(fast fourier transform,fft)广泛应用在信号处理、图像处理和数据压缩等领域。由于,不同的应用场景和应用条件下,所需的fft变换长度不同,例如,可能需要64点fft、1024点fft或2048点fft。
3.相关技术中心,公布了一种数据处理方法,用于终端设备,终端设备具有fpga,利用fpga进行fft运算,获得结果数据。
4.但是,采用现有的数据处理方法,终端设备的功耗较高。


技术实现要素:

5.本发明的主要目的是提供一种数据处理方法、装置、终端设备以及计算机可读存储介质,旨在解决现有技术中采用现有的数据处理方法,终端设备的功耗较高的技术问题。
6.为实现上述目的,本发明提出一种数据处理方法,用于终端设备,所述终端设备包括具有可重构区域的fpga;所述数据处理方法包括以下步骤:
7.接收第一目标数据;
8.确定所述第一目标数据的快速傅里叶变换的变换长度;
9.利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域;
10.在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据。
11.可选的,所述利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤之前,所述方法还包括:
12.确定所述第一目标数据对应的快速傅里叶变换的运算架构;
13.所述利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤包括:
14.利用所述变换长度和所述运算架构对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
15.可选的,所述利用所述变换长度和所述运算架构对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤之前,所述方法还包括:
16.确定所述第一目标数据对应的快速傅里叶变换的蝶形算法;
17.所述利用所述变换长度和所述运算架构对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤包括:
18.利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所
述可重构区域进行重构,获得目标运算区域。
19.可选的,所述利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤之前,所述方法还包括:
20.判断所述可重构区域是否处于闲置状态;
21.所述利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤包括:
22.在所述可重构区域处于闲置状态时,利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
23.可选的,所述终端设备还包括处理器;所述判断所述可重构区域是否处于闲置状态的步骤之后,所述方法还包括:
24.在所述可重构区域未处于闲置状态时,在所述处理器内,对所述第一目标数据进行快速傅里叶变换,获得第二结果数据。
25.可选的,所述在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据的步骤之后,所述方法还包括:
26.在接收到第二目标数据时,基于所述第二目标数据,获得目标重构算法;
27.利用所述目标重构算法,对所述目标运算区域进行重构,获得目标重构区域;
28.在所述目标重构区域内,对所述第二目标数据进行处理,获得第三结果数据。
29.可选的,所述运算架构为串行架构、并行流水线架构和混合架构中的一种;所述蝶形算法为radix

2和radix

4中的一种。
30.此外,为实现上述目的,本发明还提出了一种数据处理装置,用于终端设备,所述终端设备包括具有可重构区域的fpga;所述装置包括:
31.接收模块,用于接收第一目标数据;
32.确定模块,用于确定所述第一目标数据的快速傅里叶变换的变换长度;
33.重构模块,用于利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域;
34.获得模块,用于在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据。
35.此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:具有可重构区域的fpga、存储器、处理器及存储在所述存储器上并在所述处理器上运行数据处理程序,所述数据处理程序被所述处理器执行时实现如上述任一项所述的数据处理方法的步骤。
36.此外,为实现上述目的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上述任一项所述的数据处理方法的步骤。
37.本发明技术方案提出了一种数据处理方法,用于终端设备,所述终端设备包括具有可重构区域的fpga;所述数据处理方法包括以下步骤:接收第一目标数据;确定所述第一目标数据的快速傅里叶变换的变换长度;利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域;在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据。由于,现有的终端设备中的fpga为了适应不同变
换长度的快速傅里叶变换运算,具有多个运算区域(每一个运算区域对应一个变换长度的快速傅里叶变换)或一运算区域(该运算区域集成全部变换长度的快速傅里叶变换),终端设备进行数据处理时,若fpga具有多个运算区域,多个运算区域均需要电能供给,若fpga具有一个运算区域时,由于该运算区域要同时支持所有的变换长度,所以该运算区域需要额外的电能消耗,电能消耗也较多;而本发明的终端设备具有的fpga只需要设置一个可重构区域,基于目标数据的变换长度,对可重构区域进行重构,以使获得的目标运算区域,该目标区域只包括一个变换长度的快速傅里叶变换,并在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换;相较于现有的fpga具有多个运算区域,终端设备只需要对fpga包括的一个运算区域供电,终端设备的功耗较低;同时,相较于现有的fpga具有的一个运算区域(该运算区域集成全部变换长度的快速傅里叶变换),本申请的目标运算区域只针对一个变换长度的快速傅里叶变换进行配置,终端设备的功耗也较低,所以,利用本发明的数据处理方法,达到了降低终端设备功耗的技术效果。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
39.图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
40.图2为本发明数据处理方法第一实施例的流程示意图;
41.图3为本发明数据处理装置第一实施例的结构框图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.相关技术中,终端设备安装有fft运算程序,采用fft运算程序可以灵活配置fft的变化长度、运算架构和蝶形算法等,但是,fft运算为计算密集型的运算,利用fft运算程序进行数据处理时,需要处理器具有较高的运算速度,同时,利用fft运算程序进行数据处理,fft会占用大量处理器资源。
45.参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。
46.终端设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(user equipment,ue)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobile station,ms)等。终端设备可能被称为用户终端、便携式终端、台式终端等。
47.通常,终端设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现如前所述的数据处
理方法的步骤。终端设备还包括具有可重构区域的fpga307,其中,fpga307中还可以包括其他可重构区域或不可重构区域,分别用于实现不同的功能和不同的运算。
48.处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关数据处理方法操作,使得数据处理方法模型可以自主训练学习,提高效率和准确度。
49.存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的数据处理方法。
50.在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。
51.通信接口303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
52.射频电路304用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括nfc(near field communication,近距离无线通信)有关的电路,本申请对此不加以限定。
53.显示屏305用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,
显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用lcd(liquidcrystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
54.电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
55.本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
56.此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上文所述的数据处理方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个终端设备上执行,或者在位于一个地点的多个终端设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端设备上执行。
57.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
58.基于上述硬件结构,提出本发明数据处理方法的实施例。
59.参照图2,图2为本发明数据处理方法第一实施例的流程示意图,所述方法用于终端设备,所述终端设备包括具有可重构区域的fpga;所述方法包括以下步骤:
60.步骤s11:接收第一目标数据。
61.需要说明的是本发明的执行主体是终端设备,终端设备的结构参照上述描述,此处不再赘述。第一目标数据可以是用户发送的,也可以是其他与终端设备连接的电子设备发送的,还可以是终端设备的其他程序发送的,本发明不做限制。通常,终端设备会对原始数据(例如原始信号、原始图像和待压缩数据等),进行快速傅里叶变换(下文均用fft代指),以获得原始数据处理后的结果数据,通常,数据的流程可以是数据源、原始数据、中间数据(进行快速傅里叶变换的数据)、结果数据和后续处理数据等,本发明的数据处理即是指中间数据对应的快速傅里叶变换部分,通常获取到第一目标数据即为待进行快速傅里叶变换的原始数据。
62.另外,第一目标数据进行fir(finite impulse response,有限长单位冲激响应滤波)滤波运算时,也可以参照本发明的数据处理方法,即,将fft替换为fir即可,其它的方法进行适应性调整即可。
63.步骤s12:确定所述第一目标数据的快速傅里叶变换的变换长度。
64.需要说明的是,快速傅里叶变换的变换长度可以包括64点、128点、512点、1024点、
2048点和4096点等,不同的傅里叶变换长度对应不同的快速傅里叶变换,所以需要确定第一目标数据所对应的快速傅里叶变换的变换长度。
65.步骤s13:利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
66.需要说明的是,通常可重构区域已具有一定功能,例如其他数据处理功能,或非对应变换长度的fft,此时需要对可重构区域进行重构,以获得目标运算区域,由于目标运算区域是利用所述变换长度对应的快速傅里叶变换进行重构的,所以,目标运算区域恰好可以对所述第一目标数据进行处理。
67.进一步的,步骤s13之前,所述方法还包括:确定所述第一目标数据对应的快速傅里叶变换的运算架构;相应的,步骤s13包括:利用所述变换长度和所述运算架构对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
68.需要说明的是,fft的运算架构不同,对应的fft不同,需要根据运算架构和变换长度一起确定对应的fft,其中,fft的运算架构可以包括串行架构、并行流水线架构或混合架构(部分串行架构和部分并行流水线架构的组合形式),具体应用时,只需要确定一种运算架构即可,即三选一,即,此时的fft需要两个参数来确定:运算架构和变换长度。
69.进一步的,步骤s13之前,所述方法还包括:确定所述第一目标数据对应的快速傅里叶变换的蝶形算法;相应的,步骤s13包括:利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
70.需要说明的是,fft运算的蝶形算法不同,对应的fft不同,需要根据第一目标数据,确定所述第一目标数据对应的快速傅里叶变换的蝶形算法,并利用所述变换长度、所述运算架构和所述蝶形算法三个一起对应的快速傅里叶变换,对所述fpga的所述可重构区域进行重构,其中,蝶形算法包括radix

2和radix

4,具体应用时,只需要确定一种蝶形算法即可,二选一,即,此时的fft需要三个参数来确定:变换长度、运算架构和蝶形算法。
71.例如,第一目标数据对应的变换长度为64点,运算架构为串行架构,蝶形算法为radix

4,则利用64点、串行架构和radix

4对应的a类型fft对fpga的所述可重构区域进行重构,获得目标运算区域;又如,第一目标数据对应的变换长度为2048点,运算架构为混合架构,蝶形算法为radix

2,则利用2048点、混合架构和radix

2对应的b类型fft对fpga的所述可重构区域进行重构,获得目标运算区域。
72.可见,只需要一个重构区域就可以实现多种变换长度、多种运算架构和多种蝶形算法组合后对应的fft各种功能,降低了fpga的制作成本和功耗成本,同时具有较高的灵活性。
73.进一步的,所述利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤之前,所述方法还包括:判断所述可重构区域是否处于闲置状态;相应的,所述利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域的步骤包括:在所述可重构区域处于闲置状态时,利用所述变换长度、所述运算架构和所述蝶形算法对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
74.当可重构区域处于闲置状态时,对可重构区域进行重构,不会对终端设备的运行或数据处理产生不利的影响,此时,利用所述变换长度、所述运算架构和所述蝶形算法对应
的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域。
75.步骤s14:在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据。
76.需要说明的是,在目标运算区域获得之后,即可对第一目标数据进行对应的快速傅里叶变换,获得第一结果数据。
77.本实施例技术方案提出了一种数据处理方法,用于终端设备,所述终端设备包括具有可重构区域的fpga;所述数据处理方法包括以下步骤:接收第一目标数据;确定所述第一目标数据的快速傅里叶变换的变换长度;利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域;在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据。由于,现有的终端设备中的fpga为了适应不同变换长度的快速傅里叶变换运算,具有多个运算区域(每一个运算区域对应一个变换长度的快速傅里叶变换)或一运算区域(该运算区域集成全部变换长度的快速傅里叶变换),终端设备进行数据处理时,若fpga具有多个运算区域,多个运算区域均需要电能供给,若fpga具有一个运算区域时,由于该运算区域要同时支持所有的变换长度,所以该运算区域需要额外的电能消耗,电能消耗也较多;而本发明的终端设备具有的fpga只需要设置一个可重构区域,基于目标数据的变换长度,对可重构区域进行重构,以使获得的目标运算区域,该目标区域只包括一个变换长度的快速傅里叶变换,并在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换;相较于现有的fpga具有多个运算区域,终端设备只需要对fpga包括的一个运算区域供电,终端设备的功耗较低;同时,相较于现有的fpga具有的一个运算区域(该运算区域集成全部变换长度的快速傅里叶变换),本申请的目标运算区域只针对一个变换长度的快速傅里叶变换进行配置,终端设备的功耗也较低,所以,利用本发明的数据处理方法,达到了降低终端设备功耗的技术效果。
78.同时,避免了利用处理器利用fft运算程序进行fft运算时,消耗过的处理器资源,从而减轻了终端设备的处理器负载,提高了终端设备的处理器运行速度。
79.进一步的,所述终端设备还包括处理器;所述判断所述可重构区域是否处于闲置状态的步骤之后,所述方法还包括:在所述可重构区域未处于闲置状态时,在所述处理器内,对所述第一目标数据进行快速傅里叶变换,获得第二结果数据。
80.通常,终端设备安装有fft运算程序,该fft运算程序被处理器执行时,可以分别进行不同变换长度、不同运算架构和不同蝶形算法的fft,即,fft运算程序可灵活配置变换长度、运算架构和蝶形算法。当可重构区域未处于闲置状态,即,可重构区域正在用于处理其他事项,若对可重构区域进行重构,会对终端设备的运行或数据处理产生不利的影响,此时,不能对可重构区域进行重构,需要处理器利用fft运算程序,配置对应的变换长度、运算架构和蝶形算法,并利用配置后的fft运算程序进行fft运算,以获得第二结果数据。
81.终端设备灵活性较好,既可以通过fpga进行fft运算,也可以通过处理器进行fft运算,提高了用户体验。
82.进一步的,步骤s14之后,所述方法还包括:在接收到第二目标数据时,基于所述第二目标数据,获得目标重构算法;利用所述目标重构算法,对所述目标运算区域进行重构,获得目标重构区域;在所述目标重构区域内,对所述第二目标数据进行处理,获得第三结果数据。
83.需要说明的是,当获得第二目标数据时,第二目标数据对应的目标重构算法可以是fft也可以是其他类型算法,通常,本发明实施例的第二目标数据对应的算法是非fft,此时需要利用第二目标数据对应的目标重构算法,对目标运算区域(利用fft对可重构区域重构获得)再次进行重构,获得目标重构区域,以在目标重构区域对第二目标数据进行处理,获得第三结果数据。
84.终端设备的fpga中的可重构区域还可以利用非fft算法进行重构,获得新的目标重构区域,以进行其他类型的数据处理,终端设备的灵活性较好。
85.参照图3,图3为本发明数据处理装置第一实施例的结构框图,所述装置包括:
86.接收模块10,用于接收第一目标数据;
87.确定模块20,用于确定所述第一目标数据的快速傅里叶变换的变换长度;
88.重构模块30,用于利用所述变换长度对应的快速傅里叶变换,对所述可重构区域进行重构,获得目标运算区域;
89.获得模块40,用于在所述目标运算区域内,对所述第一目标数据进行快速傅里叶变换,获得第一结果数据。
90.以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1