[发明专利]一种基于GPU加速的提高振动数据传输带宽方法在审
申请号: | 202011153850.7 | 申请日: | 2020-10-26 |
公开(公告)号: | CN113034339A | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 刘隆波;彭军;程红伟;袁玉道;刘文浩;王思文;贺喆;王大翊;刘鹏鹏;熊玲 | 申请(专利权)人: | 中国人民解放军92942部队;同方试验技术(北京)有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 廖辉 |
地址: | 100161 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 加速 提高 振动 数据传输 带宽 方法 | ||
1.一种基于GPU加速的提高振动数据传输带宽方法,其特征在于,该方法采用GPU压缩算法模块将数据体积进行压缩,数据在传输之后使用GPU解压缩算法模块将数据无损还原;
所述GPU压缩算法模块根据振动数据的交变特性从而省去符号位,再根据采集器的分辨率和归一化记录方式进行大比例压缩数据;压缩的计算过程中将数据以图像RGBA的形式上传到显卡,利用OpenGL渲染的手段进行压缩计算,然后再将得到的图像传回本地内存,打包到数据结构中完成压缩;所述GPU解压缩算法是将压缩数据包中记录的值根据压缩算法的逻辑对数据先进行模量还原,再根据振动数据交变特性进行符号还原。
2.如权利要求1所述的基于GPU加速的提高振动数据传输带宽方法,其特征在于,所述GPU压缩算法模块实现的步骤包括:
第一步:写入用于识别数据包的起始位置包头信息(0x0A 0x55);
第二步:写入灵敏度,0x01表示16bit,0x02表示32bit;
第三步:写入首值符号,取源数据的第一个数的符号位直接写入;0x00表示‘+’,0x01表示‘-’;
第四步:写入绝对值的最大值,遍历源数据的绝对值计算出最大值以8字节Double类型写入,用|A|max表示;
第五步:写入数据量;遍历源数据,统计出源数据的个数N并写入;
第六步:GPU渲染准备;
第七步:GPU渲染完成后将数据写入数据结构中。
3.如权利要求2所述的基于GPU加速的提高振动数据传输带宽方法,其特征在于,所述第六步中GPU渲染准备的过程包括
①创建OpenGL渲染上下文,用来表示当前渲染所运行的环境;
②创建顶点,选用4个顶点用来创建两个三角形最终组成一个正方形;
③创建帧缓存,创建完成后设置该帧缓存为OpenGL渲染上下文的目标帧缓存;
④创建纹理对象,使用OpenGL创建纹理对象的函数创建,设置纹理的采样模式为近邻采样,重复模式可以取默认重复模式,然后绑定到对应的纹理单元GL_TEXTUREi上,其中i的取值0,1,……,31;
⑤创建顶点着色器和片元着色器对象,使用OpenGL对应的函数进行创建,并将着色器绑定到当前上下文。
4.如权利要求3所述的基于GPU加速的提高振动数据传输带宽方法,其特征在于,所述第七步中GPU渲染的过程包括
①将原始数据通过拷贝到图像中的像素而得到封装数据的图像,再调用OpenGL上传纹理数据的函数将图像上传到创建的对应纹理单元中,上传格式选择GL_RGBA32F_ARB;
②在片元着色器中,对输入的第i张纹理进行采样,得到像素值R,G,B和A四个值,再对这四个值进行计算,分别代入n=|D|/|A|max*216中的D求出n,得到Rn,Gn,Bn和An,写入着色代码的内建变量gl_FragColor中;
③使用OpenGL函数编译片元着色器开始渲染;渲染完成后得到的结果数据就在帧缓存的附件中,再使用OpenGL的下载数据的函数,将数据从显存拷贝到本地内存;
④改变i的值,将渲染、下载数据共进行32次;
⑤将得到的数据依次解出,写入数据结构中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军92942部队;同方试验技术(北京)有限公司,未经中国人民解放军92942部队;同方试验技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011153850.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体晶片切割方法
- 下一篇:封装结构及其制作方法