Engee documentation
Notebook

Influence of single BER pulses

In this example, we consider a BPSK receiver and transmitter system with single interference in the data. The system itself is shown in the figure below.

image.png

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

image.png

There are 3 pulse generators in this subsystem. By using delays and adders we increase the number of these pulses.

Next, let's set the auxiliary function to start 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 interference switched 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 several values were identified incorrectly after adding interference. This is most likely due to the fact that there were points that were identified as 1 instead of 0. To avoid this situation, use interpolation and averaging.