![]() |
|
![]() ![]() ![]() |
|
ViperYa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.7.2010 Репутация: нет Всего: нет |
Всем доброго времени суток!
Пишу дипломную работу на тему Сверточного кодирования, и соответственно декодирования данных. Кодер и декодер пишу на C#. Кодер как таковой готов, декодер по алгоритму Витерби тоже. С помехоустойчивостью пока не очень хорошо, но собираюсь попробовать использовать мягкое декодирование.. там посмотрим что получится. А вопрос состоит вот в чем: как лучше продемонстрировать работу кодера-декодера? В голове пока примитивные и не очень интересные варианты: 1) Закодировать текст - зашумить - раскодировать 2) То же самое, только с изображением.. 3) Отобразить на интерфейсе в виде решетчатой диаграммы процесс кодирования(и в особенности декодирования) Буду благодарен за все предложения, как по самой реализации кодирования(увеличение помехоустойчивости), так и по способу представления! |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 2 Всего: 17 |
А ты как зашумлять собрался?
Свёрточные вроде как хорошо борются с межсимвольной интерференцией. Есть смысл напустить на данные именно её (с разной величиной памяти канала), а потом типа победить её. Добавлено через 7 минут и 40 секунд По поводу повышения помехоустойчивости: Добавлено через 11 минут и 38 секунд "Хорошие" свёрточные коды могут быть найдены путём моделирования. Т.е. не придумано чёткой процедуры, что выбираем свёрточный код с такой то структурой и он будет иметь такие то свойства. Строят код, а потом проверяют насколько он хорош. Не знаю, можно ли в рамки дипломной работы уместить данное исследование. Скорее стоит исследовать и сравнить несколько конкретных свёрточных кодов (конечно не тех, какторые уже от начала до коца разжёваны в литературе). Вообще для таких вопросов существует руководитель диплома. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
ViperYa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.7.2010 Репутация: нет Всего: нет |
Зашумлять собрался простым случайным повреждением определенного числа битов кодовой последовательности.. Либо, когда сделаю мягкое декодирование - сложением с белым шумом..
Идея со сравнением сверточных кодов с разными параметрами достаточно хорошая.. Если как-то объединить с восстановлением данных, то что-то хорошее обрисовывается..
В нашем университете руководитель диплома - это просто формальность.. Он только дает направление, все остальное ты делаешь сам.. Никаких советов, никакой помощи Основным негласным "требованием" к дипломному проекту является его эффектность, а не полезность или даже рабочесть.. А мне охота объединить хотя бы два из этих параметров) |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 2 Всего: 17 |
Можешь посмотреть книгу М.Вернер "Основы кодирования". Там есть примеры свёрточных кодов и их работы в виде сетевых диаграмм (например в 21-битную последовательность вносится 5 ошибок и они исправляются). Если продемонстрировать динамически как работает такая диаграмма, как происходит восстановление данных, то может получиться эффектно. Книгу в сети можно найти в формате djvu.
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
ViperYa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.7.2010 Репутация: нет Всего: нет |
Спасибо. Книга имеется, но именно в нее не заглядывал.. Сейчас посмотрю что там есть, т.к. 5 ошибок на 21 бит это очень впечатляет.
У меня декодер Витерби исправляет со 100%-й вероятностью только 1-2 ошибки из 16 кодовых битов при скорости 1/2 и параметрах (7, 5).. |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 2 Всего: 17 |
Я наверно немного преувеличил. Полезных (информационных) битов меньше. При кодировании они превращаются в 21 бит. Потом в них портится 5. В итоге декодер определяет правильный информационный вектор.
Добавлено через 2 минуты и 51 секунду Кстати! я когда этот пример из книги разбирал по шагам (давно это было), я обнаружил ошибки (опечатки) в промежуточных состояниях декодера. Но результат всё равно верный - всё декодируется. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
ViperYa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.7.2010 Репутация: нет Всего: нет |
Нет-нет, все верно говоришь! Это весьма хороший результат - 23% испорченных данных.. Правда в книгах иногда берут кодовые последовательности и позиции ошибок такие, что исходные данные восстанавливаются очень легко, однако на других примерах всё получается гораздо плачевнее.. Ушел читать..
Это сообщение отредактировал(а) ViperYa - 12.4.2012, 07:06 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |