def algortihmtest(metric_c, argvL): limit_length = [0,30] metric_command = metric_c argvList = argvL [split_data, split_rssi, pilot_step] = pds.simulated_tracebase(metric_command, argvList) [pilot_data_alltrace, pilot_ser_alltrace] = pds.simulated_pilot_generate(split_data, split_rssi, pilot_step, metric_command, argvList) other_data_alltrace = pds.simulated_unkonw_symbol(split_data, split_rssi, pilot_step, metric_command, argvList) unkonwSymbolp = pds.UnkonwSymbolPayload(split_data, pilot_step) # print len(split_data), len(split_rssi), len(pilot_data_alltrace), len(pilot_ser_alltrace), len(other_data_alltrace), len(unkonwSymbolp) print '[+]start est_ser' est_ser = estimate_ser(pilot_data_alltrace, pilot_ser_alltrace, other_data_alltrace, limit_length, argvList[0] * 2 +1) # print 'start gt_ser' # gt_ser = groudtruth(unkonwSymbolp, limit_length) # print 'rstart rt_err' # print '[est]',len(est_ser[0]), '[gt]:', len(gt_ser[0]) # rt_err = relatederror(est_ser, gt_ser) # for i in range(len(rt_err)): # print "%d:" % (i), rt_err[i][len(rt_err[i])-1] # print '[debug]write no diff rssi data trace' other_nodiff_data_trace = pds.simulated_unkonw_symbol(split_data, split_rssi, pilot_step, metric_command, argvList) gr.print_gnuplot(est_ser, unkonwSymbolp,other_nodiff_data_trace,limit_length) # print '[debug]write detailed result' print_detail_result(est_ser, unkonwSymbolp, other_nodiff_data_trace, limit_length,metric_command) # print '[debug]print rssi info' print_split_trace(split_data, split_rssi, pilot_step, limit_length) # print "[!]calc metric" [accur_alltrace, detailAccur_alltrace] = Calc_metric(est_ser, unkonwSymbolp,limit_length) ave_tppreci = 0; ave_tnpreci = 0; avetn_recall = 0 for i in range(len(accur_alltrace)): # print "%d:[preci]%s, [tp_rec]:%s,[tn_rec]%s, [tp_pre]%s, [tn_pre]%s" %\ # (i, str(accur_alltrace[i][0]), accur_alltrace[i][1], # str(accur_alltrace[i][2]), str(accur_alltrace[i][3]), str(accur_alltrace[i][4])), # print "[fp]:%s, [fn]:%s, [tp]:%s, [tn]:%s" % (str(detailAccur_alltrace[i][0]),str(detailAccur_alltrace[i][1]),str(detailAccur_alltrace[i][2]),str(detailAccur_alltrace[i][3]) ) ave_tppreci += accur_alltrace[i][3] ave_tnpreci += accur_alltrace[i][4] avetn_recall += accur_alltrace[i][2] print '[metrics]:%s_%s{%s-%s}, [ave_tpprecision]:%s, [ave_tnpreci]%s, [ave_tnrecall]:%s' % \ ( limit_length[0], limit_length[1], metric_command, str(argvList[0]), str(ave_tppreci/len(accur_alltrace)), str(ave_tnpreci/ len(accur_alltrace)), str(avetn_recall/len(accur_alltrace)))
def allrssitrace(): [split_data, split_rssi, pilot_step] = pds.simulated_tracebase(True) intofile = [] for i in range(34, 35): tempstr = [] for j in range(len(split_data[i])): tempstr.append('%d ' % (j)) if split_data[i][j] == '0': tempstr.append('210 ') else: tempstr.append('245 ') ft = split_rssi[i][j] tempstr.append(str(ft) + '\n') intofile.extend(''.join(tempstr)) # [dataTrace, rssiTrace] = scaledRSSI(dataTrace, rssiTrace) f = open('rssi_data.txt', 'w') f.writelines(intofile) f.close()
def allrssitrace(): [split_data, split_rssi, pilot_step] = pds.simulated_tracebase(True) intofile = [] for i in range(34,35): tempstr = [] for j in range(len(split_data[i])): tempstr.append('%d ' % (j)) if split_data[i][j] == '0': tempstr.append('210 ') else: tempstr.append('245 ') ft = split_rssi[i][j] tempstr.append(str(ft) + '\n') intofile.extend(''.join(tempstr)) # [dataTrace, rssiTrace] = scaledRSSI(dataTrace, rssiTrace) f = open('rssi_data.txt', 'w') f.writelines(intofile) f.close()
def algortihmtest(metric_c, argvL): limit_length = [0, 30] metric_command = metric_c argvList = argvL [split_data, split_rssi, pilot_step] = pds.simulated_tracebase(metric_command, argvList) [pilot_data_alltrace, pilot_ser_alltrace ] = pds.simulated_pilot_generate(split_data, split_rssi, pilot_step, metric_command, argvList) other_data_alltrace = pds.simulated_unkonw_symbol(split_data, split_rssi, pilot_step, metric_command, argvList) unkonwSymbolp = pds.UnkonwSymbolPayload(split_data, pilot_step) # print len(split_data), len(split_rssi), len(pilot_data_alltrace), len(pilot_ser_alltrace), len(other_data_alltrace), len(unkonwSymbolp) print '[+]start est_ser' est_ser = estimate_ser(pilot_data_alltrace, pilot_ser_alltrace, other_data_alltrace, limit_length, argvList[0] * 2 + 1) # print 'start gt_ser' # gt_ser = groudtruth(unkonwSymbolp, limit_length) # print 'rstart rt_err' # print '[est]',len(est_ser[0]), '[gt]:', len(gt_ser[0]) # rt_err = relatederror(est_ser, gt_ser) # for i in range(len(rt_err)): # print "%d:" % (i), rt_err[i][len(rt_err[i])-1] # print '[debug]write no diff rssi data trace' other_nodiff_data_trace = pds.simulated_unkonw_symbol( split_data, split_rssi, pilot_step, metric_command, argvList) gr.print_gnuplot(est_ser, unkonwSymbolp, other_nodiff_data_trace, limit_length) # print '[debug]write detailed result' print_detail_result(est_ser, unkonwSymbolp, other_nodiff_data_trace, limit_length, metric_command) # print '[debug]print rssi info' print_split_trace(split_data, split_rssi, pilot_step, limit_length) # print "[!]calc metric" [accur_alltrace, detailAccur_alltrace] = Calc_metric(est_ser, unkonwSymbolp, limit_length) ave_tppreci = 0 ave_tnpreci = 0 avetn_recall = 0 for i in range(len(accur_alltrace)): # print "%d:[preci]%s, [tp_rec]:%s,[tn_rec]%s, [tp_pre]%s, [tn_pre]%s" %\ # (i, str(accur_alltrace[i][0]), accur_alltrace[i][1], # str(accur_alltrace[i][2]), str(accur_alltrace[i][3]), str(accur_alltrace[i][4])), # print "[fp]:%s, [fn]:%s, [tp]:%s, [tn]:%s" % (str(detailAccur_alltrace[i][0]),str(detailAccur_alltrace[i][1]),str(detailAccur_alltrace[i][2]),str(detailAccur_alltrace[i][3]) ) ave_tppreci += accur_alltrace[i][3] ave_tnpreci += accur_alltrace[i][4] avetn_recall += accur_alltrace[i][2] print '[metrics]:%s_%s{%s-%s}, [ave_tpprecision]:%s, [ave_tnpreci]%s, [ave_tnrecall]:%s' % \ ( limit_length[0], limit_length[1], metric_command, str(argvList[0]), str(ave_tppreci/len(accur_alltrace)), str(ave_tnpreci/ len(accur_alltrace)), str(avetn_recall/len(accur_alltrace)))