Scrambler¶
加扰器是一种软件或硬件设备(算法),用于执行加扰,即在不改变传输速率的情况下对数字流进行可逆变换,以获得随机序列的特性。 在本例中,加扰是通过 "伪随机二进制序列"(PRBS)实现的。该序列由长度为 15 的 LFSR 计算得出,相关多项式为 1+ x^14 + x^15,初始值为 100101010000000。下图还描述了伪随机序列发生器的公式。
接下来,让我们来看看已实现的加扰和解扰方案。下图显示了该算法的操作和比特比较。
让我们使用我们描述的运行函数运行这个模型,并保存比特误差结果。
In [ ]:
function run_model(name_model)
Path = string(@__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
return model_output
end
run_model("Scrambler_descrambler")
Out[0]:
让我们分析一下保存的值。在 1001 步期间,误码率等于零。
In [ ]:
# Считывание из simout сохранённых сигналов
BER = simout["Scrambler_descrambler/Error Rate Calculation.Out"];
BER = collect(BER)
BER[end-3:end,:]
Out[0]:
结论¶
根据这次演示的结果,我们研究了在 DVB 第二代视频传输协议中使用加扰方法的可能性。