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
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()