Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проверка турбодекодера
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
DMax
Други!

Я тут с коллегой реализую турбодекодер. Коллега накодил модель в матлабе, я её перенёс на С. В процессе переноса выяснили, что коллега в матлабе перепутал интерливер и деинтерливер местами. Однако у него декодер исправлял ошибки. В общем на всякий случай решили проверить, стало ли лучше от того, что мы поставили интерливер на место. Проверили. Оказалось, что стало хуже smile.gif Проверяли в матлабе на большом количестве блоков с АБГШ.

Отсюда вопрос. Как бы сделать какой-нибудь юнит-тест, который может определить корректность турбодекодера. То есть не по принципу "вроде что-то исправляет - значит работает" или "вроде стало лучше, значит было не правильно", а, например, по принципу того, что апостериорные вероятности строго совпадают со значениями, полученными каким-нибудь другим (непонятно пока каким) спобом.
Serg76
Цитата(DMax @ Oct 30 2009, 20:13) *
Други!

Я тут с коллегой реализую турбодекодер. ..........

слепите в том же матлабе приемо-передающий тракт: генератор ПСП -> кодер -> перемежитель -> модулятор -> канал с АБГШ -> демодулятор -> деперемежитель -> декодер -> калькулятор BER. Изменяя значения С/Ш в канале стройте кривую помехоустойчивости вашего декодера и делайте все возможное чтобы приблизить ее к теоретической для данного вида кода.
DMax
Цитата(Serg76 @ Oct 30 2009, 20:54) *
слепите в том же матлабе приемо-передающий тракт: генератор ПСП -> кодер -> перемежитель -> модулятор -> канал с АБГШ -> демодулятор -> деперемежитель -> декодер -> калькулятор BER. Изменяя значения С/Ш в канале стройте кривую помехоустойчивости вашего декодера и делайте все возможное чтобы приблизить ее к теоретической для данного вида кода.


В матлабе допустим такое сделать можно. Но интересен вообще вопрос, так сказать, в вакууме. Положим я сделал некий программный модуль, например, на С или VHDL - не важно. Как, не реализовывая физику всей вселенной (шумы, замирания и прочее), проверить, что изменения внесенные в него, хотя бы не сломали или не сделали хуже его перфоманс (в плане исправления ошибок, а не быстродействия). То есть некий простой юнит тест.
SKov
Цитата(DMax @ Nov 2 2009, 15:56) *
В матлабе допустим такое сделать можно. Но интересен вообще вопрос, так сказать, в вакууме. Положим я сделал некий программный модуль, например, на С или VHDL - не важно. Как, не реализовывая физику всей вселенной (шумы, замирания и прочее), проверить, что изменения внесенные в него, хотя бы не сломали или не сделали хуже его перфоманс (в плане исправления ошибок, а не быстродействия). То есть некий простой юнит тест.

Можно попробовать отдельно погонять декодер как бы в ДСК и проверить, все ли он исправляет в соответствии со своим свободным расстоянием.
Если вы ничего в нем не поломали, то выходная последовательность и метрики узлов всегда будут повторяться после внесения очередной непринципиальной модификации.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.