The effect of single BER pulses
In this example, we will consider a BPSK receiver and transmitter system with single data interference. The system itself is shown in the figure below.
At the top level, we see a random dataset generator, BPSK, and a pulse generator, which is shown in the figure below.
There are 3 pulse generators in this subsystem. Due to delays and adders, we increase the number of these pulses.
Next, we will set an auxiliary function to run the model.
# Подключение вспомогательной функции запуска модели.
function run_model( name_model)
    
    Path = (@__DIR__) * "/" * name_model * ".engee"
    
    if name_model in [m.name for m in engee.get_all_models()] # Проверка условия загрузки модели в ядро
        model = engee.open( name_model ) # Открыть модель
        model_output = engee.run( model, verbose=true ); # Запустить модель
    else
        model = engee.load( Path, force=true ) # Загрузить модель
        model_output = engee.run( model, verbose=true ); # Запустить модель
        engee.close( name_model, force=true ); # Закрыть модель
    end
    sleep(5)
    return model_output
end
Let's run the model with the interference turned off and on.
EnableImpulse = 0;
run_model("BPSK_and_Impulse") # Запуск модели.
BER = collect(BER)
println("BER: " * string(BER.value[end]))
EnableImpulse = 1;
run_model("BPSK_and_Impulse") # Запуск модели.
BER = collect(BER)
print("BER: " * string(BER.value[end]))
Conclusion
As we can see from the results, in our case, after adding interference, several values were identified incorrectly. Most likely, this is due to the fact that there were points that were defined as 1 instead of 0. To avoid this situation, use interpolation and averaging.