Engee documentation
Notebook

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.

image.png

At the top level, we see a random dataset generator, BPSK, and a pulse generator, which is shown in the figure below.

image.png

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.

In [ ]:
# Подключение вспомогательной функции запуска модели.
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
Out[0]:
run_model (generic function with 1 method)

Let's run the model with the interference turned off and on.

In [ ]:
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]))
Building...
Progress 0%
Progress 0%
Progress 5%
Progress 10%
Progress 17%
Progress 22%
Progress 28%
Progress 34%
Progress 40%
Progress 46%
Progress 51%
Progress 56%
Progress 62%
Progress 67%
Progress 73%
Progress 78%
Progress 84%
Progress 89%
Progress 95%
Progress 100%
Progress 100%
BER: [0.0, 0.0, 1501.0]
Building...
Progress 5%
Progress 14%
Progress 20%
Progress 25%
Progress 31%
Progress 37%
Progress 43%
Progress 48%
Progress 53%
Progress 59%
Progress 65%
Progress 70%
Progress 75%
Progress 80%
Progress 85%
Progress 90%
Progress 96%
Progress 100%
Progress 100%
BER: [0.002664890073284477, 4.0, 1501.0]

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.