1

Я столкнулся с этим вопросом, и я не мог найти его в учебниках или в Интернете. Кажется довольно уникальным.Проектирование схемы, которая вычисляет расстояние Хэмминга?

Я предполагаю, что будут задействованы некоторые компараторы и сумматоры, но я не знаю, с чего начать.

+0

Не вопрос программирования - попробуйте http://electronics.stackexchange.com? –

+1

Схема должна подсчитывать количество позиций битов, где два кодовых слова различаются. Технически, это бит-мудрый экзор из двух слов в сочетании с встречной цепью. Счетчик бит описан в [связанной записи] (http://stackoverflow.com/questions/3815165/how-to-implement-bitcount-using-only-bitwise-operators). Это должно быть легко сопоставить описанный расчет с контуром. –

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о схемном дизайне вместо программирования или разработки программного обеспечения. – Pang

ответ

0

Первым шагом, без сомнения, будет XORing двух битовых наборов. Затем вам нужно подсчитать количество логических в выходе. Лучшим методом для проектирования вашей схемы было бы сделать полную аналогию с взломом, обсуждаемой в this question, и объяснил это в своем answer nneonneo. Это приведет к созданию оптимального дерева сумматоров, вместо того, чтобы полагаться на последовательный подсчет. Идея заключается в том, что на каждом уровне вы знаете, как ограничить максимально возможную сумму подмножества входов и в том, сколько бит оно будет соответствовать, исключая необходимость в переносном бите. Подход к программированию рассчитан на 32 бита, но легко модифицируется по меньшей мере или больше.

Для получения более полных алгоритмов вычисления веса Хэмминга см. this link.

Смежные вопросы