Exemplo n.º 1
0
def test():
    [
        dataTrace, rssiTrace
    ] = rde.readTrace("rx-0-22-11-20140629-15-47-41-with_interference_802.11g")
    print len(dataTrace[2]), dataTrace[1], type(dataTrace[1][2])
    print len(rssiTrace[4]), rssiTrace[4]
    pass
def print_split_trace(split_data, split_rssi, pilot_step, limit_length):
    trace = []
    # [split_data, split_rssi, pilot_step] = pds.simulated_tracebase(False)
    [
        raw_data, raw_rssi
    ] = rde.readTrace("rx-0-22-11-20140629-15-47-41-with_interference_802.11g")
    for i in range(limit_length[0], limit_length[1]):
        for j in range(len(split_rssi[i])):
            rawrssi = 0
            if j >= len(raw_rssi[i]):
                rawrssi = -1
            else:
                rawrssi = raw_rssi[i][j]
            if j % pilot_step != 0:
                trace.append(
                    "[%d-%d][raw_rssi]:%s, [spredRSSI]:%s, [raw_data]:%s\n" %
                    (i, j, rawrssi, split_rssi[i][j], split_data[i][j]))
            else:
                trace.append(
                    "[pilot][%d-%d][raw_rssi]:%s, [spredRSSI]:%s, [raw_data]:%s\n"
                    % (i, j, rawrssi, split_rssi[i][j], split_data[i][j]))

    f = open(
        "figure/rssi_compare_%d_%d.txt" % (limit_length[0], limit_length[1]),
        'w')
    f.writelines(trace)
    f.close()
    pass
def simulated_tracebase( metrics_command, argvList):
    len_symbol = 8
    pilot_step = 8  # every pilot_step to get samples, actually is pilot_step*len_symbol.
    packet_len = 110
    thres_dtlength = packet_len * (8/ len_symbol)

    [dataTrace, rssiTrace] = rde.readTrace("rx-0-22-11-20140629-15-47-41-with_interference_802.11g")

    [dataTrace, rssiTrace] = rde.dicard_fault_rssi_packet(dataTrace, rssiTrace)

    # dataTrace = rde.simpleSplit(dataTrace)# split the data trace into symbol, 4 bit/symbol in this case
    [s_dataTrace, s_rssiTrace] = rde.scaledRSSI(dataTrace, rssiTrace, thres_dtlength)# linear insert value

    #filter head and tail
    [s_dataTrace, s_rssiTrace] = protocal_802_15_4_modify(s_dataTrace, s_rssiTrace,len_symbol)

    return [s_dataTrace, s_rssiTrace, pilot_step]
    pass