реклама на сайте
подробности

 
 
> Выделение правильной комбинации
likeasm
сообщение Nov 28 2014, 09:01
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 156
Регистрация: 15-04-10
Пользователь №: 56 673



Имеется систематический кодер 15 бит информации (4 бита инфрмационная часть, 11 избыточная) полином степени 2^4, итого длинна кода 15 бит бит, а дальше по кругу. Декодер на входе анализирует 15 бит информации и по своему закону из последовательности 15 бит выделяет комбинацию в 4 бита, причем комбинация виделяется всегда и может выделиться ложно в зависимости от количесва ошибок. Ложное выделение и требуется исключить. Хочу расширить окно анализации с 15 бит до, скажем, 60 бит(можно и больше), получиться 4 декодера на участке 60 бит. Соседние информационные части связать по какому-нибудь закону F. После декодирования 60 бит 4-мя декодерами анализировать выполнение закона F на выходе декодера для информационной части, если F выполняется, то принимаем комбинацию, если нет, то считаем это мусором или на канале слишком большое количество ошибок. Думаю еще сделать комбинацию синхропосылки, чтобы не анализировать побитово всю последовательноть, а после ее выделения поблочно анализировать данные. Может можно что-нить лучше придумать для снижения вероятности ложного выделения.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Fat Robot
сообщение Nov 28 2014, 10:54
Сообщение #2


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



1. побитово принимаем данные в лз длиной 60 бит
2. методом макс правдоподобия по таблице декодируем 4 слова. Для ускорения можно использовать 2 таблицы
- (2^15) х 4 бита только с минимальными хэмминговыми расстояниями от опорных слов для ускорения процесса поиска и синхронизации
- 16 x 15 бит с "неискаженными" кодовыми словами для декодирования
3. находим сумму мин. хэмминговых расстояний для 4-х слов из лз
4. сравниваем эту сумму с фикс. порогом. Если меньше порога, то считаем, что в лз находятся 4 валидных кодовых слова. Их потом можно декодировать.

Итого:
для быстрого варианта на каждый поступивший в лз бит нужно 4 обращения к таблице, сумма и порог. Но нужна память 16 кбайт.

для медленного варианта на каждый бит нужно 4 раза сделать поиск в таблице из 16 значений подсчетом хэммингового расстояния и выбором минимального. Но затрат по памяти почти нет. Сложность подсчета хэммингового расстояния и веса O(log( bitwidth )) т.е. невелика. Можно этот вариант ускорить за счет табличного вычисления весов для частей слова.

Это были варианты "в лоб".

Для оптимизации можно завести ЛЗ с весами хэмминга с отводами от каждого 15-го элемента. Тогда декодировать методом макс. правдоподобия придется только одно 15-ти битовое слово на один принятый бит. В этом случае удлиннение окна поиска на каждые 15 бит приведет лишь к 1 дополнительному сумматору . Для вычисления суммы весов можно использовать вариант "скользящего среднего" с вычитателем и сумматором. Таких надо 15 шт. В этом случае окно поиска можно увеличивать безгранично при фиксированной сложности.

В общем вариантов по реализации много.

Ну а "выкинь всё и сделай заново" - это, как всегда, солидно, хотя обработка 60 бит "в целом" в канале с абшг будет давать выигрыш по сравнению с обработкой по частям. Здесь спору нет.

Цитата(likeasm @ Nov 28 2014, 10:01) *
Имеется систематический кодер 15 бит информации (4 бита инфрмационная часть, 11 избыточная)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 03:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.03023 секунд с 7
ELECTRONIX ©2004-2016