2009-08-05 95 views
5

我正在寻找PRBS模式生成C/C++ API,以便我可以将它插入到有效负载的UDP中。需要PRBS模式生成C/C++ API

如果有人知道生成PRBS模式的过程,它将是伟大的。

回答

2

我不确定是否有符合您目的的图书馆。我可以给你一些关于执行的指导,但是:

你实现的基础是LFSR。可以实现以下两种方式之一:

  • 斐波那契实现由其中二进制加权抽头的模2之和被反馈到输入端的简单移位寄存器的(记住,模2之和为相当于没有进位的加法,这反过来等同于XOR)。
  • 伽罗瓦的实现由一个移位寄存器组成,其内容在每个步骤都由输出级的二进制加权值修改,同样使用模2数学。伽罗瓦权重的顺序与斐波那契权重的顺序相反。由于反馈环路中逻辑量的减少,伽罗瓦形式通常更快。

有关如何指定水龙头和您可以获得什么序列的更多信息,您可以开始here。请注意,上面的实现选择可以具有相同的周期长度和输出位序列,以便适当选择初始状态(种子)。

这是您的基本要求。 LFSR具有非常均匀分布且足够长的输出流。我建议不要将它用于加密目的,因为它非常弱 - 是一个线性系统。有解决方法,但除了shrinking generator(我觉得非常酷)没有任何实质性的东西。

实现链接已经给出,所以祝你好运!