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)))
Example #2
0
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)))