一种适用于矩量法的近场数据快速无损压缩存储方法
文献发布时间:2023-06-19 12:19:35
技术领域
本发明涉及电磁环境数据存储,特别是涉及一种适用于矩量法的近场数据快速无损压缩存储方法。
背景技术
电磁环境数据库在进行设备测试、场景模拟等情况下具有着非常重要的作用,电磁环境数据库中的数据主要包含天线的近场数据和远场数据;
对于近场数据而言,一般通过传统矩量法得到的天线近场数据,但是这些数据占用硬盘空间很大,具有很大的冗余,且数据格式不适用于海量数据存储,也不适用于对存储长度要求非常严格的场合。
发明内容
本发明的目的在于克服现有技术的不足,提供一种适用于矩量法的近场数据快速无损压缩存储方法,能够有效降低近场数据的存储空间,且数据格式能够适用于海量数据的存储。
本发明的目的是通过以下技术方案来实现的:一种适用于矩量法的近场数据快速无损压缩存储方法,包括以下步骤:
S1.加载CAD网格模型:
从nastran格式的目标对象网格模型文件中提取CAD面元网格模型的点列表和点连接列表,设置材料的电磁参数信息和模型激励源参数,完成电磁模型创建工作;
优选地,所述目标对象包括天线、电路,或天线与电路形成的复杂组合体。
S2.将提取的CAD面元网格模型、设置的材料电磁参数信息,以及激励源参数转换成系统矩阵[A]
S3.确定CAD面元网格模型的点列表中每个网格顶点电场和磁场的近场计算公式,并据此计算出每个网格顶点电场和磁场;
S4.将步骤S1得到CAD面元网格模型的点列表和点连接列表导出网格数据文件;并将步骤S3得到的每个网格顶点的近场电场和磁场数据导出成近场数据文件;
S5.将导出近场数据文件和导出的网格数据文件读取进内存,分别建立CAD面元网格模型每个网格顶点与近场数据文件中电场和磁场数据的映射;
S6.对内存中的近场数据和网格数据进行压缩,并写入二进制文件;
S7.借助于rar压缩工具将步骤S6得到的数据进行二次压缩,得到最终的压缩存储文件。
所述步骤S2包括:
S201.将CAD面元网格模型中的点列表和点连接列表通过RWG基函数的格式转换成矩量法所需的基函数,设nbase为电磁模型中所有基函数未知量总数,材料的电磁参数信息包括磁导率μ
S202.转换得到系统矩阵[A]
其中,G为三维格林函数;
S203.转换得到右侧激励项[rhs]
式中,
S204.通过矩阵求解计算求解[A]
所述步骤S3中,CAD面元网格模型的点列表中每个点电场和磁场的近场计算公式为:
其中,J为电流分布,M为磁流分布,计算域S′为所有面元组成的区域,r′为面元区域内的位置矢量,k为自由空间波数;将E(r)沿x,y,z三个方向进行投影,得到E
所述步骤S4中,近场数据文件的存储格式为维度为nPoint*12的二维浮点数,即每个网格顶点的近场数据文件包括12列数据,每个点的近场数据为一列,存储格式为:
第一列数据为re(E
其中,re(K)为取复数数组K的实部,im(K)为取复数数组K的虚部,E
所述步骤S6包括:
S601..对内存中加载的近场数据格式作如下归一化处理:
按照用户需求设定如下参数:空间分辨率:S
20≤S
在计算前对M
N
N
其中,N
S602.对于每一个网格顶点的近场数据进行离散压缩处理:
第一步、从文件中读取的nPoint*12的二维浮点数组,每一个浮点即一个网格顶点,将该网格顶点的近场数据文件,将其恢复为:E
对每一个网格顶点进行总场计算,公式为:
E
H
其中,1e-30的作用是为了保证log
第二步、取各个网格顶点处E
第三步、对于任一个网格顶点的E
A01.判断是否满足:E
同理,判断是否满足H
A02.根据步骤A01得到的结果再次进行处理:
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
A03、对步骤A02得到的数据采用的场值离散化流程公式进行处理:
进行上述处理后,将每个网格顶点的处理后的近场数据作为一行,每行近场数据用6*(N
第四步、对于任一个网格顶点,将第三步的处理结果写入二进制文件:
第五步、对于不同的网格顶点,重复第三步和第四步,得到所有网格顶点近场数据的压缩结果。
本发明的有益效果是:本发明能够有效降低近场数据的存储空间,且数据格式能够适用于海量数据的存储和一些对存储长度要求非常严格的场合。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种适用于矩量法的近场数据快速无损压缩存储方法,包括以下步骤:
S1.加载CAD网格模型:
从nastran格式的目标对象网格模型文件中提取CAD面元网格模型的点列表和点连接列表,设置材料的电磁参数信息和模型激励源参数,完成电磁模型创建工作;
在本申请的实施例中,所述目标对象包括天线、电路,或天线与电路形成的复杂组合体。
S2.将提取的CAD面元网格模型、设置的材料电磁参数信息,以及激励源参数转换成系统矩阵[A]
S201.将CAD面元网格模型中的点列表和点连接列表通过RWG基函数的格式转换成矩量法所需的基函数,设nbase为电磁模型中所有基函数未知量总数,材料的电磁参数信息包括磁导率μ
S202.转换得到系统矩阵[A]
其中,G为三维格林函数;
S203.转换得到右侧激励项[rhs]
式中,
S204.通过矩阵求解计算求解[A]
S3.确定CAD面元网格模型的点列表中每个网格顶点电场和磁场的近场计算公式,并据此计算出每个网格顶点电场和磁场;
CAD面元网格模型的点列表中每个点电场和磁场的近场计算公式为:
其中,J为电流分布,M为磁流分布,计算域S′为所有面元组成的区域,r′为面元区域内的位置矢量,k为自由空间波数;将E(r)沿x,y,z三个方向进行投影,得到E
S4.将步骤S1得到CAD面元网格模型的点列表和点连接列表导出网格数据文件;并将步骤S3得到的每个网格顶点的近场电场和磁场数据导出成近场数据文件;
以常见的三角形面单元网格为例,一般的存储格式包括如下四个部分:
1)点总数nPoint
2)点坐标列表Points
3)单元总数nElement顶点数nVertex
4)点连接列表Connects
其中,nPoint、nElement和nVertex为整型数据,点坐标列表存储的是维度为nPoint*3的二维浮点数组,Connects存储的维度为nElement*(nVertex+1)的二维整型数组,前nVertex列存储的是每个单元的各个顶点所在Points中的序号(序号以1开始计数),最后一列存储的是每个单元的材料编号(一般0表示完全电导体材料);
步骤S4中近场数据的一般存储文件格式为维度为nPoint*12的二维浮点数(单精度或双精度),即每个网格顶点的近场数据文件包括12列数据,每个点的近场数据为一列,每个点的近场存储格式(单行)格式为:
其中,re(K)为取复数数组K的实部,im(K)为取复数数组K的虚部,E
S5.将导出近场数据文件和导出的网格数据文件读取进内存,分别建立CAD面元网格模型每个点与近场数据文件中电场和磁场数据的映射;
S6.对内存中的近场数据和网格数据进行压缩,并写入二进制文件;
S601.对内存中加载的近场数据格式作如下归一化处理:
按照用户需求设定如下参数:空间分辨率(dB):S
20≤S
在本申请的实施例中,S
N
N
其中,N
S602.对于每一个网格顶点的近场数据进行离散压缩处理:
从文件中读取的nPoint*12的二维浮点数组,每一个浮点即一个网格顶点,将该网格顶点的近场数据文件,将其恢复为:E
对每一个网格顶点进行总场计算,公式为:
E
H
其中,1e-30的作用是为了保证log
第二步、取各个网格顶点处E
第三步、对于任一个网格顶点的E
A01.判断是否满足:E
同理,判断是否满足H
A02.根据步骤A01得到的结果再次进行处理:
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
判断是否满足20*log
A03、对步骤A02得到的数据采用的场值离散化流程公式进行处理:
进行上述处理后,将每个网格顶点的处理后的近场数据作为一行,每行近场数据用6*(N
第四步、第三步的处理结果写入二进制文件:
其中,二进制文件数据头的数据格式
数据行的每行数据格式:
在本申请的实施例中,上述数据采用bigending来进行数位的编码和解码;
第五步、对于不同的网格顶点,重复第三步和第四步,得到所有网格顶点近场数据的压缩结果。
S7.借助于rar压缩工具将步骤S6得到的数据进行二次压缩,得到最终的压缩存储文件。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
- 一种适用于矩量法的近场数据快速无损压缩存储方法
- 一种适用于矩量法的近场数据快速无损压缩存储方法