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.
# Enabling the auxiliary model launch function.
function run_model( name_model)
Path = (@__DIR__) * "/" * name_model * ".engee"
if name_model in [m.name for m in engee.get_all_models()] # Checking the condition for loading a model into the kernel
model = engee.open( name_model ) # Open the model
model_output = engee.run( model, verbose=true ); # Launch the model
else
model = engee.load( Path, force=true ) # Upload a model
model_output = engee.run( model, verbose=true ); # Launch the model
engee.close( name_model, force=true ); # Close the model
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") # Launching the model.
BER = collect(BER)
println("BER: " * string(BER.value[end]))
EnableImpulse = 1;
run_model("BPSK_and_Impulse") # Launching the model.
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.