一种计算周期序列k-错线性复杂度的方法

文档序号:6498883阅读:159来源:国知局
一种计算周期序列k-错线性复杂度的方法
【专利摘要】一种计算周期序列k-错线性复杂度的方法,通过研究周期为2n的二元序列线性复杂度,先提出使用方体理论构造稳定k-错线性复杂度序列的方法,再提出周期为N=2n的二元序列可以分解为若干互不相交的方体,从而给出一个研究k-错线性复杂度的新方法,接着提出将k-错线性复杂度的计算转化为求Hamming重量最小的错误序列。基于Games-Chan算法,本发明给出了(m,k)固定时线性复杂度为2n-m周期为2n的二元序列的k-错线性复杂度的全部计数公式。
【专利说明】一种计算周期序列k-错线性复杂度的方法
【技术领域】
[0001]本发明涉及计算电磁学领域,尤其是在计算物体表面的雷达RCS (中文:雷达散射截面)时,对物体模型进行剖分建模方法,具体地说是一种在抛物线方程中由三角面元数据生成立方网格数据的方法。
【背景技术】
[0002]目前,在计算物体表面的雷达散射截面(即雷达RCS)时,对物体模型进行剖分建模。在电磁场数值计算与仿真中有多种建模方法,如矩量法(Μ0Μ)、时域有限差分方法(FDTD)、有限元方法(FEM)、抛物线方程方法(PE)等等,不同的方法通常需要不同的剖分单元,如矩量法和有限元方法采用三角面元作剖分单元,而时域有限差分方法和抛物线方程方法则需要用六面体(立方体)作为基本计算单元。三角面元的数据模型可以从多种途径,包括一些商用软件如ANSYS、Supermesh,3DMAX, ANSOFT中得到,而立方网格则比较难得到,通用的全自动建模软件还未见报到。

【发明内容】

[0003]本发明的目的是针对在电磁计算中需要对物体模型进行剖分的问题,提出一种由三角面元数据生成立方网格数据的解决方案。
[0004]本发明的技术方案是:
[0005]一种在抛物线方程中由三角面元数据生成立方网格数据的方法,它包括以下步骤:
[0006](a).读入数据和确立剖分范围的步骤:
[0007]获取物体模型的三角面元剖分模型数据,包括面片数目、面片编号、每个面片包含的三个顶点的编号以及各顶点的坐标信息,根据前述信息得到该物体模型的外接长方体作为剖分范围,所述的剖分范围即物体模型的外接长方体由物体模型在X,Y,Z坐标轴上的上下界坐标X1, Xh, Yi, yh, Z1, Zh构成;
[0008]根据抛物线方程方法或者时域有限差分方法的计算要求(指的是剖分网格的精度即边长吗?),确定剖分网格的边长大小δ (文中取0.1个波长),再计算要剖分网格的数量,它由下面的公式确定:
[0009]nx= (Xh-X1) / δ ny= (Yh-Y1) / δ
[0010]Iiz=(Zh-Z1)/ δ N=nxXnyXnz
[0011]nx,ny,nz分别为X,Y,Z坐标轴上剖分网格的数量,如果是整数,则直接获取,如果不是整数,使用去余进位法进行取整;
[0012]在Ztl=Z1- δ /2平面上,将X1, xh, Y1, yh所构成的正方形进行nxXny等分,得到nxXny个正方形,再把每个正方形分为M=mXm个小方格;m=2或m=3 ;以各小方格的中心坐标为起点,沿正z轴方向作M条射向物体模型三角面元剖分模型的射线,获得每一条射线与物体模型表面的相交情况,并将交点坐标存入数组;[0013](b).求各条射线与整个物体模型的三角面元剖分模型的交点并且判断该交点是否在面元内部的步骤:
[0014]求射线与三角面元的交点时,首先求各射线与三角面元所在平面的交点,然后再判断该交点是否在三角面元内。先从目标的三角面元的数据文件中,读取每一个三角面元,设为ABC的3顶点坐标,然后从3顶点坐标求得该三角面元所在平面的几何方程,最后联立平行于z轴的网格线I方程,就可求交点的坐标,设为P点;
[0015]判断交点P是否在三角面元ABC内可利用xoy面内的投影来分析,设三角面元ABC和交点P在xoy面内的投影分别为A' B' C'和P';
[0016]将P’与投影三角形A' B' C'的3个顶点可以构造3个矢量//,/Y,并依
次形成矢量叉乘,即XKerrX和: X P A,若3者彼此同号表示交点P在三角面元ABC内;反之,则交点P不在三角面元ABC内。当P正好在三角面元ABC边线上,3者中有一个为零。[0017](c).生成立方体剖分网格
[0018]由三角面元数据模型数据出发建立目标的立方网格模型,判断立方元胞是否位于目标内,生成一个MXnz维数组;行对应每条射线,列对应各射线穿过的剖分网格;依次选取M条射线的每一条进行判断,对于闭合形体,每对交点截取射线所得的线段就是目标的内部区域;以δ为步长,从外接长方体的最小Z坐标Z1开始,以网格中心为起点,沿射线方向放置边长为δ的网格并依次对应数组中的各列,得出每个网格中心的坐标,取其Z坐标,对每一射线判断此网格中心是否是在射线对应的线段内,如在则把数组中对应元素置为1,否则置为O ;在比较完所有射线后,把各网格对应数组元素相加,如其值大于Μ/2,则表明网格在模型内部,否则在模型外部,记录网格的中心坐标;遍历XY平面上所有正方形nxXny个,即能得到剖分数据,各网格叠加起来的模型即为剖分后的模型;
[0019](d).最后求出该立方网格模型的最外层边界点,遍历所有在模型内部网格上的点,如果以它为中心的边长为2 δ的大立方体表面上的26个点不全在模型内部,也不全在模型外部,则这个点就是边界上的点。
[0020]本发明的步骤(a)之后,通过ANSYS软件对物体模型进行三角面元剖分,最终确立一个剖分的范围,并且以各小方格的中心坐标为起点,沿正z方向作M条射向模型的射线。
[0021]本发明的步骤(b)中求得射线与三角面元的交点并且判断该交点是否在面元内部。
[0022]本发明的步骤(C)中依次选取M条射线的每一条进行判断,对于闭合形体,每对交点截取射线所得的线段就是目标的内部区域。在比较完所有射线后,把各网格对应数组元素相加,如其值大于M/2,则表明网格在模型内部,否则在模型外部。
[0023]本发明的步骤(d)中遍历所有在模型内部网格上的点,如果以它为中心的边长为25的大立方体表面上的26个点不全在模型内部,也不全在模型外部,则这个点就是边界上的点。
[0024]本发明的有益效果:
[0025]本发明可以很方便地将ANSYS生成的三角面元转化为立方网格,不用通过设计图、制造图手工或半手工地去构造模型,减少了工作量;建模方法和程序均具有通用性,一次编程可完成相应情况的任何建模。
【专利附图】

【附图说明】
[0026]图1是本发明的流程图。
[0027]图2是求得的交点在三角面元内部的示意图。
[0028]图3是求得的交点在三角面元外部的示意图。
[0029]图4是金属圆柱的模型示意图。
[0030]图5是坐标系中的球锥模型示意图。
[0031]图6是用pad6_(l,0)三角面元一立方网格转换PE算法求得的球锥双站RCS值。【具体实施方式】
[0032]下面结合附图和实施例对本发明作进一步的说明。
[0033]如图1所示,一种下面结合附图和实施例对本发明作进一步的说明。
[0034](a).读入数据和确立剖分范围
[0035]先利用ANSYS软件对物体模型进行三角面元剖分,在输出的LIST文件中可以得到面片数目,面片编号,每个面片包含的三个顶点的编号以及相应的坐标等一些信息,利用这些信息可以获得该物体的外接长方体,即获得形体的X,Y,Z坐标的上下界Xi, Xh, Yi, yh, Z1, Zh,这就是文中所指的剖分范围。根据抛物线方程计算要求确定剖分网格的大小S (文中取0.1个波长),再计算要剖分网格的数量,它由下面的公式确定:
[0036]nx= (Xh-X1) / δ ny= (yh-y!) / δ
[0037]Iiz=(Zh-Z1)/ δ N=nx X ny X nz
[0038]nx, ny, nz并不一定是整数,可以使用去余进位法进行取整,使其变为整数,nx, ny, nz确定了计算量与存储量的大小。在Zci = Z1- δ /2平面上,将X1, xh, Y1, yh所决定的正方形进行nx Xny等分,得到nx Xny个正方形。再把每个正方形再分为M=mXm个小方格(m=2或m=3即可)。以各小方格的中心坐标为起点,沿正z方向作M条射向模型的射线,获得每一条射线与模型表面的相交情况,并存入数组(如果不把正方形划分成小方格,所得判决信息较少,不能反映复杂形体的细节,建模精确度较差)。
[0039](b).求射线与三角面元的交点并且判断该交点是否在面元内部
[0040]求射线与三角面元的交点时,首先求射线与三角面元所在平面的交点,然后再判断该交点是否在三角面元内。先从目标的三角面元的数据文件中,读取每一个三角面元(设为ABC)的3顶点坐标,然后从3顶点坐标求得该三角面元所在平面的几何方程,最后联立平行于z轴的网格线I方程,就可求交点的坐标(设为P点,如图2和图3所示)。
[0041]判断交点P是否在三角面元ABC内可利用xoy面内的投影来分析。设三角面元ABC和交点P在xoy面内的投影分别为Ai B' C1和P'。图2表示交点在三角面元内的情况,图3表示交点不在三角面元内的情况。
[0042] 将P’与投影三角形A’ B’ C,的3个顶点可以构造3个矢量A/,厂/l,厂广,并依次
形成矢量叉乘,。若3者彼此同号表示交点P在三角面元ABC内;反之,则交点P不在三角面元ABC内。当P正好在三角面元ABC边线上,3者中有一个为零。
[0043](c).生成立方体剖分网格
[0044]由三角面元数据模型数据出发建立目标的立方网格模型,关键是判断立方元胞是否位于目标内。生成一个MXnz维数组(行对应每条射线,列对应各射线穿过的剖分网格)。依次选取M条射线的每一条进行判断,对于闭合形体,每对交点截取射线所得的线段就是目标的内部区域。以S为步长,从外接长方体的最小Z坐标Z1开始,以网格中心为起点,沿射线方向放置边长为δ的网格并依次对应数组中的各列,得出每个网格中心的坐标,取其Z坐标,对每一射线判断此网格中心是否是在射线对应的线段内,如在则把数组中对应元素置为1,否则置为O。在比较完所有射线后,把各网格对应数组元素相加,如其值大于Μ/2,则表明网格在模型内部,否则在模型外部。记录网格的中心坐标。遍历XY平面上所有正方形(nxXnyf)即能得到剖分数据。各网格叠加起来的模型即为剖分后的模型。图4为金属圆柱的三角面元剖分模型。
[0045](d).最后求出该立方网格模型的最外层边界点,我们在此采用这样的方法:遍历所有在模型内部网格上的点,如果以它为中心的边长为2 δ的大立方体表面上的26个点不全在模型内部,也不全在模型外部,则这个点就是边界上的点。
[0046]实施例一:
[0047]1.分析球锥的电磁散射问题
[0048]如图5所示,球锥由底面半径为5m的半球和半径为5m,高为8m的圆锥组成,自由空间沿X轴入射水平极化波频率为300MHz,应用三维pad6_(l,O)抛物线方程算法得到0°?40°双站雷达RCS,如图6所示。
[0049]本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
【权利要求】
1.一种在抛物线方程中由三角面元数据生成立方网格数据的方法,其特征是它包括以下步骤: Ca).读入数据和确立剖分范围的步骤: 获取物体模型的三角面元剖分模型数据,包括面片数目、面片编号、每个面片包含的三个顶点的编号以及各顶点的坐标信息,根据前述信息得到该物体模型的外接长方体作为剖分范围,所述的剖分范围即物体模型的外接长方体由物体模型在X,Y,Z坐标轴上的上下界坐标 X1, Xh, Y1, yh, Z1, Zh 构成; 根据抛物线方程方法或者时域有限差分方法的计算要求(指的是剖分网格的精度即边长吗?),确定剖分网格的边长大小δ (文中取0.1个波长),再计算要剖分网格的数量,它由下面的公式确定:
nx= (Xh-X1) / δ ny= (Yh-Y1) / δ
Iiz=(Zh-Z1)/ δ Ν=ηχ X ny X nz nχ, ny,nz分别为X,Y,Z坐标轴上剖分网格的数量,如果是整数,则直接获取,如果不是整数,使用去余进位法进行取整; 在Zci=Z1- δ /2平面上,将X1, xh, Y1, yh所构成的正方形进行nxXny等分,得到nxXny个正方形,再把每个正方形分为M=mXm个小方格;m=2或m=3 ;以各小方格的中心坐标为起点,沿正z轴方向作M条射向物体模型三角面元剖分模型的射线,获得每一条射线与物体模型表面的相交情况,并将交点坐标存入数组; (b).求各条射线与整个物体模型的三角面元剖分模型的交点并且判断该交点是否在面元内部的步骤: 求射线与三角面元的交点时,首先求各射线与三角面元所在平面的交点,然后再判断该交点是否在三角面元内。先从目标的三角面元的数据文件中,读取每一个三角面元,设为ABC的3顶点坐标,然后从3顶点坐标求得该三角面元所在平面的几何方程,最后联立平行于z轴的网格线I方程,就可求交点的坐标,设为P点; 判断交点P是否在三角面元ABC内可利用xoy面内的投影来分析,设三角面元ABC和交点P在xoy面内的投影分别为A' B' C’和P'; 将P’与投影三角形A’ B’ C’的3个顶点可以构造3个矢量,并依次形成矢量叉乘,即/? X PB, PB X广(7和尸八X PA,若3者彼此同号表示交点P在三角面元ABC内;反之,则交点P不在三角面元ABC内。当P正好在三角面元ABC边线上,3者中有一个为零。 (c).生成立方体剖分网格 由三角面元数据模型数据出发建立目标的立方网格模型,判断立方元胞是否位于目标内,生成一个MXnz维数组;行对应每条射线,列对应各射线穿过的剖分网格;依次选取M条射线的每一条进行判断,对于闭合形体,每对交点截取射线所得的线段就是目标的内部区域;以S为步长,从外接长方体的最小Z坐标Z1开始,以网格中心为起点,沿射线方向放置边长为δ的网格并依次对应数组中的各列,得出每个网格中心的坐标,取其Z坐标,对每一射线判断此网格中心是否是在射线对应的线段内,如在则把数组中对应元素置为1,否则置为O ;在比较完所有射线后,把各网格对应数组元素相加,如其值大于Μ/2,则表明网格在模型内部,否则在模型外部,记录网格的中心坐标;遍历XY平面上所有正方形IixXny个,即能得到剖分数据,各网格叠加起来的模型即为剖分后的模型; (d).最后求出该立方网格模型的最外层边界点,遍历所有在模型内部网格上的点,如果以它为中心的边长为2 δ的大立方体表面上的26个点不全在模型内部,也不全在模型外部,则这个点就是边界上的点。
2.根据权利要求1所述的在抛物线方程中由三角面元数据生成立方网格数据的方法,其特征是在步骤(a)之后,通过ANSYS软件对物体模型进行三角面元剖分,最终确立一个剖分的范围,并且以各小方格的中心坐标为起点,沿正z方向作M条射向模型的射线。
3.根据权利要求1所述的在抛物线方程中由三角面元数据生成立方网格数据的方法,其特征是在步骤(b)中求得射线与三角面元的交点并且判断该交点是否在面元内部。
4.在抛物线方程中由三角面元数据生成立方网格数据的方法,其特征是在步骤(c)中依次选取M条射线的每一条进行判断,对于闭合形体,每对交点截取射线所得的线段就是目标的内部区域。在比较完所有射线后,把各网格对应数组元素相加,如其值大于M/2,则表明网格在模型内部,否则在模型外部。
5.根据权利要求1所述的在抛物线方程中由三角面元数据生成立方网格数据的方法,其特征是在步骤(d)中遍历所有在模型内部网格上的点,如果以它为中心的边长为2 δ的大立方体表面上的26个点不全在模型内部,也不全在模型外部,则这个点就是边界上的点。
【文档编号】G06T17/30GK103914878SQ201310006161
【公开日】2014年7月9日 申请日期:2013年1月8日 优先权日:2013年1月8日
【发明者】剌锋, 戚湧, 李千目, 袁红兵, 冯锋 申请人:无锡南理工科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1