Сверточный кодер с заданной скоростью

ЦОС, обработка видео и изображений в MATLAB\Simulink

Модератор: Admin

AlSim
Пользователь
Сообщения: 72
Зарегистрирован: Пт сен 22, 2006 11:40 pm

Сверточный кодер с заданной скоростью

Сообщение AlSim » Ср мар 20, 2013 3:44 pm

Доброго времени суток!

В симулинке необходимо реализовать сверточный кодер для скорости кодирования R = 20/27. Как лучше это сделать? Возможно ли это выполнить, используя только библиотечный блок Convolutional Encoder и его настройки? А затем с помощью стандартного Витерби декодировать?

sandy
Эксперт
Сообщения: 5553
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Сообщение sandy » Ср мар 20, 2013 6:56 pm

Возможно ли это выполнить, используя только библиотечный блок Convolutional Encoder и его настройки? А затем с помощью стандартного Витерби декодировать?

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

Александр Сергиенко

AlSim
Пользователь
Сообщения: 72
Зарегистрирован: Пт сен 22, 2006 11:40 pm

Сообщение AlSim » Чт мар 21, 2013 9:33 am

Не знаю насколько это экзотически: с блочного кодера выходит бинарный вектор размерностью - [120 1], он обязательно должен поступать на вход сверточного кодера, после которого размерность вектора должна стать - [162 1]. Вот я и решил, что мне необходима скорость сверточного кода R = 120/162 = 20/27. Корректно так ставить задачу?

sandy
Эксперт
Сообщения: 5553
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Сообщение sandy » Чт мар 21, 2013 11:20 am

Это мало что говорит. Описание кода у вас есть?
С уважением



Александр Сергиенко

AlSim
Пользователь
Сообщения: 72
Зарегистрирован: Пт сен 22, 2006 11:40 pm

Сообщение AlSim » Чт мар 21, 2013 12:46 pm

В том-то и дело, что я и пытаюсь сейчас сообразить как бы построить нужный мне сверточный код. Т.е, на данный момент я пытаюсь подбирать параметры: длину регистра, количество сумматоров, схему перфорации. Надо построить сверточный код, работающий на данной скорости (R = 20/27). Именно данная скорость поможет мне внести нужную избыточность в код. Не эксперт в этом вопросе, но пытаюсь разобраться. Если возможно мне посоветовать какие-то параметры кода, то посоветуйте, пжс-та.

sandy
Эксперт
Сообщения: 5553
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Сообщение sandy » Чт мар 21, 2013 8:48 pm

кодер со скоростью 2/3 и выкалывание 9/10?
С уважением



Александр Сергиенко

AlSim
Пользователь
Сообщения: 72
Зарегистрирован: Пт сен 22, 2006 11:40 pm

Сообщение AlSim » Пт мар 22, 2013 11:24 am

Александр Борисович, огромное Вам Спасибо! Вы мне показали как подобрать параметры сверточного кода. Я сделал так: вектор [120 1] на входе, далее СК с rate = 1/3 (poly2trellis(5, [37 33 25])) и выкалывание - 9/20, на выходе желаемый - [162 1]. Выкалывание настроил произвольным образом: [1; 1; 0; 1; 0; 0; 1; 0; 1; 0; 0; 1; 0; 0; 1; 0; 1; 0; 1; 0]. Есть для этой процедуры какие-то закономерности? При жестком декодировании по Витерби тоже все, вроде бы как, в порядке. Не подскажете, если у меня на входе Витерби вектор [162 1], то параметр задержки равный 34 вполне достаточен в режиме "truncated"? И еще раз - Огромное Спасибо!

sandy
Эксперт
Сообщения: 5553
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Сообщение sandy » Пт мар 22, 2013 7:43 pm

Есть для этой процедуры какие-то закономерности?

Детально вникать не приходилось. Насколько я понимаю, позиции выкалывания должны быть примерно равномерно разбросаны между тремя выходными битами базового кода, чтобы не было заметных перекосов.
Не подскажете, если у меня на входе Витерби вектор [162 1], то параметр задержки равный 34 вполне достаточен в режиме "truncated"?

162 здесь ни при чем. Согласно общим принципам, требуемая задержка равна 5 кодовым ограничениям, т.е. в данном случае достаточно 25. Как на нее влияет выкалывание, разбираться не приходилось.
С уважением



Александр Сергиенко

Ришка
Пользователь
Сообщения: 22
Зарегистрирован: Вт мар 24, 2015 5:33 pm

Re: Сверточный кодер с заданной скоростью

Сообщение Ришка » Чт авг 04, 2016 10:05 am

Всем доброго дня!
Вопрос: есть ли функция в матлабе, генерирующая порождающий полином для сверточного кода? (наподобие bchgenpoly для bch-кодов) и если ее нет, то как задать параметры для poly2trellis(k, ?) (где k - это задержка для входящего k-битового потока, а вот как задать образующий полином - я не знаю(((

sandy
Эксперт
Сообщения: 5553
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Сверточный кодер с заданной скоростью

Сообщение sandy » Чт авг 04, 2016 10:24 am

а вот как задать образующий полином - я не знаю

А что знаете (про нужный код)?
С уважением



Александр Сергиенко

Ришка
Пользователь
Сообщения: 22
Зарегистрирован: Вт мар 24, 2015 5:33 pm

Re: Сверточный кодер с заданной скоростью

Сообщение Ришка » Чт авг 04, 2016 10:27 am

согласно литературе и исходя из схемотехники, весь этот полином берется из набора регистров и сумматоров по модулю 2, выходы вот этих сумматоров и есть те самые нужные полиномы....а вот как построить эти полиномы с точки зрения математики (матлаба)???

sandy
Эксперт
Сообщения: 5553
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Сверточный кодер с заданной скоростью

Сообщение sandy » Чт авг 04, 2016 4:46 pm

а вот как построить эти полиномы с точки зрения математики

Взять из литературы готовые.
С уважением



Александр Сергиенко

Ришка
Пользователь
Сообщения: 22
Зарегистрирован: Вт мар 24, 2015 5:33 pm

Re: Сверточный кодер с заданной скоростью

Сообщение Ришка » Чт авг 04, 2016 5:39 pm

Спасибо за ответ!
Видимо, как-то все сложно в построении этих полиномов, раз даже в матлабе эту функцию не реализовали (((