Необходимость создания шаблонов PRBS C / C ++ API - PullRequest
5 голосов
/ 05 августа 2009

Я ищу PRBS Pattern Generation C / C ++ API, чтобы я мог вставить его в полезную нагрузку UDP.

Если кто-нибудь знает процедуру генерации шаблона PRBS, это было бы замечательно.

Ответы [ 3 ]

2 голосов
/ 01 августа 2010

Я не уверен, есть ли библиотека, которая может соответствовать вашей цели. Я могу дать вам несколько советов по реализации:

Основой вашей реализации будет LFSR. Вы можете реализовать один из двух способов:

  • Реализация Фибоначчи состоит из простого сдвигового регистра, в котором сумма двоичных взвешенных отводов по модулю 2 подается обратно на вход (помните, что сумма mod-2 эквивалентна сложению без переноса, что, в свою очередь, эквивалентно с XOR).
  • Реализация Galois состоит из сдвигового регистра, содержимое которого на каждом шаге модифицируется двоичным взвешенным значением выходного каскада, опять же с использованием математики по модулю 2. Порядок весов Галуа противоположен порядку весов Фибоначчи. Форма Галуа, как правило, быстрее из-за уменьшенного количества логики в цикле обратной связи.

Для получения дополнительной информации о том, как указаны отводы и какие последовательности вы можете получить, вы можете начать здесь . Обратите внимание, что ваши варианты реализации, описанные выше, могут иметь одинаковую длину цикла и последовательность выходных битов для соответствующего выбора начальных состояний (начальных значений).

Это ваше основное требование прямо здесь. LFSR имеют выходные потоки, которые очень равномерно распределены и имеют достаточно длительные периоды. Я бы посоветовал не использовать его в криптографических целях, поскольку он чрезвычайно слаб - будучи линейной системой. Есть обходные пути, но ничего существенного, кроме усадочного генератора (который я нахожу чрезвычайно интересным).

Ссылки на реализации уже даны, так что удачи!

0 голосов
/ 26 октября 2011

Вот один на koders.com

0 голосов
/ 15 мая 2010

Шаблоны PRBS для организации сети часто выполняются с использованием Линейных регистров сдвига с обратной связью . Возможно, вам подойдет имитация одного из них в программном обеспечении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...