|
Коды для восстановления ошибок, какой алгоритм применить? |
|
|
|
 |
Ответов
|
Nov 7 2011, 19:03
|
Частый гость
 
Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986

|
Цитата(777777 @ Nov 7 2011, 19:04)  При чем тут интеллект? Код передается как амплитуда одного периода синусоиды. имеется 16 градаций амплитуды и таким образом один период кодирует 4 бита. Но вследствие помех в канале измерение иногда дает результат, отличающийся на единицу. Так отож. И при чем здесь кодирование? У вас проблемы с измерениями а не в канале связи. Вы принципиально решаете не ту задачу. Лучше решить вопросы с 4-х битным АЦП. А самый младший бит будет гулять - тут уж закон природы АЦП. Нужно 5 разрядов.
|
|
|
|
|
Nov 8 2011, 09:12
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(i-mir @ Nov 7 2011, 23:03)  Так отож. И при чем здесь кодирование? У вас проблемы с измерениями а не в канале связи. Вы принципиально решаете не ту задачу. Лучше решить вопросы с 4-х битным АЦП. А самый младший бит будет гулять - тут уж закон природы АЦП. Нужно 5 разрядов. Не пытайтесь понять меня неправильно ©. Телеметрию канала я описал в сообщении #8. Амплитуда несущей синусоиды измеряется 14-разрдным АЦП с периодом 0.96 мкс, но в канале есть шумы, которые тоже измеряются в результате чего возникает ошибка. Идея с переводом данных в код Грея + Хемминг конечно интересна, но сам код Хемминга требует большой избыточночти, с таким же успехом можно уменьшить число градаций амплитуды вдвое. Но обидно, что ошибка случаеся редко, одна на несколько десятков слов, а из-за этого не хочется уменьшать скорость в разы. Тогда уж лучше воспользоваться Ридом-Соломоном, для него даже есть исходники, настраивающиеся на разные размеры слов. Но я надеялся что если ошибка меняет значение слова на единицу, то может для такого случая есть коды с еще меньшей избыточностью. Цитата(GetSmart @ Nov 7 2011, 23:26)  Очень предположительно, канал аналоговый. Или полуаналоговый. И ошибки аналоговые (+-1). Вообще, подробности ТС зажал. Это не предположительно, это так и есть, написано об этом в сообщении #8 Цитата(GetSmart @ Nov 7 2011, 23:26)  Возможно подошли бы и другие методы повышения помехоустойчивости в аналоговом канале. Все резервы повышения на аналоговом уровне исчерпаны. Сигнал оцифровывается 16 раз за 15.84 мкс и из суммы квадратов извлекается квадратный корень. От количества отсчетов точность зависит очень сильно, но больше 16 я измерить уже не могу, имеющаяся аппаратура не позволяет. Поэтому остаются чисто математические методы.
|
|
|
|
|
Nov 8 2011, 09:19
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(777777 @ Nov 8 2011, 11:12)  Сигнал оцифровывается 16 раз за 15.84 мкс и из суммы квадратов извлекается квадратный корень. А почему складываете квадраты, а не просто числа? А результат измерения всегда будет скакать на 1, никакими способами от этого не избавиться, можно только сделать реже или чаще. P.S. а про Грэя так и остался в непонятках.  Тоже считаю, что проблема не в связи, а в измерении. P.P.S. Добавьте бит четности, будете обнаруживать одиночную ошибку. И отбрасывать такой код.
|
|
|
|
|
Nov 8 2011, 09:50
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(ViKo @ Nov 8 2011, 13:19)  А почему складываете квадраты, а не просто числа? Потому что только так можно измерить амплитуду синусоиды. Да еще чтобы полученное значение не зависело от положения первой точки. Цитата(ViKo @ Nov 8 2011, 13:19)  А результат измерения всегда будет скакать на 1, никакими способами от этого не избавиться, можно только сделать реже или чаще. С чего бы ему скакать, если амплитуды дискретны и отстоят далеко? Только помеха может исказить сигнал. Цитата(ViKo @ Nov 8 2011, 13:19)  P.S. а про Грэя так и остался в непонятках.  Если в кратце - код Хемминга позволяет исправить один испорченный бит. Код Грея позволяет превратить изменение числа на +-1 в изменение одного бита (и задача сводится к предыдущей как в анекдоте про чайник) Цитата(ViKo @ Nov 8 2011, 13:19)  P.P.S. Добавьте бит четности, будете обнаруживать одиночную ошибку. О отбрасывать такой код. Это понятно, до этого так и делали. Но жалко выбрасывать целый пакет если в нем всего одна-две ошибки, да еще и отличающиеся всего на единицу.
|
|
|
|
|
Nov 8 2011, 10:52
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(777777 @ Nov 8 2011, 11:50)  Потому что только так можно измерить амплитуду синусоиды. Да еще чтобы полученное значение не зависело от положения первой точки. С чего бы ему скакать, если амплитуды дискретны и отстоят далеко? Только помеха может исказить сигнал. Там на картинке вы измеряете с интервалом 1/8 от периода, а пишете 1/4. Остальное правильно. А частота у вас известна точно? Если амплитуды дискретны, и отстоят далеко, но попадают как раз на переход от одного кода к следующему (например, точно между 0111 и 1000), и от малейшего дуновения ветра выскакивает результат то один, то другой? Усредните результат отдельных измерений амплитуды. Сложите 16 результатов и поделите на 16. Еще раз про Грэя.  Вы подменили двоичный код на код Грэя. Передали свой код Грэя. Вместо изменения (из-за ошибки, неважно какой, измерения, или в канале связи) 0111->1000 получили 0100->1100. И как вы обнаружите, что число неверное? И вообще - ошибка на единицу младшего разряда - это и не ошибка даже, а основополагающее свойство цифровой природы! Цитата(777777 @ Nov 8 2011, 11:50)  Это понятно, до этого так и делали. Но жалко выбрасывать целый пакет если в нем всего одна-две ошибки, да еще и отличающиеся всего на единицу. ЕМНИП, для исправления одиночной ошибки в 8-битовом слове нужно добавить еще 3 бита. Код Хэмминга.
|
|
|
|
|
Nov 8 2011, 11:53
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(ViKo @ Nov 8 2011, 05:52)  Вы подменили двоичный код на код Грэя. Передали свой код Грэя. Вместо изменения (из-за ошибки, неважно какой, измерения, или в канале связи) 0111->1000 получили 0100->1100. И как вы обнаружите, что число неверное? уже раза 3 писали что грея нужно использовать с корректирующим кодом. Цитата И вообще - ошибка на единицу младшего разряда - это и не ошибка даже, а основополагающее свойство цифровой природы! это вообще не к месту. Поиграю в телепата. У автора есть система связи. формирователь пакетов -> бинарный маппер -> модулятор -> канал с АБГШ + наводки -> демодулятор -> жесткое решение -> бинарный демаппер -> приемник пакетов. Иногда у него случаются ошибки в жестоком решении, которые приводят к тому, что вместо символа принимается его сосед. Именно символа, а не бита, цифрового кода АЦП и т.д. Маппер/демаппер осуществляют преобразование двоичного кода в символы канала и наоборот. Для кодов со спектральной эффективностью выше 1 бита на символ(у автора 4 бита на символ), в общем случае, символьная ошибка != битовой ошибке. При используемом автором методе формирования символа (бинарный маппер), одиночная символьная ошибка(у автора принятие соседа) может дать 4 битовых ошибки. Поэтому лучше использовать вместо бинарного отображения, отображение по грею(кодер грея). В этом случае, при приеме соседнего символа (символьная ошибка), всегда будет 1 битовая ошибка. Но если ошибка в символе будет такова, что будет использован не соседний символ, а какой либо другой, то кол-во битовых ошибок будет больше. А вот затем, эти битовые ошибки корректируются в декодере, с определенной исправляющей способностью. Осталось только выбрать алгоритм декодера. Читайте классиков.
--------------------
|
|
|
|
|
Nov 8 2011, 12:16
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата Иногда у него случаются ошибки в жестоком решении, которые приводят к тому, что вместо символа принимается его сосед. Именно символа, а не бита, цифрового кода АЦП и т.д. Вот это вы каким образом "стелепатировали", про соседа? Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. "Число становится на единицу больше или меньше". Вот если бы был канал связи, в котором наиболее вероятны ошибки, при которых принимается "сосед" из кодового множества, то ваши рассуждения имели бы правоту. Из постов топикстартера этого не видно. По-моему, вы преувеличиваете техническую сложность канала связи 777777.
|
|
|
|
Сообщений в этой теме
777777 Коды для восстановления ошибок Nov 6 2011, 08:43 Serg76 Цитата(777777 @ Nov 6 2011, 12:43) Телеме... Nov 6 2011, 09:04 777777 Цитата(Serg76 @ Nov 6 2011, 13:04) Расшир... Nov 7 2011, 09:40  Serg76 Цитата(777777 @ Nov 7 2011, 12:40) Но они... Nov 7 2011, 11:44   777777 Цитата(Serg76 @ Nov 7 2011, 15:44) Это ка... Nov 7 2011, 12:15    SKov Цитата(777777 @ Nov 7 2011, 16:15) Да, но... Nov 7 2011, 12:51    des00 Цитата(777777 @ Nov 7 2011, 07:15) Да, но... Nov 7 2011, 16:54     GetSmart Цитата(des00 @ Nov 7 2011, 21:54) код гре... Nov 7 2011, 17:05      des00 Цитата(GetSmart @ Nov 7 2011, 11:05) Я та... Nov 7 2011, 17:12    paskal Цитата(777777 @ Nov 7 2011, 15:15) Да, но... Nov 7 2011, 18:27    Serg76 Цитата(777777 @ Nov 7 2011, 16:15) Да, но... Nov 7 2011, 18:44 i-mir Интерес вызывает именно Ваш канал передачи данных.... Nov 7 2011, 15:31 777777 Цитата(i-mir @ Nov 7 2011, 19:31) Ин... Nov 7 2011, 16:04 GetSmart Цитата(i-mir @ Nov 8 2011, 00:03) Та... Nov 7 2011, 19:19       des00 Цитата(ViKo @ Nov 8 2011, 06:16) Вот это ... Nov 8 2011, 12:27       GetSmart Цитата(ViKo @ Nov 8 2011, 17:16) Говорено... Nov 8 2011, 12:27  des00 Цитата(777777 @ Nov 8 2011, 04:12) Идея с... Nov 8 2011, 09:23   ViKo Цитата(des00 @ Nov 8 2011, 11:23) любой у... Nov 8 2011, 09:25    des00 Цитата(ViKo @ Nov 8 2011, 03:25) конретно... Nov 8 2011, 09:42 i-mir Цитата(GetSmart @ Nov 7 2011, 22:19) Там ... Nov 7 2011, 19:23 GetSmart Цитата(i-mir @ Nov 8 2011, 00:23) Во... Nov 7 2011, 19:26 ViKo Про код Грэя не понял. В канале ж не передаются мо... Nov 8 2011, 07:25 des00 Цитата(ViKo @ Nov 8 2011, 01:25) Про код ... Nov 8 2011, 07:35 Serg76 Цитата(ViKo @ Nov 8 2011, 10:25) Про код ... Nov 8 2011, 07:46 ViKo То, что описал ТС - это не ошибка в канале передач... Nov 8 2011, 08:03 des00 Цитата(ViKo @ Nov 8 2011, 03:03) Или в ко... Nov 8 2011, 08:11  ViKo Цитата(des00 @ Nov 8 2011, 10:11) читали ... Nov 8 2011, 08:31 Serg76 Цитата(ViKo @ Nov 8 2011, 11:03) То, что ... Nov 8 2011, 08:33 Fast в лоб
добавьте два бита, которые будут содержать р... Nov 8 2011, 10:21 i-mir Цитата(777777 @ Nov 8 2011, 12:12) Все ре... Nov 8 2011, 10:24 777777 Цитата(i-mir @ Nov 8 2011, 14:24) Из... Nov 8 2011, 11:34 Fast p.s. аналогично, никогда не встречал, чтобы в цифр... Nov 8 2011, 10:57 Serg76 Цитата(Fast @ Nov 8 2011, 13:57) p.s. ана... Nov 8 2011, 11:22  Fast Цитата(Serg76 @ Nov 8 2011, 15:22) Канал ... Nov 8 2011, 11:59 Serg76 To 777777
Так все-таки какой длины пакеты? Иначе м... Nov 8 2011, 12:12 777777 Цитата(Serg76 @ Nov 8 2011, 16:12) To 777... Nov 8 2011, 12:38  des00 Цитата(777777 @ Nov 8 2011, 06:38) Вообще... Nov 8 2011, 12:43   777777 Цитата(des00 @ Nov 8 2011, 16:43) если за... Nov 8 2011, 12:52    des00 Цитата(777777 @ Nov 8 2011, 06:52) Что эт... Nov 8 2011, 12:58     777777 Вот уж не думал что эта задача вызовет такой бурны... Nov 8 2011, 18:08      Fast Цитата(777777 @ Nov 8 2011, 22:08) Как я ... Nov 8 2011, 18:17       777777 Цитата(Fast @ Nov 8 2011, 22:17) гораздо ... Nov 8 2011, 18:26        Serg76 Цитата(777777 @ Nov 8 2011, 22:26) Что зн... Nov 8 2011, 18:30        Fast Цитата(777777 @ Nov 8 2011, 22:26) Что зн... Nov 8 2011, 18:34      Serg76 Цитата(777777 @ Nov 8 2011, 21:08) Как я ... Nov 8 2011, 18:18  ViKo Т.е. 16-ю уровнями амплитуды некой несущей вы пере... Nov 8 2011, 13:02 ViKo Цитирую для телепатов дословно, сообщение №5:
... Nov 8 2011, 12:32 GetSmart Цитата(ViKo @ Nov 8 2011, 17:32) Цитирую ... Nov 8 2011, 12:35 777777 Цитата(ViKo @ Nov 8 2011, 16:32) Что ж вы... Nov 8 2011, 12:46 Serg76 Есть длинные БЧХ с достаточной для Вашего случая к... Nov 8 2011, 12:51 GetSmart Осмелюсь предложить 4 битный FSK, который элемента... Nov 8 2011, 12:59 Serg76 Цитата(GetSmart @ Nov 8 2011, 15:59) Осме... Nov 8 2011, 15:40 777777 Цитата(GetSmart @ Nov 8 2011, 16:59) Осме... Nov 8 2011, 18:24  Serg76 Цитата(777777 @ Nov 8 2011, 22:24) Если F... Nov 8 2011, 18:26  GetSmart Цитата(777777 @ Nov 8 2011, 23:24) Если F... Nov 8 2011, 18:29   777777 Цитата(GetSmart @ Nov 8 2011, 22:29) Да, ... Nov 8 2011, 18:52    Serg76 Цитата(777777 @ Nov 8 2011, 22:52) Пробов... Nov 8 2011, 18:57     777777 Цитата(Serg76 @ Nov 8 2011, 22:57) ЧМ тео... Nov 8 2011, 19:19      Serg76 Цитата(777777 @ Nov 8 2011, 23:19) И след... Nov 8 2011, 19:33    GetSmart Цитата(777777 @ Nov 8 2011, 23:52) Но из-... Nov 8 2011, 18:57     777777 Цитата(GetSmart @ Nov 8 2011, 22:57) Нужн... Nov 8 2011, 19:10      GetSmart Цитата(777777 @ Nov 9 2011, 00:06) Почему... Nov 8 2011, 19:11      Serg76 Цитата(777777 @ Nov 8 2011, 23:10) Насчет... Nov 8 2011, 19:16       GetSmart Цитата(Serg76 @ Nov 9 2011, 00:16) синусо... Nov 8 2011, 19:26        des00 Цитата(GetSmart @ Nov 8 2011, 14:26) У не... Nov 9 2011, 03:30        777777 Цитата(GetSmart @ Nov 8 2011, 23:26) У не... Nov 9 2011, 05:18 i-mir Цитата(777777 @ Nov 8 2011, 16:38) ... Вн... Nov 8 2011, 15:09 777777 Цитата(i-mir @ Nov 8 2011, 19:09) А ... Nov 8 2011, 18:35 Fast перед всякими КАМами и ФСК неплохо бы прояснить, к... Nov 8 2011, 16:36 Serg76 Цитата(Fast @ Nov 8 2011, 19:36) неплохо ... Nov 8 2011, 16:49  Fast Цитата(Serg76 @ Nov 8 2011, 20:49) А для ... Nov 8 2011, 17:05 GetSmart Цитата(Fast @ Nov 8 2011, 21:36) перед вс... Nov 8 2011, 16:58  Serg76 Цитата(GetSmart @ Nov 8 2011, 20:58) ИМХО... Nov 8 2011, 17:09   Fast Цитата(Serg76 @ Nov 8 2011, 21:09) А заче... Nov 8 2011, 17:12    Serg76 Цитата(Fast @ Nov 8 2011, 21:12) а зачем ... Nov 8 2011, 17:21     GetSmart Цитата(Serg76 @ Nov 8 2011, 22:21) так и ... Nov 8 2011, 17:29      Serg76 Цитата(GetSmart @ Nov 8 2011, 20:29) Ошиб... Nov 8 2011, 17:36 GetSmart Ну прямо "Что? Где? Когда?"
Аффтар... Nov 8 2011, 17:23 Serg76 Цитата(GetSmart @ Nov 8 2011, 21:23) Ну п... Nov 8 2011, 17:27 GetSmart Говорю же, FSK тудыть в качель. Никакого эквалайзе... Nov 8 2011, 18:21 Serg76 Цитата(GetSmart @ Nov 8 2011, 22:21) Гово... Nov 8 2011, 18:23 Fast только тут КАМ16 не спасет
данные следуют со скоро... Nov 8 2011, 18:39 Serg76 Цитата(Fast @ Nov 8 2011, 22:39) только т... Nov 8 2011, 18:50  Fast Цитата(Serg76 @ Nov 8 2011, 22:50) Что-то... Nov 8 2011, 19:06 Fast 777777, с какой частотой необходимо оценивать ... Nov 8 2011, 19:28 777777 Цитата(Fast @ Nov 8 2011, 23:28) 777777, ... Nov 9 2011, 05:40  des00 Цитата(777777 @ Nov 9 2011, 00:40) Хотело... Nov 9 2011, 05:56  Fast Цитата(777777 @ Nov 9 2011, 09:40) Не пон... Nov 9 2011, 08:32   777777 Цитата(Fast @ Nov 9 2011, 12:32) спасибо,... Nov 9 2011, 09:05 Serg76 Поддерживаю des00, выше об этом уже писал. Может, ... Nov 9 2011, 05:12 Serg76 777777 у Вас минимальное расстояние Хемминга при п... Nov 9 2011, 05:34 Serg76 Fast если при нынешнем плачевном положении дел воз... Nov 9 2011, 08:44 Fast Цитата(Serg76 @ Nov 9 2011, 12:44) Fast е... Nov 9 2011, 09:06
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|