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

 
 
10 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Коды для восстановления ошибок, какой алгоритм применить?
777777
сообщение Nov 6 2011, 08:43
Сообщение #1


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

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



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

Какой алгоритм лучше применить для такого случая?
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 6 2011, 09:04
Сообщение #2


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

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



Цитата(777777 @ Nov 6 2011, 12:43) *
Телеметрия для передачи данных такова, что ошибочные слова в 99% случаев отличаются от истинных на +-1. Отклонение на большее число крайне редко и такие случаи можно не восстанавливать, а лишь сообщать об ошибке.

Какой алгоритм лучше применить для такого случая?

Расширенный Хемминга или, если понадобится по-мощнее, можно глянуть БЧХ.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 7 2011, 09:40
Сообщение #3


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

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



Цитата(Serg76 @ Nov 6 2011, 13:04) *
Расширенный Хемминга или, если понадобится по-мощнее, можно глянуть БЧХ.

Но они не используют тот факт, что ошибочное слово может отличаться от правильного на +-1. Может в этом случае можно использовать меньше проверочных слов?
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 7 2011, 11:44
Сообщение #4


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

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



Цитата(777777 @ Nov 7 2011, 12:40) *
Но они не используют тот факт, что ошибочное слово может отличаться от правильного на +-1

Это как? Коды Хемминга исправляют однократную ошибку, а БЧХ и подавно.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 7 2011, 12:15
Сообщение #5


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

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



Цитата(Serg76 @ Nov 7 2011, 15:44) *
Это как? Коды Хемминга исправляют однократную ошибку, а БЧХ и подавно.

Да, но исправляется всё слово как бы сильно оно ни испортилось. Даже если все 0 превратятся во все 1. У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111, но в 0000 - практически исключено. Может есть коды, которые пользуются этим свойством?
Go to the top of the page
 
+Quote Post
SKov
сообщение Nov 7 2011, 12:51
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(777777 @ Nov 7 2011, 16:15) *
Да, но исправляется всё слово как бы сильно оно ни испортилось. Даже если все 0 превратятся во все 1. У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111, но в 0000 - практически исключено. Может есть коды, которые пользуются этим свойством?

Есть специальные коды для исправления такого рода ошибок.
Называются арифметические коды. Искать в гугле.
Go to the top of the page
 
+Quote Post
i-mir
сообщение Nov 7 2011, 15:31
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986



Интерес вызывает именно Ваш канал передачи данных.
Каким образом он может выполнить операцию "1000 -> 0111" ?
Т.е. ваш канал связи обладает своего рода интеллектом ?
Я у себя доказываю безопасность каналов связи постулируя отсутствие
"интеллекта" и невозможности внесения структурированных изменений ...

Возможно причина ошибок в чем-то другом?
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 7 2011, 16:04
Сообщение #8


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

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



Цитата(i-mir @ Nov 7 2011, 19:31) *
Интерес вызывает именно Ваш канал передачи данных.
Каким образом он может выполнить операцию "1000 -> 0111" ?
Т.е. ваш канал связи обладает своего рода интеллектом ?

При чем тут интеллект? Код передается как амплитуда одного периода синусоиды. имеется 16 градаций амплитуды и таким образом один период кодирует 4 бита. Но вследствие помех в канале измерение иногда дает результат, отличающийся на единицу.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 7 2011, 16:54
Сообщение #9


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

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



Цитата(777777 @ Nov 7 2011, 07:15) *
Да, но исправляется всё слово как бы сильно оно ни испортилось. Даже если все 0 превратятся во все 1. У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111, но в 0000 - практически исключено. Может есть коды, которые пользуются этим свойством?

При чем тут интеллект? Код передается как амплитуда одного периода синусоиды. имеется 16 градаций амплитуды и таким образом один период кодирует 4 бита. Но вследствие помех в канале измерение иногда дает результат, отличающийся на единицу.

код грея даст вам расстояние до соседа +-1 а код хеминга требуемую вами защиту.


--------------------
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 7 2011, 17:05
Сообщение #10


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(des00 @ Nov 7 2011, 21:54) *
код грея даст вам расстояние до соседа +-1 а код хеминга требуемую вами защиту.

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 7 2011, 17:12
Сообщение #11


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

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



Цитата(GetSmart @ Nov 7 2011, 11:05) *
Я так понимаю, что здесь не цифровой формат данных, а псевдо-аналоговый. И видимо, кроме всего прочего, коды, исправляющие ошибки, нужно будет передавать в этом же аналоговом формате. Ну и они тоже могут исказиться.

автор молчит сильно, я предположил что у него есть какая то схема принятия решений (АЦП/компартор и т.д.), поэтому предложил ему грея, т.к. это даст максимальную ошибку в 1 бит. ну а дальше нужно оценить что будетм защищать : символ или пакет %)


--------------------
Go to the top of the page
 
+Quote Post
paskal
сообщение Nov 7 2011, 18:27
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



Цитата(777777 @ Nov 7 2011, 15:15) *
Да, но исправляется всё слово как бы сильно оно ни испортилось. Даже если все 0 превратятся во все 1. У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111, но в 0000 - практически исключено. Может есть коды, которые пользуются этим свойством?

Вот как так происходит, что при прохождении через цифровой канал число 1000 может превратится в 0111, но не может в 0000? Не бывает такого. Поэтому и коды исправляют всё. Сдается мне, что вы на самом деле вы говорите не об ошибках, а о шумах. И задачу надо ставить как то по другому - искать не код исправления ошибок, а какой то фильтр например.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 7 2011, 18:44
Сообщение #13


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

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



Цитата(777777 @ Nov 7 2011, 16:15) *
Да, но исправляется всё слово как бы сильно оно ни испортилось. Даже если все 0 превратятся во все 1. У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111, но в 0000 - практически исключено. Может есть коды, которые пользуются этим свойством?

Так у вас действительно последовательный код. Примените Грея для начала как советовал des00 + Хемминг для исправления однократной ошибки
Go to the top of the page
 
+Quote Post
i-mir
сообщение Nov 7 2011, 19:03
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986



Цитата(777777 @ Nov 7 2011, 19:04) *
При чем тут интеллект? Код передается как амплитуда одного периода синусоиды. имеется 16 градаций амплитуды и таким образом один период кодирует 4 бита. Но вследствие помех в канале измерение иногда дает результат, отличающийся на единицу.


Так отож. И при чем здесь кодирование? У вас проблемы с измерениями а не в канале связи.
Вы принципиально решаете не ту задачу. Лучше решить вопросы с 4-х битным АЦП.
А самый младший бит будет гулять - тут уж закон природы АЦП. Нужно 5 разрядов.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 7 2011, 19:19
Сообщение #15


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(i-mir @ Nov 8 2011, 00:03) *
Так отож. И при чем здесь кодирование? У вас проблемы с измерениями а не в канале связи.

Там же ясно написано, что проблема с помехами (шумом?) в канале. Если они на уровне 4-ого бита, то хоть 20 битный АЦП ставь, пользы не будет.

Сообщение отредактировал GetSmart - Nov 7 2011, 19:19


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
i-mir
сообщение Nov 7 2011, 19:23
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986



Цитата(GetSmart @ Nov 7 2011, 22:19) *
Там же ясно написано, что проблема с помехами (шумом?) в канале. Если они на уровне 4-ого бита, то хоть 20 битный АЦП ставь, пользы не будет.

Вопрос относительно "там" это где ?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 7 2011, 19:26
Сообщение #17


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(i-mir @ Nov 8 2011, 00:23) *
Вопрос относительно "там" это где ?

Чукча не читатель sm.gif
Цитата(777777 @ Nov 7 2011 @ 19:04)
Но вследствие помех в канале измерение иногда дает результат, отличающийся на единицу.

Очень предположительно, канал аналоговый. Или полуаналоговый. И ошибки аналоговые (+-1).
Вообще, подробности ТС зажал. Возможно подошли бы и другие методы повышения помехоустойчивости в аналоговом канале.

Сообщение отредактировал GetSmart - Nov 7 2011, 19:28


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 07:25
Сообщение #18


Универсальный солдатик
******

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



Про код Грэя не понял. В канале ж не передаются монотонные последовательности. Самые разные коды могут идти друг за другом. И кодировать разные состояния кодом Грэя не даст ничего.
А если не все коды используются (например, для 8-битовых, используются только 64), то можно, наоборот, увеличить кодовое расстояние, а не сводить его к 1.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 07:35
Сообщение #19


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

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



Цитата(ViKo @ Nov 8 2011, 01:25) *
Про код Грэя не понял. В канале ж не передаются монотонные последовательности. Самые разные коды могут идти друг за другом. И кодировать разные состояния кодом Грэя не даст ничего.

как не даст то ? в сабжевом примере, код из канала 1000, описывает 3 кода 0111/1000/1001 (4/0/1 битовая ошибка). в случае использования кода грея прием из канала 1000, даст 3 кода 0000/1000/1001 (всегда одна битовая ошибка или ошибок нет). и не важно что код немонотонный.


--------------------
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 07:46
Сообщение #20


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

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



Цитата(ViKo @ Nov 8 2011, 10:25) *
Про код Грэя не понял. В канале ж не передаются монотонные последовательности. Самые разные коды могут идти друг за другом. И кодировать разные состояния кодом Грэя не даст ничего.
А если не все коды используются (например, для 8-битовых, используются только 64), то можно, наоборот, увеличить кодовое расстояние, а не сводить его к 1.

Конечно же даст. Основное правило построения кода Грея и заключается в том, что ошибка в декодировании соседнего символа приведет, как правило, к одиночной ошибке в битовой комбинации. Код Грея и отличается своей уникальностью, что не надо вводить дополнительно никакой избыточности.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 08:03
Сообщение #21


Универсальный солдатик
******

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



То, что описал ТС - это не ошибка в канале передачи, а ошибка измерения его телеметрии. Я так думаю. И кодируй их в чем попало, от этого ошибка не пропадет.
Цитата
ошибка в декодировании соседнего символа

Что есть "соседний" символ, если передается некий результат измерений? Сейчас 1000, в следующий момент 1010, 1100... Или в коде Грэя - какие-нибудь 1000, 1011, 0001... Совершенно не зависящие от слова к слову последовательности.

Если в канале часто случаются одиночные ошибки, эти ошибки могут появиться в любом бите слова (не обязательно в младшем, как написал ТС +-1). Они с равной вероятностью могут появиться в словах, закодированных в двоичном коде, или в коде Грэя.
Есть коды, обнаруживающие такие одиночные ошибки. Есть коды, исправляющие.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 08:11
Сообщение #22


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

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



Цитата(ViKo @ Nov 8 2011, 03:03) *
Или в коде Грэя - какие-нибудь 1000, 1011, 0001... Совершенно не зависящие от слова к слову последовательности.

Код
#  0 0000
#  1 0001
#  2 0011
#  3 0010
#  4 0110
#  5 0111
#  6 0101
#  7 0100
#  8 1100
#  9 1101
# 10 1111
# 11 1110
# 12 1010
# 13 1011
# 14 1001
# 15 1000


Цитата
Если в канале часто случаются одиночные ошибки, эти ошибки могут появиться в любом бите слова (не обязательно в младшем, как написал ТС +-1). Они с равной вероятностью могут появиться в словах, закодированных в двоичном коде, или в коде Грэя.

читали тему не винимательно, автор пришет источник этих ошибок, метод формирования и приема сигнала.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 08:31
Сообщение #23


Универсальный солдатик
******

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



Цитата(des00 @ Nov 8 2011, 10:11) *
читали тему не винимательно, автор пришет источник этих ошибок, метод формирования и приема сигнала.

Если сигнал действительно практически неизменный (к примеру 1000), а из-за ошибки измерения может измениться (0111, 1001), то, наверное, оба эти значения для автора считаются неправильными. Ему нужно их "исправить"? Так просто найти разность между текущим значением и предыдущим (или усредненным). Вот и получится разница в 1. Дальше делайте, что хотите - отбрасывайте или используйте.

Могут ли такие ошибки (0111, 1001) с равной вероятностью появиться в самом канале связи? Сомнительно.
Если передавать в коде Грэя, эти ошибки измерения будут отличаться на один бит, согласен. Но это никак не уменьшает саму ошибку, не приближает к "истинному" значению. И не позволяет ее исправить.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 08:33
Сообщение #24


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

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



Цитата(ViKo @ Nov 8 2011, 11:03) *
То, что описал ТС - это не ошибка в канале передачи, а ошибка измерения его телеметрии. Я так думаю. И кодируй их в чем попало, от этого ошибка не пропадет.

Что есть "соседний" символ, если передается некий результат измерений? Сейчас 1000, в следующий момент 1010, 1100... Или в коде Грэя - какие-нибудь 1000, 1011, 0001... Совершенно не зависящие от слова к слову последовательности.

Если в канале часто случаются одиночные ошибки, эти ошибки могут появиться в любом бите слова (не обязательно в младшем, как написал ТС +-1). Они с равной вероятностью могут появиться в словах, закодированных в двоичном коде, или в коде Грэя.
Есть коды, обнаруживающие такие одиночные ошибки. Есть коды, исправляющие.

Сначала декодер демодулятора примет решение по переданным символам и при малом уровне шума в канале по максимальному правдоподобию с большой долей вероятности исказится ближайший к переданному символ. При этом неважно как кодировался сигнал - по амплитуде, частоте или фазе. Так вот в случае использования Грея эта ошибка в соседнем символе приведет уже к одиночной, а не групповой битовой ошибке, точно так как на рисунке des00. С одиночной ошибкой затем бороться проще.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 09:12
Сообщение #25


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

Группа: Участник
Сообщений: 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 я измерить уже не могу, имеющаяся аппаратура не позволяет. Поэтому остаются чисто математические методы.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 09:19
Сообщение #26


Универсальный солдатик
******

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



Цитата(777777 @ Nov 8 2011, 11:12) *
Сигнал оцифровывается 16 раз за 15.84 мкс и из суммы квадратов извлекается квадратный корень.

А почему складываете квадраты, а не просто числа?
А результат измерения всегда будет скакать на 1, никакими способами от этого не избавиться, можно только сделать реже или чаще.
P.S. а про Грэя так и остался в непонятках. sad.gif
Тоже считаю, что проблема не в связи, а в измерении.

P.P.S. Добавьте бит четности, будете обнаруживать одиночную ошибку. И отбрасывать такой код.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 09:23
Сообщение #27


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

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



Цитата(777777 @ Nov 8 2011, 04:12) *
Идея с переводом данных в код Грея + Хемминг конечно интересна, но сам код Хемминга требует большой избыточночти, с таким же успехом можно уменьшить число градаций амплитуды вдвое. Но обидно, что ошибка случаеся редко, одна на несколько десятков слов, а из-за этого не хочется уменьшать скорость в разы. Тогда уж лучше воспользоваться Ридом-Соломоном, для него даже есть исходники, настраивающиеся на разные размеры слов. Но я надеялся что если ошибка меняет значение слова на единицу, то может для такого случая есть коды с еще меньшей избыточностью.

накройте данные БЧХ укороченным кодом 240/224/2 исправит 2 битовых ошибки на блок в 240 бит. и реализуется просто.

ЗЫ. вот только синхронизацию декодера нужно будет сделать(в случае РС тоже самое).

Цитата(ViKo @ Nov 8 2011, 04:19) *
P.S. а про Грэя так и остался в непонятках. sad.gif

любой учебник по теории связи почитайте.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 09:25
Сообщение #28


Универсальный солдатик
******

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



Цитата(des00 @ Nov 8 2011, 11:23) *
любой учебник по теории связи почитайте.

конретно?
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 09:42
Сообщение #29


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

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



Цитата(ViKo @ Nov 8 2011, 03:25) *
конретно?

скляр/прокис/феер "цифровая связь"


--------------------
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 09:50
Сообщение #30


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

Группа: Участник
Сообщений: 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. а про Грэя так и остался в непонятках. sad.gif

Если в кратце - код Хемминга позволяет исправить один испорченный бит. Код Грея позволяет превратить изменение числа на +-1 в изменение одного бита (и задача сводится к предыдущей как в анекдоте про чайник)

Цитата(ViKo @ Nov 8 2011, 13:19) *
P.P.S. Добавьте бит четности, будете обнаруживать одиночную ошибку. О отбрасывать такой код.

Это понятно, до этого так и делали. Но жалко выбрасывать целый пакет если в нем всего одна-две ошибки, да еще и отличающиеся всего на единицу.
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 10:21
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



в лоб
добавьте два бита, которые будут содержать результат 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
Go to the top of the page
 
+Quote Post
i-mir
сообщение Nov 8 2011, 10:24
Сообщение #32


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986



Цитата(777777 @ Nov 8 2011, 12:12) *
Все резервы повышения на аналоговом уровне исчерпаны. Сигнал оцифровывается 16 раз за 15.84 мкс и из суммы квадратов извлекается квадратный корень.


Из этого поста делается вывод что ТС не корректно сформулировал задачу и
по сути смешал задачу защиты аналогового сигнала от шума в измерителе
и задачу передачи цифрового кода. Все рассуждения относительно
выбора способа кодирования - не имеют отношения к проблеме вообще.

Мало того посты №8 и №25 противоречат друг другу.
Вопрос - друзья вам не жалко времени ?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 10:52
Сообщение #33


Универсальный солдатик
******

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



Цитата(777777 @ Nov 8 2011, 11:50) *
Потому что только так можно измерить амплитуду синусоиды. Да еще чтобы полученное значение не зависело от положения первой точки.
С чего бы ему скакать, если амплитуды дискретны и отстоят далеко? Только помеха может исказить сигнал.

Там на картинке вы измеряете с интервалом 1/8 от периода, а пишете 1/4. Остальное правильно. А частота у вас известна точно?
Если амплитуды дискретны, и отстоят далеко, но попадают как раз на переход от одного кода к следующему (например, точно между 0111 и 1000), и от малейшего дуновения ветра выскакивает результат то один, то другой?
Усредните результат отдельных измерений амплитуды. Сложите 16 результатов и поделите на 16.

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

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

Цитата(777777 @ Nov 8 2011, 11:50) *
Это понятно, до этого так и делали. Но жалко выбрасывать целый пакет если в нем всего одна-две ошибки, да еще и отличающиеся всего на единицу.

ЕМНИП, для исправления одиночной ошибки в 8-битовом слове нужно добавить еще 3 бита. Код Хэмминга.
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 10:57
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



p.s. аналогично, никогда не встречал, чтобы в цифровом канале наиболее вероятной была одиночная ошибка по основанию 10
явная путаница между измерением аналогового сигнала и передачей числа по цифровому каналу
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 11:22
Сообщение #35


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

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



Цитата(Fast @ Nov 8 2011, 13:57) *
p.s. аналогично, никогда не встречал, чтобы в цифровом канале наиболее вероятной была одиночная ошибка по основанию 10
явная путаница между измерением аналогового сигнала и передачей числа по цифровому каналу

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

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

Сообщение отредактировал Serg76 - Nov 8 2011, 11:26
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 11:34
Сообщение #36


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

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



Цитата(i-mir @ Nov 8 2011, 14:24) *
Из этого поста делается вывод что ТС не корректно сформулировал задачу и
по сути смешал задачу защиты аналогового сигнала от шума в измерителе
и задачу передачи цифрового кода. Все рассуждения относительно
выбора способа кодирования - не имеют отношения к проблеме вообще.

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

Цитата(i-mir @ Nov 8 2011, 14:24) *
Мало того посты №8 и №25 противоречат друг другу.

Ээ-э-э... А в чем противоречие?
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 11:53
Сообщение #37


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

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



Цитата(ViKo @ Nov 8 2011, 05:52) *
Вы подменили двоичный код на код Грэя. Передали свой код Грэя. Вместо изменения (из-за ошибки, неважно какой, измерения, или в канале связи) 0111->1000 получили 0100->1100. И как вы обнаружите, что число неверное?

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

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

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

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

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

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

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

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


--------------------
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 11:59
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Serg76 @ Nov 8 2011, 15:22) *
Канал с АБГШ, где вероятность появления однократной ошибки всегда будет выше групповой. Или я не о том канале думаю?
ага, двоичный симметричный канал. А не десятеричный
хотя про это история умалчивает, может там М-ичный ?
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 12:12
Сообщение #39


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

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



To 777777
Так все-таки какой длины пакеты? Иначе можно гадать до второго пришествия sm.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 12:16
Сообщение #40


Универсальный солдатик
******

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



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

Вот это вы каким образом "стелепатировали", про соседа? Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. "Число становится на единицу больше или меньше".
Вот если бы был канал связи, в котором наиболее вероятны ошибки, при которых принимается "сосед" из кодового множества, то ваши рассуждения имели бы правоту. Из постов топикстартера этого не видно.
По-моему, вы преувеличиваете техническую сложность канала связи 777777.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 12:27
Сообщение #41


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

Группа: Модераторы
Сообщений: 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) *
Иначе можно гадать до второго пришествия sm.gif

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


--------------------
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 12:27
Сообщение #42


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(ViKo @ Nov 8 2011, 17:16) *
Говорено было - ошибка на +-1. Именно про ошибку на единицу младшего разряда. "Число становится на единицу больше или меньше".
Вот если бы был канал связи, в котором наиболее вероятны ошибки, при которых принимается "сосед" из кодового множества, то ваши рассуждения имели бы правоту.

sm.gif Не смог удержаться.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 12:32
Сообщение #43


Универсальный солдатик
******

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



Цитирую для телепатов дословно, сообщение №5:
"У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111".
Топикстартер здесь. Что ж вы молчите, как рыба? Опишите свой канал связи уже. sm.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 12:35
Сообщение #44


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(ViKo @ Nov 8 2011, 17:32) *
Цитирую для телепатов дословно, сообщение №5:
"У меня же обычно если происходит ошибка, то это выражается в том, что число становится на 1 больше или меньше. То есть 1000 может превратиться в 0111".

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 12:38
Сообщение #45


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

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



Цитата(Serg76 @ Nov 8 2011, 16:12) *
To 777777
Так все-таки какой длины пакеты? Иначе можно гадать до второго пришествия sm.gif

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

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

Поскольку периоды идут подряд друг за другом, то имеется также влияние одного периода на следующий за ним, но они почти устраняются форсирующим цифровым фильтром. Хотя если после 0 идет F или наоборот, то иногда возникают ошибки.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 12:43
Сообщение #46


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

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



Цитата(777777 @ Nov 8 2011, 06:38) *
Вообще требуется передавать пакеты по 4 килобайта, но можно будет разбить их как будет удобно.

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

если задержка устроит используйте байтовый RS 230/240 GF(2^8). в худшем случае исправит 5 символов на блок в 240*2 символов.

ЗЫ. сделали бы нормальный QAM16/QAM64 и не парились бы wink.gif Квадратурный модулятор, перенесли в цифре на ПЧ, снесли в 0, квадратурный демодулятор wink.gif


--------------------
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 12:46
Сообщение #47


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

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



Цитата(ViKo @ Nov 8 2011, 16:32) *
Что ж вы молчите, как рыба? Опишите свой канал связи уже. sm.gif

Что еще добавить к тому что написано в посте #8? Код передается как амплитуда одного периода синусоиды. Имеется 16 градаций амплитуды и таким образом один период кодирует 4 бита. Периоды следуют непрерывно друг за другом. Амплитуда F отличается от амплитуды 0 в два раза. При большой разнице становятся сильными влияния периодов друг на друга. При меньшей разница становится мало отличимой.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 12:51
Сообщение #48


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

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



Есть длинные БЧХ с достаточной для Вашего случая корректирующей способностью. Я имел дело с кодом (8191,8152) способного исправлять любую трехкратную ошибку. При этом избыточность всего 39 бит.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 12:52
Сообщение #49


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

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



Цитата(des00 @ Nov 8 2011, 16:43) *
если задержка устроит используйте байтовый RS 230/240 GF(2^8). в худшем случае исправит 5 символов на блок в 240*2 символов.

Скорее всего придется применять его. Здесь есть исходники, там можно простым изменением #define задать любое количество восстанавливаемых символов.

Цитата(des00 @ Nov 8 2011, 16:43) *
сделали бы нормальный QAM16/QAM64 и не парились бы wink.gif Квадратурный модулятор, перенесли в цифре на ПЧ, снесли в 0, квадратурный демодулятор wink.gif

Что это? А подробнее можно?
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 12:58
Сообщение #50


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

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



Цитата(777777 @ Nov 8 2011, 06:52) *
Что это? А подробнее можно?

Квадратурная амплитудная модуляция позволяет более оптимально использовать частотный ресурс. Правда демодулятор и модулятор будут сложнее чем в вашем случае. Если интересно поищите по форуму симулинк модели petrov, позапускайте оцените что к чему. Это будет явно лучше вашей синусоиды (но вычислительный ресурс нужен).


--------------------
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 12:59
Сообщение #51


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Осмелюсь предложить 4 битный FSK, который элементарно декодируется БПФ-ом. Думаю он(о) намного будет лучше АМ, но вероятно хуже КАМа. Но думаю попроще КАМа.
Главный вопрос - какой у ТС модулятор. Ну и демодулятор на чём реализован тоже.

Сообщение отредактировал GetSmart - Nov 8 2011, 13:01


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 8 2011, 13:02
Сообщение #52


Универсальный солдатик
******

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



Т.е. 16-ю уровнями амплитуды некой несущей вы передаете 4-битовый символ? И des00, оказывается, прав?
Теперь вы переставите биты в слове по коду Грэя. Если будете их передавать, ошибка в измерении амлитуды приведет к изменению одного бита в принятом слове. Чтобы обнаружить и исправить эту ошибку, нужно добавить контрольные биты. Которые передавать уже в другом временном интервале. Вроде прояснилось, об чем речь.
Go to the top of the page
 
+Quote Post
i-mir
сообщение Nov 8 2011, 15:09
Сообщение #53


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986



Цитата(777777 @ Nov 8 2011, 16:38) *
... Вначале надеялись получить 6 бит с помощью 64 уровней,
но в этом случае количество ошибок превышает все разумные пределы.


Цитата(777777 @ Nov 8 2011, 16:46) *
Периоды следуют непрерывно друг за другом. Амплитуда F отличается
от амплитуды 0 в два раза. При большой разнице становятся сильными
влияния периодов друг на друга.


А что вы меряете? Относительные уровни амплитуды периодов?
И нет привязки к абсолютному значению? И 64 уровня есть
непреодолимая проблема при 14-битном АЦП?

В любом случае спасибо ТС за подтверждение гипотезы. Мне интересен
сам факт "восстановления" задачи, которая стоит перед ТС - и судя по
всему - задача далека от кодирования как небо от земли. Буду с интересом
следить за окончанием полемики. Если в конце мы не прийдем к проблеме
в схемотехнике дифференциального усилителя - с меня пиво.
Заезжайте в Харьков sm.gif


Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 15:40
Сообщение #54


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

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



Цитата(GetSmart @ Nov 8 2011, 15:59) *
Осмелюсь предложить 4 битный FSK, который элементарно декодируется БПФ-ом. Думаю он(о) намного будет лучше АМ, но вероятно хуже КАМа. Но думаю попроще КАМа.

По энергетике выиграете, но по спектральной эффективности на порядок проиграете 16QAM. Сама же реализация думаю будет одного порядка сложности. TC надо определится какой из параметров ему дешевле - мощность или полоса, и уже оттуда плясать. Может ему и кодирование не понадобится, достаточно будет при действующем уровне С/Ш усилить схему модуляции, например, перейти на КАМ16. Но в любом случае применять чистую АМ конечно же не стоит.

Сообщение отредактировал Serg76 - Nov 8 2011, 16:18
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 16:36
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



перед всякими КАМами и ФСК неплохо бы прояснить, куда и по какому каналу ТС собрался передавать данные
и каким образом он сейчас передает
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 16:49
Сообщение #56


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

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



Цитата(Fast @ Nov 8 2011, 19:36) *
неплохо бы прояснить, куда ТС собрался передавать данные

А для некоторых структур еще важно знать и кому sm.gif))))))))))))

Цитата(Fast @ Nov 8 2011, 20:36) *
перед всякими КАМами и ФСК неплохо бы прояснить, куда и по какому каналу ТС собрался передавать данные
и каким образом он сейчас передает

КАМ16 одинаково хорошо применяется как на КВ/УКВ, так и в СВЧ диапазоне
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 16:58
Сообщение #57


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Fast @ Nov 8 2011, 21:36) *
перед всякими КАМами и ФСК неплохо бы прояснить, куда и по какому каналу ТС собрался передавать данные
и каким образом он сейчас передает

ИМХО ещё более важно то, какой модулятор/демодулятор и какова моща ЦПУ/ПЛИС в декодере. А канал итак относительно ясен. АМ по нему проходит неплохо.

Цитата(Serg76 @ Nov 8 2011, 20:40) *
По энергетике выиграете, но по спектральной эффективности на порядок проиграете 16QAM.

Проигрыша не будет. По сути главное - хуже чем есть, не будет. Выигрыш - да, но разве он нужен, если АМ уже всем устраивает, кроме помехозащищённости.
Главней всего погода в доме. sm.gif Тьфу ты. Главней всего сложность переделки. От этого и надо плясать.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 17:05
Сообщение #58


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Serg76 @ Nov 8 2011, 20:49) *
А для некоторых структур еще важно знать и кому sm.gif))))))))))))
нам, инженеграм, чессговоря, пох =))))
Цитата(Serg76 @ Nov 8 2011, 20:49) *
КАМ16 одинаково хорошо применяется как на КВ/УКВ, так и в СВЧ диапазоне
я к тому, что может он с датчика тянет через GPS/GPRS или в Ethernet и сразу в сеть. "Как же тебя понять, коли ты ничего не говоришь (Иван Васильевич)".
если тут такая проблема с +/-1, то что же будет, когда начнутся схемы восстановления тактовой и фазовой для КАМ16 ? wacko.gif


Цитата(GetSmart @ Nov 8 2011, 20:58) *
ИМХО ещё более важно то, какой модулятор/демодулятор и какова моща ЦПУ/ПЛИС в декодере. А канал итак относительно ясен. АМ по нему проходит неплохо
что за канал, я что-то пропустил ?
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 17:09
Сообщение #59


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

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



Цитата(GetSmart @ Nov 8 2011, 20:58) *
ИМХО ещё более важно то, какой модулятор/демодулятор и какова моща ЦПУ/ПЛИС в декодере. А канал итак относительно ясен. АМ по нему проходит неплохо.

Вопрос реализации демодулятора - это еще та философия sm.gif))). Здесь главное определить потенциальную помехоустойчивость канала. потери в любом случае неизбежны, вопрос оптимизации - это их уменьшение.
Цитата(GetSmart @ Nov 8 2011, 20:58) *
Проигрыша не будет. По сути главное - хуже чем есть, не будет. Выигрыш - да, но разве он нужен, если АМ уже всем устраивает, кроме помехозащищённости.
Главней всего погода в доме. sm.gif Тьфу ты. Главней всего сложность переделки. От этого и надо плясать.

На данный момент может конечно уже и менять что-либо поздно, дороже будет (скорее всего так оно и есть, раз взялись за кодирование), но совет на будущее: зачем платить больше? имхо, конечно. sm.gif

Цитата(Fast @ Nov 8 2011, 21:05) *
я к тому, что может он с датчика тянет через GPS/GPRS или в Ethernet и сразу в сеть.

А зачем тогда АМ, если есть цифровое окончание?
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 17:12
Сообщение #60


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Serg76 @ Nov 8 2011, 21:09) *
А зачем тогда АМ, если есть цифровое окончание?
а зачем ему грей, бчх и т.д., если тракт аналоговый АМ, а все помехи он засосал до АЦП, что он после АЦП делать собрался
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 17:21
Сообщение #61


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

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



Цитата(Fast @ Nov 8 2011, 21:12) *
а зачем ему грей, бчх и т.д., если тракт аналоговый АМ, а все помехи он засосал до АЦП

так и есть на самом деле, канал скорее всего близок к АБГШ, т.к. по нему практически безошибочно проходит АМ, GetSmart уже об этом упомянул.

Цитата(Fast @ Nov 8 2011, 21:12) *
что он после АЦП делать собрался

ему, похоже, уже деваться некуда, ошибки на этапе проектирования системы, модем скорее всего непеределать (дорого), а помехоустойчивости не хватает, поэтому надо добавить FEC, чтобы хоть как-то влезть в требования ТЗ.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 17:23
Сообщение #62


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Ну прямо "Что? Где? Когда?" biggrin.gif

Аффтар!!! Ну где же ты? sm.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 17:27
Сообщение #63


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

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



Цитата(GetSmart @ Nov 8 2011, 21:23) *
Ну прямо "Что? Где? Когда?" biggrin.gif

Ага. Что в черном ящике? biggrin.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 17:29
Сообщение #64


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Serg76 @ Nov 8 2011, 22:21) *
так и есть на самом деле, канал скорее всего близок к АБГШ...

Ошибки могут быть не из-за шумов. А из-за помех. Редких(?). Допустим импульсных. В любом случае, помехоустойчивое кодирование полезно в таких случаях. Потому как методы повышения SNR в АБГШ никогда не избавят от ошибок полностью в реале, то бишь в не совсем АБГШ.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 17:36
Сообщение #65


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

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



Цитата(GetSmart @ Nov 8 2011, 20:29) *
Ошибки могут быть не из-за шумов. А из-за помех. Редких(?). Допустим импульсных. В любом случае, помехоустойчивое кодирование полезно в таких случаях. Потому как методы повышения SNR в АБГШ никогда не избавят от ошибок полностью в реале, то бишь в не совсем АБГШ.

Может быть, поэтому я аккуратно и приписал, что близкий к АБГШ. Может нам на всякий случай еще и интерливер впарить sm.gifsm.gifsm.gif Шутка.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 18:08
Сообщение #66


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

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



Вот уж не думал что эта задача вызовет такой бурный интерес.

Цитата(des00 @ Nov 8 2011, 16:58) *
Квадратурная амплитудная модуляция позволяет более оптимально использовать частотный ресурс.

Спасибо, вот теперь я вспомнил, что с год назад натыкался на этот QAM, но тогда мне показалось что это просто PAL (точнее даже NTSC) и потому не вызвал интереса.

Цитата(des00 @ Nov 8 2011, 16:58) *
Это будет явно лучше вашей синусоиды (но вычислительный ресурс нужен).

Как я понял, он лучше лишь тем, что там две синусоиды. А если я и одну не могу принять... К тому же там возникает проблема с восстановлением фазы несущей без чего КАМ принять не удастся в принципе.
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 18:17
Сообщение #67


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(777777 @ Nov 8 2011, 22:08) *
Как я понял, он лучше лишь тем, что там две синусоиды.
гораздо хуже, одна синусоида, но с разрывами в 16 местах
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 18:18
Сообщение #68


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

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



Цитата(777777 @ Nov 8 2011, 21:08) *
Как я понял, он лучше лишь тем, что там две синусоиды. А если я и одну не могу принять... К тому же там возникает проблема с восстановлением фазы несущей без чего КАМ принять не удастся в принципе.

Несущая одна, информация передается за счет одновременного изменения фазы и амплитуды сигнала. Проблемы возникнут не только с восстановлением фазы. есть еще АРУ, адаптивный эквалайзер, интерполятор, да еще много проблемных узлов. sm.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 18:21
Сообщение #69


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Говорю же, FSK тудыть в качель. Никакого эквалайзера и прочего гемороя. Но на AVR такое делать будет только мозахист.

А вообще, до сих пор не ясна битовая/символьная скорость.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 18:23
Сообщение #70


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

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



Цитата(GetSmart @ Nov 8 2011, 22:21) *
Говорю же, FSK тудыть в качель. Никакого эквалайзера и прочего гемороя.

А что мешает эквалайзер прикрутить и все остальное?
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 18:24
Сообщение #71


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

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



Цитата(GetSmart @ Nov 8 2011, 16:59) *
Осмелюсь предложить 4 битный FSK, который элементарно декодируется БПФ-ом. Думаю он(о) намного будет лучше АМ, но вероятно хуже КАМа.

Если FSK - это частотная модуляция, то это не лучше АМ, пробовали.
Цитата(GetSmart @ Nov 8 2011, 16:59) *
Главный вопрос - какой у ТС модулятор. Ну и демодулятор на чём реализован тоже.

Сейчас в качестве модулятора используется ЦАП STM32F103, после которого идет умножающий ЦАП которым предполагалось менять амплитуду. Правда, всю модуляцию удалось сделать на STM, но второй ЦАП на всякий случай оставили. После стоит усилитель, нагруженный на выходной трансформатор, чтобы ликвидировать нелинейность транса, обратная связь на усилитель взята со вторичной обмотки. Так что на выходе сигнал идеальный и имеющий строго заданную амплитуду. После этого сигнал уходит в кабель длиной 5.5 км и приходит в приемник. Здесь он уже не такой идеальный, помимо обычных помех (шума) появляется качание сигнала вызванное зарядкой длинной линии а может даже отражениями от концов. Приемником является 1-микросекундный АЦП + ADSP 2181. Передатчик сейчас на этапе разработки, поэтому при необходимости можно все поменять. Приемников же уже выпущено несколько сотен штук, поэтому хотелось бы, чтобы телеметрия могла ими приниматься. Хотя если удастся сделать передачу со скоростью 300-500 кбит/с, то можно сделать и новый приемник.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 18:26
Сообщение #72


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

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



Цитата(777777 @ Nov 8 2011, 22:24) *
Если FSK - это частотная модуляция, то это не лучше АМ, пробовали.

Это как? что-то новое.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 18:26
Сообщение #73


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

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



Цитата(Fast @ Nov 8 2011, 22:17) *
гораздо хуже, одна синусоида, но с разрывами в 16 местах

Что значит "с разрывами"? Значение сигнала резко меняется на другое? Тогда это не годится, у нее будет широкий спектр и через мой кабель это не пройдет.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 18:29
Сообщение #74


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(777777 @ Nov 8 2011, 23:24) *
Если FSK - это частотная модуляция, то это не лучше АМ, пробовали.

Да, частотная модуляция. Но я предлагал 4-х битные символы.
Не знаю, что там пробовали, но явно плохо пробовали.

Там демодулятор простейший БПФ, причём с минимальной частотой дискретизации аналога. Для ADSP это как семечки щёлкать. Хотя можно и 4 корелятора поставить, на каждый символ. Ну и судя по описанию девайсов, всё идеально подходит для FSK. Для 100к символов/сек частоты 100,200,300,400 кгц. 1 мгц АЦП вполне справится.

Сообщение отредактировал GetSmart - Nov 8 2011, 18:46


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 18:30
Сообщение #75


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

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



Цитата(777777 @ Nov 8 2011, 22:26) *
Что значит "с разрывами"? Значение сигнала резко меняется на другое? Тогда это не годится, у нее будет широкий спектр и через мой кабель это не пройдет.

спектр будет такой, какой сформируете согласующим фильтром (приподнятый косинус, например, или корень квадратный из него)
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 18:34
Сообщение #76


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(777777 @ Nov 8 2011, 22:26) *
Что значит "с разрывами"? Значение сигнала резко меняется на другое? Тогда это не годится, у нее будет широкий спектр и через мой кабель это не пройдет.
простите, не удержался, думал о своем =))

не резко, а плавно, не в разных местах, а по закону модулирующего сигнала. Спектр будет не хуже АМ после r-cos формирующего фильтра
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 18:35
Сообщение #77


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

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



Цитата(i-mir @ Nov 8 2011, 19:09) *
А что вы меряете? Относительные уровни амплитуды периодов?
И нет привязки к абсолютному значению? И 64 уровня есть
непреодолимая проблема при 14-битном АЦП?

В начале передаются несколько больших периодов (число F), затем несколько маленьких (0) по которым приемник калибруется, а также по переходу между ними подстраивается форсирующий фильтр.

Цитата(i-mir @ Nov 8 2011, 19:09) *
и судя по всему - задача далека от кодирования как небо от земли. Буду с интересом
следить за окончанием полемики. Если в конце мы не прийдем к проблеме
в схемотехнике дифференциального усилителя - с меня пиво.
Заезжайте в Харьков sm.gif

Можно сказать что в некотором смысле это так: в CD/DVD приводах главная задача - сфокусировать лазер, поймать дорожку и удерживать ее, считывать битстрим и т.д... Однако там почему-то применяют восстановление сбойных данных по Риду-Соломону. Почему же вы решили что здесь это будет лишним?
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 18:39
Сообщение #78


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



только тут КАМ16 не спасет
данные следуют со скоростью 4мбит/сек, на входе 1МГц АЦП,
спектр всяко надо по Найквисту впихнуть в 500 кгц, а это уже КАМ-256, не меньше
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 18:50
Сообщение #79


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

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



Цитата(Fast @ Nov 8 2011, 22:39) *
только тут КАМ16 не спасет
данные следуют со скоростью 4мбит/сек, на входе 1МГц АЦП,
спектр всяко надо по Найквисту впихнуть в 500 кгц, а это уже КАМ-256, не меньше

Что-то Вы, по-моему, не о том. Вроде у автора информационная скорость 500 кБит/сек. Откуда КАМ-256? при спектральной эффективности чуть более 3 бит/сек/Гц полоса необходима около 150 кГц при КАМ16.

Сообщение отредактировал Serg76 - Nov 8 2011, 18:52
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 18:52
Сообщение #80


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

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



Цитата(GetSmart @ Nov 8 2011, 22:29) *
Да, частотная модуляция. Но я предлагал 4-х битные символы.
Не знаю, что там пробовали, но явно плохо пробовали.

Пробовали (правда, не я) передавать меандры разного периода от 14 до 20 мкс с дискретностью 0.4 мкс.

Цитата(GetSmart @ Nov 8 2011, 22:29) *
Там демодулятор простейший БПФ, причём с минимальной частотой дискретизации аналога. Для ADSP это как семечки щёлкать. Хотя можно и 4 корелятора поставить, на каждый символ. Ну и судя по описанию девайсов, всё идеально подходит для FSK.

Я правда с трудом представляю как это декодировать с помощью БПФ, там периоды считались "в лоб" с интерполяцией в точках перехода через 0 чтобы при дискретности АЦП 1 мкс получить точность не хуже 0.1 мкс. Но из-за широкого спектра сигнал искажался так, что корректирующий фильтр с трудом с ним справлялся.

Цитата(Fast @ Nov 8 2011, 22:34) *
не резко, а плавно, не в разных местах, а по закону модулирующего сигнала.

Какая может быть плавность если модулирующий сигнал - цифровой?
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 18:57
Сообщение #81


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

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



Цитата(777777 @ Nov 8 2011, 22:52) *
Пробовали (правда, не я) передавать меандры разного периода от 14 до 20 мкс с дискретностью 0.4 мкс.

ЧМ теоретически помехоустойчивее АМ, так что Ваши проблемы лежат в реализации дема.

Цитата(777777 @ Nov 8 2011, 22:52) *
Какая может быть плавность если модулирующий сигнал - цифровой?

Плавность обеспечит формирующий фильтр
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 18:57
Сообщение #82


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(777777 @ Nov 8 2011, 23:52) *
Но из-за широкого спектра сигнал искажался так, что корректирующий фильтр с трудом с ним справлялся.

Ну дык. Кто теорией занимался? Медаль ему посмертно sm.gif
Нужно чтобы несущие были ортогональны. И синусоидальны, чтоб гармоники не пролазили в соседние символы. И тогда БПФ or корелятор будет работать на ура.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 19:06
Сообщение #83


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Serg76 @ Nov 8 2011, 22:50) *
Что-то Вы, по-моему, не о том. Вроде у автора информационная скорость 500 кБит/сек. Откуда КАМ-256? при спектральной эффективности чуть более 3 бит/сек/Гц полоса необходима около 150 кГц при КАМ16.
короче, я уже сам запутался. То ли нужно все 8 оценок по 4 бита на периоде слать , то ли одной достаточно (в максимуме синусоиды ?)..
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 19:10
Сообщение #84


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

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



Цитата(GetSmart @ Nov 8 2011, 22:57) *
Нужно чтобы несущие были ортогональны. И синусоидальны, чтоб гармоники не пролазили в соседние символы.

Почему несущие? Она же одна, вы о ЧМ?

Цитата(GetSmart @ Nov 8 2011, 22:57) *
И тогда БПФ or корелятор будет работать на ура.

Как можно ЧМ декодировать с помощью БПФ? Напускать ее на один период? Но его еще нужно выделить, а если мы его выделим то считай мы уже знаем его длительность.

Насчет QAM. Как я понял, берутся две ортогональные синусоиды и модулируются их амплитуды, у одной, допустим, младшими двумя битами, у другой старшими. Вопрос: сколько времени передается такое состояние? Один период? Дальше, если переходим к следующему состоянию, то значение сигнала скачкообразно меняется. Как этого избежать? В моем случае это происходит при переходе через 0, а в QAM это невозможно.

Сообщение отредактировал 777777 - Nov 8 2011, 19:12
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 19:11
Сообщение #85


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(777777 @ Nov 9 2011, 00:06) *
Почему несущие? Она же одна, вы о ЧМ?

2 значения символа (0/1) - 2 несущих. 4 значения символа - (0/1/2/3) - 4 несущих. Вобщем несущих 2 в степени от кол-ва значений символов.

ЗЫ. Я там ранее ошибся. для 4х битной FSK понадобится 16 несущих. Но они даже не обязаны быть ортогональными на периоде символа, насколько я успел с ними поиграться.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 19:16
Сообщение #86


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

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



Цитата(777777 @ Nov 8 2011, 23:10) *
Насчет QAM. Как я понял, берутся две ортогональные синусоиды и модулируются их амплитуды, у одной, допустим, младшими двумя битами, у другой старшими. Вопрос: сколько времени передается такое состояние? Один период? Дальше, если переходим к следующему состоянию, то значение сигнала скачкообразно меняется. Как этого избежать?

синусоиды одной частоты, но находящиеся в квадратуре, т.е. сдвинутые по фазе на 90 град. после модуляции сигналы пропускаются через формирующий фильтр с ИХ типа приподнятого косинуса (или какого другого) и переходы сглаживаются.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 8 2011, 19:19
Сообщение #87


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

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



Цитата(Serg76 @ Nov 8 2011, 22:57) *
ЧМ теоретически помехоустойчивее АМ, так что Ваши проблемы лежат в реализации дема.

Теоретически да. Но как измерить время точнее 1 мкс имея АЦП с дискретностью 1 мкс? Только применяя интерполяцию при переходе через 0. А для этого нужно измерить значение сигнала до 0 и после, а это уже аналоговые величины. Поэтому на практике измерение времени не получается точнее, чем измерение амплитуды.

Цитата(Serg76 @ Nov 8 2011, 23:16) *
синусоиды одной частоты, но находящиеся в квадратуре, т.е. сдвинутые по фазе на 90 град. после модуляции сигналы пропускаются через формирующий фильтр с ИХ типа приподнятого косинуса (или какого другого) и переходы сглаживаются.

И следовательно сигналы искажаются. Как же их после этого декодировать?

Сообщение отредактировал 777777 - Nov 8 2011, 19:20
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 8 2011, 19:26
Сообщение #88


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Serg76 @ Nov 9 2011, 00:16) *
синусоиды одной частоты, но находящиеся в квадратуре, т.е. сдвинутые по фазе на 90 град. после модуляции сигналы пропускаются через формирующий фильтр с ИХ типа приподнятого косинуса (или какого другого) и переходы сглаживаются.

У него же готовая схема не поддерживает квадратуры. Дальше можно не продолжать.

Цитата(777777 @ Nov 9 2011, 00:19) *
Теоретически да. Но как измерить время точнее 1 мкс имея АЦП с дискретностью 1 мкс?

БПФ это всё делает круче некуда. Только никому не надо измерять время одного периода несущей ФМ. БПФ измеряет кол-во периодов синуса в заданном блоке сэмплов (за ширину символа). И точность (разрешающая способность) в чистом сигнале там запредельная. В том плане, что она хорошо интерполируется. И даже с большим шумом она предельная, когда другие методы уже "сдуваются".

Upd.
ADSP имеет 40 мипс. Вряд ли он потянет 64 точечный БПФ 100к в сек. Если пытаться отжать 400 кбит/сек, то тогда можно сделать 2 битную ФМ на 200к симв/сек и 4 корелятора. Но кореляторы придётся писать на асме. Либо снижать скорость данных, либо ещё другую модуляцию покопать.

Сообщение отредактировал GetSmart - Nov 8 2011, 23:04


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 8 2011, 19:28
Сообщение #89


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



777777, с какой частотой необходимо оценивать "синусоиду" ?
нужны ли все 8 оценок на периоде, или достаточно одной ?
т.е. проясните, какая информационная скорость, не могу спокойно уйти спать, хочу знать
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 8 2011, 19:33
Сообщение #90


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

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



Цитата(777777 @ Nov 8 2011, 23:19) *
И следовательно сигналы искажаются. Как же их после этого декодировать?

Не искажаются, т.е. они конечно исказятся при прохождении через канал, но на приемном конце стоит точно такой же формирующий фильтр как и на передающем, да еще как правило в демодуляторе предусмотрен адаптивный корректор (эквалайзер), который подтянет свою характеристику под характеристику канала.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 9 2011, 03:30
Сообщение #91


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

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



Цитата(GetSmart @ Nov 8 2011, 14:26) *
У него же готовая схема не поддерживает квадратуры. Дальше можно не продолжать.

можно и без квадратур, в цифре поднять на ПЧ и на обычный ЦАП/АЦП.

ЗЫ. Ошиблись при проектировании системы, я бы сделал так : для 500кб/с и скруглении 25%, QAM16 дал бы полосу 156,25 KHz, для 1МГц ЦАП/АЦП можно просто поставить этот спектр на ПЧ 250/200КГц. Ну и на приемной строне принять. 8ми тапового TSE эквалайзера хватило бы для компенсации искажений в кабеле 5.5км. А можно было бы сделать QAM64 и полоса была бы 104.17КНz %)

ЗЗЫ. я за камы потому что с ними работаю, насчет FSK не в курсе wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 9 2011, 05:12
Сообщение #92


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

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



Поддерживаю des00, выше об этом уже писал. Может, если перейдете на КАМ16, то и с кодами не надо будет заморачиваться sm.gif
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 9 2011, 05:18
Сообщение #93


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

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



Цитата(GetSmart @ Nov 8 2011, 23:26) *
У него же готовая схема не поддерживает квадратуры. Дальше можно не продолжать.

С помощью ЦАПа теоретически можно сгенерировать что угодно.

Цитата(GetSmart @ Nov 8 2011, 23:26) *
БПФ это всё делает круче некуда. Только никому не надо измерять время одного периода несущей ФМ. БПФ измеряет кол-во периодов синуса в заданном блоке сэмплов (за ширину символа). И точность (разрешающая способность) в чистом сигнале там запредельная. В том плане, что она хорошо интерполируется. И даже с большим шумом она предельная, когда другие методы уже "сдуваются".

Что-то я не пойму: вы предлагаете передавать один символ несколькими периодами несущей ФМ? Да на фига это надо если сейчас одно слово передается одним периодом.

Цитата(GetSmart @ Nov 8 2011, 23:26) *
ADSP имеет 40 мипс.

33

Цитата(GetSmart @ Nov 8 2011, 23:26) *
Вряд ли он потянет 64 точечный БПФ 100к в сек. Если пытаться отжать 400 кбит/сек, то тогда можно сделать 2 битную ФМ на 200к симв/сек и 4 корелятора. Но кореляторы придётся писать на асме. Либо снижать скорость данных, либо ещё другую модуляцию покопать.

ADSP способен на многое, я на нем извлекаю квадратный корень из 32-разрядного числа за 2.2 мкс. Ограничение в основоном в быстродействии АЦП.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 9 2011, 05:34
Сообщение #94


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

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



777777 у Вас минимальное расстояние Хемминга при переходе с 16ASK на 16QAM увеличится с 0,13 на 0,47, а это уже около 6 дБ !!!!!!
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 9 2011, 05:40
Сообщение #95


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

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



Цитата(Fast @ Nov 8 2011, 23:28) *
777777, с какой частотой необходимо оценивать "синусоиду" ?
нужны ли все 8 оценок на периоде, или достаточно одной ?

Не понял вопроса, что значит "оценивать"? Чтобы измерить ее амплитуду необходимо не менее 4 точек (при равномерном семплировании). Если считать по 8 точкам, результат получается неважный, при 16 точках 16 градаций определяются уверенно, но иногда, раз на несколько десятков слов, проходит ошибка которую я и пытаюсь исправить с помощью кодов восстановления.

Цитата(Fast @ Nov 8 2011, 23:28) *
т.е. проясните, какая информационная скорость, не могу спокойно уйти спать, хочу знать

Хотелось бы достичь 300 кбит/с, до 500 вряд ли удастся достичь. Сейчас пока получается 250.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 9 2011, 05:56
Сообщение #96


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

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



Цитата(777777 @ Nov 9 2011, 00:40) *
Хотелось бы достичь 300 кбит/с, до 500 вряд ли удастся достичь. Сейчас пока получается 250.

PS. поток Е1, в hdb3 коде пролетает 2км кабеля КСПП свободно, без каких либо вывертов. Заменив hdb3 (RZ код) на ami (NRZ код), пропустив его через фильтры найквиста, добавив эквалайзер можно пролететь 5 км. И это поток 2 Мб/с для модуляции 1 бит/символ. Работает без какого либо кодирования %)


--------------------
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 9 2011, 08:32
Сообщение #97


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(777777 @ Nov 9 2011, 09:40) *
Не понял вопроса, что значит "оценивать"? Чтобы измерить ее амплитуду необходимо не менее 4 точек (при равномерном семплировании). Если считать по 8 точкам, результат получается неважный, при 16 точках 16 градаций определяются уверенно, но иногда, раз на несколько десятков слов, проходит ошибка которую я и пытаюсь исправить с помощью кодов восстановления.


Хотелось бы достичь 300 кбит/с, до 500 вряд ли удастся достичь. Сейчас пока получается 250.
спасибо, наконец-то стало более-менее ясно.
Вам надо не на приеме оценивать амплитуду, а на передаче - вблизи датчика - получать одно 4-битное значение на весь период
1. для этого взять 16 точек, усреднить по всем, взять корень квадратный из суммы квадратов
2. либо взять 4 точки (этого вполне достаточно по Котельникову) и методами интерполяции вычислить точную амплитуду (максимум на периоде)

после чего уже к 4-битному значению применить цифровую модуляцию BPSK, FSK или QAMm
и бегом бежать от АМ, т.к. здесь информационный параметр - амплитуда - наиболее подвержен искажениям

итого. частота следования измеренных амплитуд: 64к значений в секунду, по 4 бит, т.е. общая скорость 256 кбит/сек
для BPSK полоса сигнала будет примерно 320 кГц (rolloff a = 0.25), для FSK (CPFSK) с индексом модуляции <=1 ~ 512 кГц
для QPSK 165 кГц, QAM16 - 82 кГц

постоянку выходной трансформатор не пропустит, значит, надо перенести выше нуля - на ПЧ
с учетом вышесказанного, а также, если предположим потребуется применить код Хэмминга 7,4,3
целесообразно остановиться на QPSK-модуляции, чтобы не городить АРУ (и возможно, эквалайзер), необходимые для QAM-16






Цитата(Serg76 @ Nov 9 2011, 09:12) *
Поддерживаю des00, выше об этом уже писал. Может, если перейдете на КАМ16, то и с кодами не надо будет заморачиваться sm.gif
на 5.5 км в меди - придется sm.gif

Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 9 2011, 08:44
Сообщение #98


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

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



Fast если при нынешнем плачевном положении дел возникает однократная ошибка, то при смене схемы модуляции на тот же КАМ16 у Вас появляется дополнительно 6 дБ ЭВК, нафига там кодирование вообще, даже с учетом длины линии. Кстати какие потери в С/Ш на 100 м? На худой конец можно добавить какой-нибудь дохлый треллис.

Сообщение отредактировал Serg76 - Nov 9 2011, 08:50
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 9 2011, 09:05
Сообщение #99


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

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



Цитата(Fast @ Nov 9 2011, 12:32) *
спасибо, наконец-то стало более-менее ясно.

А мне вопросы становятся все менее понятными.

Цитата(Fast @ Nov 9 2011, 12:32) *
Вам надо не на приеме оценивать амплитуду, а на передаче - вблизи датчика - получать одно 4-битное значение на весь период

На передаче измерять амплитуду? Передатчик и так знает что он передает, он передасть всё что мы ему скажем с точностью до 10 мВ. Или под словом "оценивать" вы подразумеваете что-то другое?

Цитата(Fast @ Nov 9 2011, 12:32) *
1. для этого взять 16 точек, усреднить по всем, взять корень квадратный из суммы квадратов

По-моему здесь что-то лишнее
Цитата(Fast @ Nov 9 2011, 12:32) *
2. либо взять 4 точки (этого вполне достаточно по Котельникову) и методами интерполяции вычислить точную амплитуду (максимум на периоде)

Это вы о несущей синусоиде или о чем-то другом?
Цитата(Fast @ Nov 9 2011, 12:32) *
после чего уже к 4-битному значению применить цифровую модуляцию BPSK, FSK или QAMm
и бегом бежать от АМ, т.к. здесь информационный параметр - амплитуда - наиболее подвержен искажениям

В теории все так, но ни одну из этих модуляций не примешь не измеряя уровень сигнала с помощью АЦП.
Цитата(Fast @ Nov 9 2011, 12:32) *
итого. частота следования измеренных амплитуд: 64к значений в секунду, по 4 бит, т.е. общая скорость 256 кбит/сек
для BPSK полоса сигнала будет примерно 320 кГц (rolloff a = 0.25), для FSK (CPFSK) с индексом модуляции <=1 ~ 512 кГц
для QPSK 165 кГц, QAM16 - 82 кГц

постоянку выходной трансформатор не пропустит, значит, надо перенести выше нуля - на ПЧ
с учетом вышесказанного, а также, если предположим потребуется применить код Хэмминга 7,4,3
целесообразно остановиться на QPSK-модуляции, чтобы не городить АРУ (и возможно, эквалайзер), необходимые для QAM-16

А при чем тут постоянка?

Честно говоря, я мало чего понял из вашего поста.

Сообщение отредактировал 777777 - Nov 9 2011, 09:05
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 9 2011, 09:06
Сообщение #100


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Serg76 @ Nov 9 2011, 12:44) *
Fast если при нынешнем плачевном положении дел возникает однократная ошибка, то при смене схемы модуляции на тот же КАМ16 у Вас появляется дополнительно 6 дБ ЭВК, нафига там кодирование вообще, даже с учетом длины линии. Кстати какие потери в С/Ш на 100 м?
на последней миле основные искажения не только от затухания в меди, а также от кросс-наводок других систем, рядом лежащих кабелей, эл.сетей, импульсные щелчки от устройств промышленной автоматики и АТС. То, что ТС в рафинированных условиях до этого еще не добрался, не означает, что и дальше будет все здорово +/-1.

хотя и само затухание в меди - это явление очень серьезное, нелинейно зависящее от расстояния, материала (и типа кабеля) и частоты сигнала. До 500 кГц навскидку можно добиться не хуже 2-3дБ/100м. Но повторюсь, одиночные ошибки здесь очень имеют место, как и селективные искажения по частоте, не смотря на ЭВК и казалось бы достаточное С/Ш.

p.s. мне в свое время приходилось делать прототип дема ADSL, поэтому есть представление о проблеме..
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:46
Рейтинг@Mail.ru


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