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

 
 
> Декодер Витерби, Программная реализация на C под ARM
Grizzzly
сообщение Dec 26 2013, 16:02
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Необходимо реализовать декодер Витерби на C под ARM 7, код (133, 171), скорость 200 бит/с. Однако вопросы, скорее, теоретические.
Собираюсь копить в буфере несколько сотен символов, затем их декодировать, потом переходить к следующей порции. При переходе к новому блоку нужно сохранять предыдущее состояние декодера и метрики ребер или же начинать всё с нуля?
Во всех книгах и статьях декодирование начинается из нулевого состояния. Обязательно ли нужна начальная синхронизация декодера или можно обойтись без неё, сразу начав декодирование?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Grizzzly
сообщение Jan 25 2014, 12:59
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



И тогда уж, наверное, последний вопрос. Вернее, просьба посоветовать. Что лучше - хранить в константном массиве таблицы переходов состояний и выходных бит для ветвей или всё время вычислять их непосредственно при декодировании? По-моему, лучше хранить эти две таблицы, чтобы не выполнять лишних операций. Я сам недавно институт закончил, так получилось, что в отделе сейчас программистов больше нет. Не с кем посоветоваться. Раньше в Матлабе множество декодеров моделирвал, тогда осоюо не приходилось задумываться ни о памяти, ни о быстродействии. У Морелоса как раз первый вариант. Но, понятное дело, этот пример не для "железа", а для обучения.

Сообщение отредактировал Grizzzly - Jan 25 2014, 14:03
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jan 25 2014, 16:04
Сообщение #3


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

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



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

Что касается еще одной опорной точки для вас, то посмотрите исходники декодера от Phil Karn (ka9q). На них и Морелос ссылается.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Grizzzly   Декодер Витерби   Dec 26 2013, 16:02
- - andyp   Цитата(Grizzzly @ Dec 26 2013, 20:02) Нео...   Dec 26 2013, 16:21
|- - Grizzzly   Спасибо Вам большое. Да, поток непрерывный. Цитата...   Dec 26 2013, 16:50
- - thermit   ЦитатаGrizzzly: А почему из состояния с максимальн...   Dec 26 2013, 17:57
|- - andyp   Цитата(thermit @ Dec 26 2013, 21:57) Смот...   Dec 26 2013, 18:12
|- - Grizzzly   Цитата(andyp @ Dec 26 2013, 22:12) +1. Та...   Dec 26 2013, 18:58
- - Grizzzly   Реализовал вариант с traceback'ом, всё работае...   Jan 23 2014, 17:45
|- - Fat Robot   С точки зрения быстродействия при программной реал...   Jan 23 2014, 21:03
|- - Grizzzly   Спасибо большое за столь исчерпывающий ответ. Я ка...   Jan 24 2014, 15:51
|- - Fat Robot   Ваши затраты памяти я оставлю без комментариев, ес...   Jan 24 2014, 16:08
|- - Grizzzly   Цитата(Fat Robot @ Jan 24 2014, 20:08) Пр...   Jan 24 2014, 16:36
|- - Fat Robot   Про память: я не пытался понять ваших выкладок. ...   Jan 24 2014, 16:47
|- - Grizzzly   Цитата(Fat Robot @ Jan 24 2014, 20:47) По...   Jan 24 2014, 17:40
|- - Fat Robot   В теории вам нужно бы иметь оценку отношения сигна...   Jan 24 2014, 18:46
|- - Grizzzly   Угу, думал про поддиапазоны SNR, но решил не замор...   Jan 25 2014, 07:06
- - Grizzzly   Спасибо, уже смотрю.   Jan 25 2014, 16:31


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

 


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


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