Jump to content
    

Коды для восстановления ошибок

в лоб

добавьте два бита, которые будут содержать результат par = (val mod 3), где val - измеренное значение

при приеме считаем par` = (val` mod 3), где val` - принятое значение

d = (par` - par) mod 3

d = 0 - ошибок нет

d= 1, val = val`-1

d= 3, val = val`+1

d = 2 - ошибка большая, чем +/-1

 

Share this post


Link to post
Share on other sites

Все резервы повышения на аналоговом уровне исчерпаны. Сигнал оцифровывается 16 раз за 15.84 мкс и из суммы квадратов извлекается квадратный корень.

 

Из этого поста делается вывод что ТС не корректно сформулировал задачу и

по сути смешал задачу защиты аналогового сигнала от шума в измерителе

и задачу передачи цифрового кода. Все рассуждения относительно

выбора способа кодирования - не имеют отношения к проблеме вообще.

 

Мало того посты №8 и №25 противоречат друг другу.

Вопрос - друзья вам не жалко времени ?

Share this post


Link to post
Share on other sites

Потому что только так можно измерить амплитуду синусоиды. Да еще чтобы полученное значение не зависело от положения первой точки.

С чего бы ему скакать, если амплитуды дискретны и отстоят далеко? Только помеха может исказить сигнал.

Там на картинке вы измеряете с интервалом 1/8 от периода, а пишете 1/4. Остальное правильно. А частота у вас известна точно?

Если амплитуды дискретны, и отстоят далеко, но попадают как раз на переход от одного кода к следующему (например, точно между 0111 и 1000), и от малейшего дуновения ветра выскакивает результат то один, то другой?

Усредните результат отдельных измерений амплитуды. Сложите 16 результатов и поделите на 16.

 

Еще раз про Грэя. :)

Вы подменили двоичный код на код Грэя. Передали свой код Грэя. Вместо изменения (из-за ошибки, неважно какой, измерения, или в канале связи) 0111->1000 получили 0100->1100. И как вы обнаружите, что число неверное?

 

И вообще - ошибка на единицу младшего разряда - это и не ошибка даже, а основополагающее свойство цифровой природы!

 

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

ЕМНИП, для исправления одиночной ошибки в 8-битовом слове нужно добавить еще 3 бита. Код Хэмминга.

Share this post


Link to post
Share on other sites

p.s. аналогично, никогда не встречал, чтобы в цифровом канале наиболее вероятной была одиночная ошибка по основанию 10

явная путаница между измерением аналогового сигнала и передачей числа по цифровому каналу

Share this post


Link to post
Share on other sites

p.s. аналогично, никогда не встречал, чтобы в цифровом канале наиболее вероятной была одиночная ошибка по основанию 10

явная путаница между измерением аналогового сигнала и передачей числа по цифровому каналу

Канал с АБГШ, где вероятность появления однократной ошибки всегда будет выше групповой. Или я не о том канале думаю?

 

2 777777 Пакеты какой длины передаются?

Edited by Serg76

Share this post


Link to post
Share on other sites

Из этого поста делается вывод что ТС не корректно сформулировал задачу и

по сути смешал задачу защиты аналогового сигнала от шума в измерителе

и задачу передачи цифрового кода. Все рассуждения относительно

выбора способа кодирования - не имеют отношения к проблеме вообще.

Мухи - отдельно, котлеты - отдельно. Да, возможно что-то еще можно следать длч повышения точности измерения амплитуды. Но это не избавляет от возможности возникновения помех и необходимости исправления возникших ошибок. Много ли будет толку от CD-дисков если отменить восстановление данныт при чтении?

 

Мало того посты №8 и №25 противоречат друг другу.

Ээ-э-э... А в чем противоречие?

Share this post


Link to post
Share on other sites

Вы подменили двоичный код на код Грэя. Передали свой код Грэя. Вместо изменения (из-за ошибки, неважно какой, измерения, или в канале связи) 0111->1000 получили 0100->1100. И как вы обнаружите, что число неверное?

уже раза 3 писали что грея нужно использовать с корректирующим кодом.

 

И вообще - ошибка на единицу младшего разряда - это и не ошибка даже, а основополагающее свойство цифровой природы!

это вообще не к месту.

 

Поиграю в телепата. У автора есть система связи.

 

формирователь пакетов -> бинарный маппер -> модулятор -> канал с АБГШ + наводки -> демодулятор -> жесткое решение -> бинарный демаппер -> приемник пакетов.

 

Иногда у него случаются ошибки в жестоком решении, которые приводят к тому, что вместо символа принимается его сосед. Именно символа, а не бита, цифрового кода АЦП и т.д.

 

Маппер/демаппер осуществляют преобразование двоичного кода в символы канала и наоборот. Для кодов со спектральной эффективностью выше 1 бита на символ(у автора 4 бита на символ), в общем случае, символьная ошибка != битовой ошибке. При используемом автором методе формирования символа (бинарный маппер), одиночная символьная ошибка(у автора принятие соседа) может дать 4 битовых ошибки. Поэтому лучше использовать вместо бинарного отображения, отображение по грею(кодер грея). В этом случае, при приеме соседнего символа (символьная ошибка), всегда будет 1 битовая ошибка. Но если ошибка в символе будет такова, что будет использован не соседний символ, а какой либо другой, то кол-во битовых ошибок будет больше.

 

А вот затем, эти битовые ошибки корректируются в декодере, с определенной исправляющей способностью. Осталось только выбрать алгоритм декодера. Читайте классиков.

Share this post


Link to post
Share on other sites

Канал с АБГШ, где вероятность появления однократной ошибки всегда будет выше групповой. Или я не о том канале думаю?
ага, двоичный симметричный канал. А не десятеричный

хотя про это история умалчивает, может там М-ичный ?

Share this post


Link to post
Share on other sites

To 777777

Так все-таки какой длины пакеты? Иначе можно гадать до второго пришествия :)

Share this post


Link to post
Share on other sites

Иногда у него случаются ошибки в жестоком решении, которые приводят к тому, что вместо символа принимается его сосед. Именно символа, а не бита, цифрового кода АЦП и т.д.

Вот это вы каким образом "стелепатировали", про соседа? Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. "Число становится на единицу больше или меньше".

Вот если бы был канал связи, в котором наиболее вероятны ошибки, при которых принимается "сосед" из кодового множества, то ваши рассуждения имели бы правоту. Из постов топикстартера этого не видно.

По-моему, вы преувеличиваете техническую сложность канала связи 777777.

Share this post


Link to post
Share on other sites

Вот это вы каким образом "стелепатировали", про соседа? Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда.

1. по описанию это классическая система связи с многопороговой амплитудной модуляцией.

2. вот первый пост ТС

Телеметрия для передачи данных такова, что ошибочные слова в 99% случаев отличаются от истинных на +-1. Отклонение на большее число крайне редко и такие случаи можно не восстанавливать, а лишь сообщать об ошибке.

где он говорит про младщий разряд? где он вообще говорит об АЦП и его отчетах, он говорит о словах, с вероятностью 99% подразумевая слова/символы после принятия жесткого решения.

 

Иначе можно гадать до второго пришествия :)

+ 100500, а то телепатические способности заканчиваются %)

Share this post


Link to post
Share on other sites

Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. "Число становится на единицу больше или меньше".

Вот если бы был канал связи, в котором наиболее вероятны ошибки, при которых принимается "сосед" из кодового множества, то ваши рассуждения имели бы правоту.

:) Не смог удержаться.

Share this post


Link to post
Share on other sites

Цитирую для телепатов дословно, сообщение №5:

"У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111".

Топикстартер здесь. Что ж вы молчите, как рыба? Опишите свой канал связи уже. :)

Share this post


Link to post
Share on other sites

Цитирую для телепатов дословно, сообщение №5:

"У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111".

Это без Грея. С греем была бы ошибка в одном бите всегда.

Share this post


Link to post
Share on other sites

To 777777

Так все-таки какой длины пакеты? Иначе можно гадать до второго пришествия :)

Вообще требуется передавать пакеты по 4 килобайта, но можно будет разбить их как будет удобно.

 

Длина передаваемого слова 4 бита, или 16 уровней амплитуды. Вначале надеялись получить 6 бит с помощью 64 уровней, но в этом случае количество ошибок превышает все разумные пределы.

 

Поскольку периоды идут подряд друг за другом, то имеется также влияние одного периода на следующий за ним, но они почти устраняются форсирующим цифровым фильтром. Хотя если после 0 идет F или наоборот, то иногда возникают ошибки.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...