Esempio n. 1
0
def transmitData(inputFile, logDir, predictionInterval, samplingInterval,
                 heartbeat, drThreshold, delay, jitter, packetLoss):
    # Import data
    print "Importing data..."
    importer = Importer()
    rawInputData = importer.getInputData(inputFile, samplingInterval)
    exportData(logDir + "RawInputData.txt", rawInputData)

    # Filtering input data
    print "Filtering data..."
    samplingFreq = int(1e3 / samplingInterval)
    taps = 80
    bands = [0.0, 10, 11, 50.0]
    weights = [1, 0]
    coefficients = scipy.signal.remez(taps, bands, weights, Hz=samplingFreq)
    gain = 1.0 / sum(coefficients)
    filteredInputData = filterData(rawInputData, logDir, "cc",
                                   samplingInterval, coefficients)[0]
    filteredInputData = amplifyData(filteredInputData, gain)
    exportData(logDir + "FilteredInputData.txt", filteredInputData)

    # Create the prediction vectors
    print "Creating the prediction vectors..."
    predictor = DRPredictor()
    predictedData = predictor.getPredictedData(filteredInputData,
                                               predictionInterval,
                                               samplingInterval)
    exportData(logDir + "PredictionData.txt", predictedData)

    # Run the transmission algorithm
    print "Simulating the transmission algorithm..."
    transmitter = DRTransmitter(heartbeat)
    drTxPackets = transmitter.getTransmittedPackets(drThreshold, predictedData)
    exportData(logDir + "DRTxPackets.txt", drTxPackets)

    # Simulate the transmission of the packets
    print "Simulating the network..."
    network = Network()
    drRxPackets = network.getReceivedPackets(drTxPackets, delay, jitter,
                                             packetLoss)
    exportData(logDir + "DRRxPackets.txt", drRxPackets)

    # Receive the packets
    print "Receiving the packets..."
    receiver = Receiver()
    drRxFilteredPackets = receiver.getFilteredData(drRxPackets)
    exportData(logDir + "DRRxData.txt", drRxFilteredPackets)

    return [
        rawInputData, filteredInputData, predictedData, drTxPackets,
        drRxPackets, drRxFilteredPackets
    ]
Esempio n. 2
0
# Plotting paramters
lowerTime = 18000
upperTime = 26500
yMax = 0.45
yMin = 0.05

# Simulate the algorithm
stepFunc = []
for i in range(0, 5001, 10):
    if i < 200:
        stepFunc.append(Sample(i, 0, 0, 0))
    else:
        stepFunc.append(Sample(i, 1, 1, 1))

predictor = DRPredictor()
predictedData = predictor.getPredictedData(stepFunc, predictionInterval,
                                           samplingInterval)
s.exportData(logDir + "PredictionData.txt", predictedData)
transmitter = DRTransmitter(heartbeat)
drTxPackets = transmitter.getTransmittedPackets(.9, predictedData)
s.exportData(logDir + "TransmittedData.txt", drTxPackets)
network = Network()
drRxPackets = network.getReceivedPackets(drTxPackets, delay, jitter,
                                         packetLoss)
s.exportData(logDir + "ReceivedData.txt", drRxPackets)
receiver = Receiver()
drRxFilteredPackets = receiver.getFilteredData(drRxPackets)
s.exportData(logDir + "FilteredData.txt", drRxFilteredPackets)
convergedData = s.convergeData(drRxFilteredPackets, logDir, "-",
                               samplingInterval, interpolationType,