1.一种用于波形互相关双差定位算法的并行优化方法,其特征在于,步骤如下:步骤1,获取总任务数和总进程数,并将总任务平均分给每个进程,并得出每个进程的任务初始位置;
步骤2,计算获取初始匹配位置As1Bs2;
步骤3,计算获取结束匹配位置Ae1Be2;
步骤4,根据获取的As1Bs2位置和Ae1Be2位置读取对应数据进行计算;
步骤1具体包括:
步骤101,首先选定两个台站,台站A和台站B,每个台站都有N天的数据,A台站第i天的数据可表示为Ai,B台站第i天的数据可表示为Bi,台站A和台站B之间的数据需要进行匹配计算,匹配方式是对每个Ai,都需要和Bj(j>i)进行匹配计算,匹配计算格式定义为AiBj(1≤i
步骤102,将总进程个数定义为np,目标是求总任务平均分配给每个进程后,每个进程的任务初始匹配位置As1Bs2和结束匹配位置Ae1Be2;
步骤103,将PAIRS_LEN整除np,得到每个进程要处理的任务数量,定义为task_numk,k表示进程索引,再将PAIRS_LEN余除np,得到暂未被分配到进程的任务数量,定义为residul_day;将residul_day个任务数分配到总进程中前residul_day个进程,所以前residul_day个进程任务数task_numk(k≤residul_day)自加1;至此完成进程任务数量分配;
步骤104,根据每个进程需要处理的任务数量task_numk,累加计算可以得到每个进程的任务初始位置task_num_
startp,p表示进程索引,k=1,2,3...p...;
步骤2具体包括:
步骤201,将Ai需要做匹配计算的个数定义为A_LENi,定义A_SUMj为第j天之前需要做匹配计算数量;
步骤202,遍历整个A_SUM数组,找到第一个大于每个进程中task_num_startp值的A_SUMt,并保存t值;
步骤203,t-1即为开始匹配位置As1Bs2中的s1,再由t-1值得到A_SUMt-1;
步骤204,将task_num_startp-A_SUMt-1即可得到每个进程在第t天的需要处理的任务数量步骤205,再把步骤204中的task_num_startp-A_SUMt-1值加上t,即可得到每个进程的初始匹配位置As1Bs2中的s2,至此得到了每个进程的初始匹配位置As1Bs2。
2.如权利要求1所述的一种用于波形互相关双差定位算法的并行优化方法,其特征在于,步骤3具体包括:步骤301,定义变量nday1用于记录每个进程处理的任务AiBj中imax-imin+1的值,nday1代表Ai中i的个数;
步骤302,定义变量nday2用于记录每个进程处理的任务AiBj中jmax-jmin+1的值,nday2代表Bj中j的个数;
步骤303,定义变量day1_min,day2_min用于记录每个进程处理的任务AiBj中最小的i和j;同时定义day1_start,day2_start表示步骤203、步骤205求出的As1Bs2中的s1和s2;
步骤304,将day1_min+nday1-1即可得到得到Ae1Be2中的e1,将day2_start-day2_min+nday1即可得到Ae1Be2中的e2。
3.如权利要求1或2所述的一种用于波形互相关双差定位算法的并行优化方法,其特征在于,步骤4具体包括:步骤401,定义结构体数组stk,k为进程索引,根据每个进程的初始匹配位置As1Bs2和结束匹配位置Ae1Be2读入数据到结构体数组stk中;
步骤402,对结构体数组stk进行计算,公式为
t为Ai、Bj中数据的索引,至此得计算结果。