Цитата(Alex_AZ @ Sep 20 2007, 07:58)

Есть набор значений амплитуд, которые может принимать сигнал на передающей стороне. На приемной стороне нужно определить амплитуду отправленного сигнала (в канале, разумеется, есть шум). Оцифровка на приемной стороне - 6 бит. Сделал на VHDL определение амплитуды как кучу сравнений. Но такой вариант реализации не кажется мне красивым. Вопрос - можно урезать ли как-нибудь разрядность оцифровки входного сигнала(с учетом отброшенных бит), чтобы сразу сопоставить значение оцифровки номеру отправленного сигнала.
Один из вариантов наборов сигналов
№ Код Десятичное значение
1 001100 12
2 010010 18
3 110110 -12
4 101110 -18
На первый взгляд можно обойтись первыми двумя битами, но тогда граница будет установлена неверно - вместо 14 граничным значением будет 16. Как эту вещь правильно округлить, может есть какие-нибудь алгоритмы?
Вообще граница между 12 и 18 должна быть 15

.
Вариант такой добавляете к 6ти битному входному числу 3, затем младшие биты отбрасываете.
ну не художники мы...