Esempio n. 1
0
File: Test.py Progetto: lutyjj/ARQ
def start_test(chosen_algorithm, control_method, probability, windows_size,
               packet_size, model, P01, P10):
    img = Image.open("test.jpg")

    receiver = Receiver()
    sender = Sender(receiver, control_method, windows_size, packet_size)
    sender.set_ts_interference(probability, model, P01, P10)

    img_array = np.asarray(img)
    sender.data_to_binary(img_array)
    sender.split_array()

    sender.send_frames(chosen_algorithm)

    error_counter = 0
    ber = 0
    for j in range(0, len(receiver.result)):
        final_pack = receiver.result[j].astype(np.uint8)
        start_pack = sender.packets[j]
        for i in range(0, packet_size):
            if start_pack[i] != final_pack[i]:
                error_counter += 1
        j += 1
    ber = error_counter / (len(receiver.result) * packet_size) * 100

    final_img = receiver.finalize_img()
    return receiver.numberOfAcceptedPackets, receiver.numberOfRejectedPackets, ber
Esempio n. 2
0
scaled_img = img.resize((640, 640))
scaled_img.show()

receiver = Receiver()
sender = Sender(receiver, control_method, windows_size, packet_size)
sender.set_ts_interference(probability, model, P01, P10)

img_array = np.asarray(img)
sender.data_to_binary(img_array)
sender.split_array()

print('Starting transmission:')
sender.send_frames(chosen_algorithm)
receiver.print_statistics()

error_counter = 0
ber = 0
for j in range(0, len(receiver.result)):
    final_pack = receiver.result[j].astype(np.uint8)
    start_pack = sender.packets[j]
    for i in range(0, packet_size):
        if start_pack[i] != final_pack[i]:
            error_counter += 1
    j += 1
ber = error_counter / (len(receiver.result) * packet_size) * 100
print('BER: ', ber, '%')

final_img = receiver.finalize_img()
scaled_final_img = final_img.resize((640, 640))
scaled_final_img.show()