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

|
Цитата(777777 @ Nov 8 2011, 12:12)  Все резервы повышения на аналоговом уровне исчерпаны. Сигнал оцифровывается 16 раз за 15.84 мкс и из суммы квадратов извлекается квадратный корень. Из этого поста делается вывод что ТС не корректно сформулировал задачу и по сути смешал задачу защиты аналогового сигнала от шума в измерителе и задачу передачи цифрового кода. Все рассуждения относительно выбора способа кодирования - не имеют отношения к проблеме вообще. Мало того посты №8 и №25 противоречат друг другу. Вопрос - друзья вам не жалко времени ?
|
|
|
|
|
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:34
|

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

|
Цитата(i-mir @ Nov 8 2011, 14:24)  Из этого поста делается вывод что ТС не корректно сформулировал задачу и по сути смешал задачу защиты аналогового сигнала от шума в измерителе и задачу передачи цифрового кода. Все рассуждения относительно выбора способа кодирования - не имеют отношения к проблеме вообще. Мухи - отдельно, котлеты - отдельно. Да, возможно что-то еще можно следать длч повышения точности измерения амплитуды. Но это не избавляет от возможности возникновения помех и необходимости исправления возникших ошибок. Много ли будет толку от CD-дисков если отменить восстановление данныт при чтении? Цитата(i-mir @ Nov 8 2011, 14:24)  Мало того посты №8 и №25 противоречат друг другу. Ээ-э-э... А в чем противоречие?
|
|
|
|
|
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, 11:59
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(Serg76 @ Nov 8 2011, 15:22)  Канал с АБГШ, где вероятность появления однократной ошибки всегда будет выше групповой. Или я не о том канале думаю? ага, двоичный симметричный канал. А не десятеричный хотя про это история умалчивает, может там М-ичный ?
|
|
|
|
|
Nov 8 2011, 12:16
|

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

|
Цитата Иногда у него случаются ошибки в жестоком решении, которые приводят к тому, что вместо символа принимается его сосед. Именно символа, а не бита, цифрового кода АЦП и т.д. Вот это вы каким образом "стелепатировали", про соседа? Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. "Число становится на единицу больше или меньше". Вот если бы был канал связи, в котором наиболее вероятны ошибки, при которых принимается "сосед" из кодового множества, то ваши рассуждения имели бы правоту. Из постов топикстартера этого не видно. По-моему, вы преувеличиваете техническую сложность канала связи 777777.
|
|
|
|
|
Nov 8 2011, 12:27
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(ViKo @ Nov 8 2011, 06:16)  Вот это вы каким образом "стелепатировали", про соседа? Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. 1. по описанию это классическая система связи с многопороговой амплитудной модуляцией. 2. вот первый пост ТС Цитата Телеметрия для передачи данных такова, что ошибочные слова в 99% случаев отличаются от истинных на +-1. Отклонение на большее число крайне редко и такие случаи можно не восстанавливать, а лишь сообщать об ошибке. где он говорит про младщий разряд? где он вообще говорит об АЦП и его отчетах, он говорит о словах, с вероятностью 99% подразумевая слова/символы после принятия жесткого решения. Цитата(Serg76 @ Nov 8 2011, 06:12)  Иначе можно гадать до второго пришествия  + 100500, а то телепатические способности заканчиваются %)
--------------------
|
|
|
|
|
Nov 8 2011, 12:38
|

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

|
Цитата(Serg76 @ Nov 8 2011, 16:12)  To 777777 Так все-таки какой длины пакеты? Иначе можно гадать до второго пришествия  Вообще требуется передавать пакеты по 4 килобайта, но можно будет разбить их как будет удобно. Длина передаваемого слова 4 бита, или 16 уровней амплитуды. Вначале надеялись получить 6 бит с помощью 64 уровней, но в этом случае количество ошибок превышает все разумные пределы. Поскольку периоды идут подряд друг за другом, то имеется также влияние одного периода на следующий за ним, но они почти устраняются форсирующим цифровым фильтром. Хотя если после 0 идет F или наоборот, то иногда возникают ошибки.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|