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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Golay (12,6,6)
GeGeL
сообщение Feb 19 2015, 21:26
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Спасибо, витерби выглядит весьма привлекательно к задаче.
Почитал лекцию:
http://web.mit.edu/6.02/www/f2010/handouts/lectures/L9.pdf
Нашел подходящую готовую реализацию:
http://gnuradio.org/redmine/attachments/do...io-3.7.5.tar.gz
Окно декодирования 64 бита (в принципе, приемлемо, для 81-битный MELPE-блок даст лишние 53 mS латентности и потребует буферизации 67.5 mS фрейма перед проигрыванием). Выдача декодера - каждые 16 бит, тоже приемлемо. K=7, rate=1/2.
Мягкое декодирование - именно то, что может существенно снизить BER в данном случае, надо подумать о вариантах адекватной оценки Es/N0 в демодуляторе.
Как думаете, какой BER можно скомпенсировать и в какой мере?
Буду пробовать.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Feb 19 2015, 21:47
Сообщение #32


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Viterbi perfomance в сети полно, можете сами прикинуть какой ЭВК нужен, не забывайте, что сложность декодирования по Витерби экспоненциально зависит от длины кодового ограничения K. Если уж зашла речь о сверточных кодах, то может для лучшего согласования с модуляцией в вашем случае можно будет применить недвоичные сверточные коды (турбокоды), что-нибудь по мотивам DVB-RCS, о котором упоминал des00 в начале топика.
Go to the top of the page
 
+Quote Post
andyp
сообщение Feb 19 2015, 21:53
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(GeGeL @ Feb 19 2015, 22:33) *
Спасибо, сейчас почитаю о витерби. Я так понял, он использует 7-битные символы в виде блока произвольной длины? Вариант 2*12 блоков выглядит интересным. Что он может скорректировать? Можно ли на входе использовать мягкие биты (в моем случае соотношение энергий в предполагаемых позициях пульсов в виде float)?


Нет 7 - это просто память регистра, используемого в кодере. Этот код сверточный, так что блоки могут быть любыми, больше примерно 30 бит. На счет BER на сколько помню, жесткое декодирование дает выигрыш ~7 dB ну и еще ~2.5 dB даст мягкое декодирование.

Это очень грубая оценка. К сожалению под рукой нет weight enumerator function стандартного кода, чтобы посчитать BER. Можете поискать в интернете кривые BER кода (133, 171) чтобы прикинуть результаты мягкого декодирования.

Сообщение отредактировал andyp - Feb 19 2015, 21:57
Go to the top of the page
 
+Quote Post
Serg76
сообщение Feb 19 2015, 21:56
Сообщение #34


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(andyp @ Feb 20 2015, 00:53) *
На счет BER на сколько помню, жесткое декодирование дает выигрыш ~7 dB ну и еще ~2.5 dB даст мягкое декодирование.

наверное, это все-таки для каскадной схемы RSV, для чистого Витерби многовато
Go to the top of the page
 
+Quote Post
andyp
сообщение Feb 19 2015, 22:13
Сообщение #35


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Serg76 @ Feb 20 2015, 00:56) *
наверное, это все-таки для каскадной схемы RSV, для чистого Витерби многовато


Может быть. Книжек под рукой нет. Вот картинка для мягкого 8-уровней квантования:

Сообщение отредактировал andyp - Feb 19 2015, 22:13
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Serg76
сообщение Feb 19 2015, 22:38
Сообщение #36


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(andyp @ Feb 20 2015, 01:13) *
Может быть. Книжек под рукой нет. Вот картинка для мягкого 8-уровней квантования:

как я и отмечал выше, где-то 5,5 дБ для Pb=1e-6 )))

кое что в памяти еще осталось )))
Go to the top of the page
 
+Quote Post
andyp
сообщение Feb 19 2015, 22:38
Сообщение #37


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Serg76 @ Feb 20 2015, 01:36) *
как я и отмечал выше, где-то 5,5 дБ для Pb=1e-6 )))


Там еще один стандартный код есть с K=9 (полиномов не помню). У него dfree побольше, он получше будет, но декодер сложнее

PS Добрался до Lin Costello и понял, откуда у меня 7 dB в голове оказалось sm.gif

это asymptotic coding gain как 10log10(Rate*d_free/2)

Сообщение отредактировал andyp - Feb 19 2015, 22:48
Go to the top of the page
 
+Quote Post
Serg76
сообщение Feb 19 2015, 22:52
Сообщение #38


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(andyp @ Feb 20 2015, 01:38) *
Там еще один стандартный код есть с K=9 (полиномов не помню). У него dfree побольше, он получше будет, но декодер сложнее

на самом деле их достаточно, из практических есть даже с К = 15 { 0x45dd, 0x69e3 }, для К = 9 { 0x1af, 0x11d } - под стандарт IS-95 CDMA, да в том же GSM c К =5 { 0x13, 0x1b }, а сложность растет экспоненциально от К
Go to the top of the page
 
+Quote Post
andyp
сообщение Feb 19 2015, 23:05
Сообщение #39


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Ну да. Я б все-таки K=15 и Витерби декодер советовать побоялся. Там что-то подоптимальное нужно типа Фано. Сверточные коды с длинным регистром - совершенно забытая сейчас тема. Раньше делали в погоне за d_free.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Feb 20 2015, 00:04
Сообщение #40


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Спасибо, еще почитал Скляра:
http://www.rphf.spbstu.ru/dsp/lib/Sklar_Dig_Com_2003.pdf
теперь более-менее систематизировалось в моем понимании.
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 20 2015, 03:58
Сообщение #41


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



до кучи, если есть матлаб, то bertool строит кривые для сверточных кодов с мягким и жестким решением, также коды хэминга, БЧХ


--------------------
Go to the top of the page
 
+Quote Post
Serg76
сообщение Feb 20 2015, 06:57
Сообщение #42


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(andyp @ Feb 20 2015, 03:05) *
Сверточные коды с длинным регистром - совершенно забытая сейчас тема. Раньше делали в погоне за d_free.

Кстати, да. Я думаю это произошло из-за того, что несмотря на присущие достоинства методов последовательного декодирования (декодирование любых сверточных кодов с большими степенями порождающих полиномов как для мягкого, так и жесткого входа), у них есть один недостаток: в зависимости от уровня канального шума число вычислительных операций для продвижения в каждую следующую кодовую вершину является случайной величиной, что требует наличия достаточно большого объема памяти для буферизации данных, особенно, для мягкого входа, а во времена расцвета сверточного кодирования это было определяющим фактором. Сам как-то из спортивного интереса баловался с Фано, декодировал упоминавшийся здесь код с К = 7, по энергетике, конечно, проигрыш, но по скорости несравнимо выше по сравнению алгоритмом Витерби.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Feb 20 2015, 10:01
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



После беглого ознакомления с темой у меня возник конкретный вопрос: очевидно, существует какой-то максимальный исходный ber, начиная с которого, FEC работает эффективно. Например, Голей исправляет любые 3 ошибки в 23-битном слове, т.о. оценочно исходный BER должен быть не хуже 0.13 (13%).
Как оценить это значение для Витерби r=1/2, K=7, с окном 64 бита (ориентируясь пока на жесткое декодирование)?
Go to the top of the page
 
+Quote Post
andyp
сообщение Feb 20 2015, 11:02
Сообщение #44


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(GeGeL @ Feb 20 2015, 13:01) *
После беглого ознакомления с темой у меня возник конкретный вопрос: очевидно, существует какой-то максимальный исходный ber, начиная с которого, FEC работает эффективно. Например, Голей исправляет любые 3 ошибки в 23-битном слове, т.о. оценочно исходный BER должен быть не хуже 0.13 (13%).
Как оценить это значение для Витерби r=1/2, K=7, с окном 64 бита (ориентируясь пока на жесткое декодирование)?


Если так же грубо, то сверточный код характеризуется понятием d_free. Для кода r=1/2, K=7 d_free = 10.

Оценить вероятность ошибки жесткого декодирования грубо можно по следующей формуле:

P_e ~ B*2^(d_free)*p^(d_free/2)

Для рассматриваемого кода B = 36.

Для BER 1% на входе на выходе получится 3e-6

Только не спрашивайте, откуда я это взял sm.gif


Go to the top of the page
 
+Quote Post
petrov
сообщение Feb 20 2015, 11:44
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(GeGeL @ Feb 20 2015, 13:01) *
После беглого ознакомления с темой у меня возник конкретный вопрос: очевидно, существует какой-то максимальный исходный ber, начиная с которого, FEC работает эффективно. Например, Голей исправляет любые 3 ошибки в 23-битном слове, т.о. оценочно исходный BER должен быть не хуже 0.13 (13%).
Как оценить это значение для Витерби r=1/2, K=7, с окном 64 бита (ориентируясь пока на жесткое декодирование)?


Ошибки не группируются по заказу 3 на блок, в среднем может быть и 3, но например будут встречаться блоки как без ошибок, так и с числом ошибок больше 3, поэтом хорошие коды в принципе имеют большую длину блока, чтобы исправлять неудачные участки с большим количеством ошибок. В вашем случае кодирование может быть не эффективно из-за неудачных последовательностей данных, которые сильно искажаются кодеком, что превышает возможности кода исправлять ошибки.
Go to the top of the page
 
+Quote Post

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

 


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


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