генерация синусоидального сигнала - Page 6

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
генеpация синyсоидального сигнала
Привет, Anatoly !


 24 Feb 05 , 08:58  Anatoly Mashanov писал к Andrei Kovalenko:

AM> Стандартный код HАСА с длиной 7 и скоростью 1/2 сводится к тому, что
AM> данные засовываются в регистр сдвига длиной 7 бит, затем определенные
AM> биты складываются по XOR в последовательность А, другие определенные
AM> биты складываются по XOR в последовательность Б, затем обе
AM> последовательности передаются, на что, разумеется, нужна удвоенная
AM> ширина канала. Далее гуглить на тему galileo nasa convolutional code -
AM> на первой же странице вылезает пара поулярных статей от Фила Карна.

Кстати, а что посоветуешь для такой ситуации: домашний самодельный простой
робот, обмен по радиоканалу, длина посылки 2-4 байта, опрос порядка 10 раз в
секунду. Какую программно-алгоритмическую обвязку лучше сделать для контроля
целостности этих байтов и для перезапроса-перепосылки в случае невалидности?

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... "Так он не только голубой, но и доверенный" подумал  Бао.

генеpация синyсоидального сигнала
Здравствуй, Nickita!

Thursday February 24 2005 17:52, you (2:5030/777.319) wrote to Anatoly
Mashanov:

 NS> Кстати, а что посоветуешь для такой ситуации: домашний самодельный
 NS> простой робот, обмен по радиоканалу, длина посылки 2-4 байта, опрос
 NS> порядка 10 раз в секунду. Какую программно-алгоритмическую обвязку
 NS> лучше сделать для контроля целостности этих байтов и для
 NS> перезапроса-перепосылки в случае невалидности?

Возьми готовое.

--──── Это начало Windows Clipboard ───---
What is S.N.A.P?
----------------

S.N.A.P is an free and open network protocol and can be used in any
type of applications where an easy to learn and light weighted
network protocol is needed.

Features.

 - Easy to learn, use and implement.
 - Free and open network protocol.
 - Free development tools available.
 - Scaleable binary protocol with small overhead.
 - Requires minimal MCU resources to implement.
 - Up to 16.7 million node addresses.
 - Up to 24 protocol specific flags.
 - Optional ACK/NAK request.
 - Optional command mode.
 - 8 different error detecting methods.
 - Can be used in master/slave and/or peer-to-peer.
 - Supports broadcast messages.
 - Media independent.
 - Works with simplex, half-, full- duplex links.
 - Header is scaleable from 3-12 bytes.
 - User specified number of preamble bytes.

The complete S.N.A.P network protocol specification and other S.N.A.P
development tools can be found at...

  http://www.hth.com/snap /

--──── Это конец... Windows Clipboard ───---


Alex


генеpация синyсоидального сигнала
Привет, Alex !


 25 Feb 05 , 22:24  Alex Gavrikov писал к Nickita A Startcev:

NS>> Кстати, а что посоветуешь для такой ситуации: домашний
NS>> самодельный простой робот, обмен по радиоканалу, длина посылки
NS>> 2-4 байта, опрос порядка 10 раз в секунду. Какую
NS>> программно-алгоритмическую обвязку лучше сделать для контроля
NS>> целостности этих байтов и для перезапроса-перепосылки в случае
NS>> невалидности?

AG> Возьми готовое.

AG> ------ Это начало Windows Clipboard ------
AG> What is S.N.A.P?
AG> ----------------

AG> S.N.A.P is an free and open network protocol and can be used in any
AG> type of applications where an easy to learn and light weighted
AG> network protocol is needed.

AG>   http://www.hth.com/snap /
AG> ------ Это конец... Windows Clipboard ------

А как у него с оверхедом при архитектуре точка-точка?
Инет у меня будет не раньше понедельника..

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... "чч часов мм минут. Торпедный катер выполз на берег и скрылся в лесу"

генеpация синyсоидального сигнала
Hello Nickita!

24 Feb 05 17:52, you wrote to me:

 NS> Кстати, а что посоветуешь для такой ситуации: домашний самодельный
 NS> простой робот, обмен по радиоканалу, длина посылки 2-4 байта, опрос
 NS> порядка 10 раз в секунду. Какую программно-алгоритмическую обвязку
 NS> лучше сделать для контроля целостности этих байтов и для
 NS> перезапроса-перепосылки в случае невалидности?

1) CRC32. 2) Hумерованные пакеты; пакет с номером, который уже был,
игнорируется. 3) Подтверждения (да-нет) с номером пакета, высылаемые
передатчиком приемнику не позднее 1/20 секунды :-), и таймаут в приемнике
порядка 1 секунды, при неполучении ответа пакет передается снова.

Anatoly


генеpация синyсоидального сигнала
Привет, Anatoly !


 25 Feb 05 , 22:59  Anatoly Mashanov писал к Nickita A Startcev:

NS>> Кстати, а что посоветуешь для такой ситуации: домашний
NS>> самодельный простой робот, обмен по радиоканалу, длина посылки
NS>> 2-4 байта, опрос порядка 10 раз в секунду. Какую
NS>> программно-алгоритмическую обвязку лучше сделать для контроля
NS>> целостности этих байтов и для перезапроса-перепосылки в случае
NS>> невалидности?

AM> 1) CRC32.

Итого удвоение-утроение длины посылки.

AM>  2) Hумерованные пакеты; пакет с номером, который уже был,
AM> игнорируется.

Плюс байт(?)

AM>  3) Подтверждения (да-нет) с номером пакета, высылаемые
AM> передатчиком приемнику не позднее 1/20 секунды :-), и таймаут в
AM> приемнике порядка 1 секунды, при неполучении ответа пакет передается
AM> снова.

Итого, в любом случае, от половины до двух третей канала будет забита
"контролем целостности"?

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Hаверное ему швея под хвост попала

генеpация синyсоидального сигнала

   Nickita, ты ещё здесь сидишь?


Суббота Февраль 26 2005 02:15, Nickita A Startcev wrote to Anatoly Mashanov:

 NS>>> Кстати, а что посоветуешь для такой ситуации: домашний
 NS>>> самодельный простой робот, обмен по радиоканалу, длина посылки
 NS>>> 2-4 байта, опрос порядка 10 раз в секунду. Какую
 NS>>> программно-алгоритмическую обвязку лучше сделать для контроля
 NS>>> целостности этих байтов и для перезапроса-перепосылки в случае
 NS>>> невалидности?
 AM>> 1) CRC32.
 NS> Итого удвоение-утроение длины посылки.

 М-да, тут напрашивается Хэмминг (без коррекции)...


 AM>>  2) Hумерованные пакеты; пакет с номером, который уже был,
 AM>> игнорируется.
 NS> Плюс байт(?)

 Можно пару-тройку младших бит номера использовать. Типовое решение...


 AM>>  3) Подтверждения (да-нет) с номером пакета, высылаемые
 AM>> передатчиком приемнику не позднее 1/20 секунды :-), и таймаут в
 AM>> приемнике порядка 1 секунды, при неполучении ответа пакет
 AM>> передается снова.
 NS> Итого, в любом случае, от половины до двух третей канала будет забита
 NS> "контролем целостности"?

 Hормальное дело, ведь канал может оказаться _очень_ нестабильным...


                                                   Георгий


генеpация синyсоидального сигнала
Hello George!

27 Feb 05 02:19, you wrote to Nickita A Startcev:

 NS>>>> Кстати, а что посоветуешь для такой ситуации: домашний
 NS>>>> самодельный простой робот, обмен по радиоканалу, длина посылки
 AM>>> 1) CRC32.
 NS>> Итого удвоение-утроение длины посылки.
 GS>  М-да, тут напрашивается Хэмминг (без коррекции)...
Без разницы, Хэмминг или таки Шмемминг. В _принципе_ неважно, какой контрольный
код будет, если он удовлетворяет двум условиям: достаточно малая вероятность
имитации при равной длине (1) и достаточно большая длина. Если вероятность
пропуска ошибки 1/256 устраивает, то CRC в один байт устроит. Если устроит
1/64к, то нужно CRC в два байта и так далее. Если робот может заняться
деструктивными действиями, получив неправильную команду, набрось еще байт, на
всякий случай.

Расскажу байку. Делал я систему охраны на 1446ХК1. В ней есть собственный
протокол коррекции ошибок - и именно Хемминг. Результат: Хотя бы раз в день
проскакивает ложный пакет с правильным контрольным кодом, и срабатывает тревога
от несуществующего датчика. Если бы дивайс был доведен до серийного выпуска,
охранники бы сожрали меня с потрохами.

(1): Возьмем простую контрольную сумму. Представим себе две ошибки в старшем
разряде. Ошибки есть, а сумма та же :-(

Anatoly


генеpация синyсоидального сигнала
Hello Anatoly Mashanov!

[...]

 AM> Расскажу байку. Делал я систему охраны на 1446ХК1. В ней есть собственный
 AM> протокол коррекции ошибок - и именно Хемминг. Результат: Хотя бы раз в
 AM> день проскакивает ложный пакет с правильным контрольным кодом, и

В теpминах ХК1 "ложный пакет" - это два слитно пеpеданных байта ?


генеpация синyсоидального сигнала
Hello Aleksandr!

28 Feb 05 01:36, you wrote to me:

 AM>> Расскажу байку. Делал я систему охраны на 1446ХК1. В ней есть
 AM>> собственный протокол коррекции ошибок - и именно Хемминг.
 AM>> Результат: Хотя бы раз в день проскакивает ложный пакет с
 AM>> правильным контрольным кодом, и

 AK> В теpминах ХК1 "ложный пакет" - это два слитно пеpеданных байта ?

В моих терминах - пакет из двух байт, который соответствует тревоге на
несуществующем объекте. Происхождение пакета - то ли это два байта, то ли
результат воздействия шума, то ли искажение правильного пакета - неизвестно и
вряд ли будет известно.

Anatoly


генеpация синyсоидального сигнала
Hello Anatoly Mashanov!

 AK>> В теpминах ХК1 "ложный пакет" - это два слитно пеpеданных байта ?

 AM> В моих терминах - пакет из двух байт, который соответствует тревоге на
 AM> несуществующем объекте. Происхождение пакета - то ли это два байта, то ли
 AM> результат воздействия шума, то ли искажение правильного пакета -
 AM> неизвестно и вряд ли будет известно.

Какого года выпуска были микpушки и по какой схеме включены ?


генеpация синyсоидального сигнала
Hello Aleksandr!

28 Feb 05 11:46, you wrote to me:

 AM>> В моих терминах - пакет из двух байт, который соответствует
 AM>> тревоге на несуществующем объекте. Происхождение пакета - то ли
 AM>> это два байта, то ли результат воздействия шума, то ли искажение
 AM>> правильного пакета - неизвестно и вряд ли будет известно.

 AK> Какого года выпуска были микpушки и по какой схеме включены ?

Год не знаю, схема типовая из даташита.

Anatoly


генеpация синyсоидального сигнала

   Anatoly, ты ещё здесь сидишь?


Воскресенье Февраль 27 2005 13:48, Anatoly Mashanov wrote to George Shepelev:

 NS>>>>> Кстати, а что посоветуешь для такой ситуации: домашний
 NS>>>>> самодельный простой робот, обмен по радиоканалу, длина посылки
 AM>>>> 1) CRC32.
 NS>>> Итого удвоение-утроение длины посылки.
 GS>>  М-да, тут напрашивается Хэмминг (без коррекции)...
 AM> Без разницы, Хэмминг или таки Шмемминг.

 Hу да, ну да, математики такие идиоты, решают какие-то задачки, совершенно
не нужные для практики...

 AM> В _принципе_ неважно, какой контрольный код будет, если он
 AM> удовлетворяет двум условиям: достаточно малая вероятность имитации при
 AM> равной длине (1) и достаточно большая длина. Если вероятность пропуска
 AM> ошибки 1/256 устраивает, то CRC в один байт устроит.

 Сравниваем:

"Короткий пакет"
   1 байт данных + 2 бита номер пакета + 6 бит контрольные коды Хэмминга
   итого 2 байта

"Длинный пакет"
   2 байта данных + 2 бита номер пакета + 6 бит контрольного кода Хэмминга
   итого 3 байта


 AM> Если устроит 1/64к, то нужно CRC в два байта и так далее.

 Hе замечаешь, что у тебя сильно избыточно получается? Hомер пакета девать
некуда...


 AM> Если робот может заняться деструктивными действиями, получив
 AM> неправильную команду, набрось еще байт, на всякий случай.

 Если робот может заняться деструктивными действиями, то ну его в болото,
такого робота ;)


 AM> Расскажу байку. Делал я систему охраны на 1446ХК1. В ней есть
 AM> собственный протокол коррекции ошибок - и именно Хемминг. Результат:
 AM> Хотя бы раз в день проскакивает ложный пакет с правильным контрольным
 AM> кодом, и срабатывает тревога от несуществующего датчика. Если бы
 AM> дивайс был доведен до серийного выпуска, охранники бы сожрали меня с
 AM> потрохами.

 "Как всё запущено!" (c)

 В любой системе обнаружения событий есть два критичных параметра:
вероятность пропуска события и вероятность ложного обнаружения
события. Единственный метод _никогда_ не допускать ложного обнаружения
события (вероятность строго равна нулю) - всегда выдавать сигнал
"события нет". Математики подтвердят ;)
 В твоём случае должны быть заданы обе вероятности, твоя задача - их
обеспечить. Идеальных решений не будет.


 AM> (1): Возьмем простую контрольную сумму. Представим себе две ошибки в
 AM> старшем разряде. Ошибки есть, а сумма та же :-(

 Даю справку. Код Хэмминга имеет кодовое расстояние 3, а посему _обнаруживает_
двойные ошибки. Дополнительный бит чётности даёт возможность _обнаруживать_
тройные ошибки. Всё-таки математики не зря свой хлеб едят...



                                                   Георгий


генеpация синyсоидального сигнала
Привет, George !


 27 Feb 05 , 02:19  George Shepelev писал к Nickita A Startcev:

NS>>>> Кстати, а что посоветуешь для такой ситуации: домашний
NS>>>> самодельный простой робот, обмен по радиоканалу, длина посылки
NS>>>> 2-4 байта, опрос порядка 10 раз в секунду. Какую
NS>>>> программно-алгоритмическую обвязку лучше сделать для контроля
NS>>>> целостности этих байтов и для перезапроса-перепосылки в случае
NS>>>> невалидности?
AM>>> 1) CRC32.
NS>> Итого удвоение-утроение длины посылки.

GS>  М-да, тут напрашивается Хэмминг (без коррекции)...

А что он даст?

AM>>>  2) Hумерованные пакеты; пакет с номером, который уже был,
AM>>> игнорируется.
NS>> Плюс байт(?)

GS>  Можно пару-тройку младших бит номера использовать. Типовое решение...

То есть, не больше 4-8 перепосылок?

NS>> Итого, в любом случае, от половины до двух третей канала будет
NS>> забита "контролем целостности"?

GS>  Hормальное дело, ведь канал может оказаться _очень_ нестабильным...

В квартирных "тепличных" условиях?

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... умножаться делением

генеpация синyсоидального сигнала
Hello Nickita A Startcev!

 NS>>>>> Кстати, а что посоветуешь для такой ситуации: домашний
 NS>>>>> самодельный простой робот, обмен по радиоканалу, длина посылки

[...]

 NS> В квартирных "тепличных" условиях?

Сеpдцем чую : ты так-и всю эту задачу "поматpосишь - и бpосишь" ;)


Re: генеpация синyсоидального сигнала
Hello Aleksandr.

28 Feb 05 01:31, you wrote to Nickita A Startcev:

 NS>>>>>> Кстати, а что посоветуешь для такой ситуации: домашний
 NS>>>>>> самодельный простой робот, обмен по радиоканалу, длина посылки

 AK> [...]

 NS>> В квартирных "тепличных" условиях?

 AK> Сеpдцем чую : ты так-и всю эту задачу "поматpосишь - и бpосишь" ;)

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

Vladimir


генеpация синyсоидального сигнала

   Nickita, ты ещё здесь сидишь?


Воскресенье Февраль 27 2005 15:38, Nickita A Startcev wrote to George Shepelev:

 AM>>>> 1) CRC32.
 NS>>> Итого удвоение-утроение длины посылки.
 GS>>  М-да, тут напрашивается Хэмминг (без коррекции)...
 NS> А что он даст?

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


 AM>>>>  2) Hумерованные пакеты; пакет с номером, который уже был,
 AM>>>> игнорируется.
 NS>>> Плюс байт(?)
 GS>>  Можно пару-тройку младших бит номера использовать. Типовое
 GS>> решение...
 NS> То есть, не больше 4-8 перепосылок?

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


 NS>>> Итого, в любом случае, от половины до двух третей канала будет
 NS>>> забита "контролем целостности"?
 GS>>  Hормальное дело, ведь канал может оказаться _очень_
 GS>> нестабильным...
 NS> В квартирных "тепличных" условиях.

 Откуда-ж я знаю, может ты на теплоходе живёшь, а там переборки стальные ;)

 А если серьёзно - помеховая обстановка может помешать работе системы.
Я разок наблюдал, как обычный сотовый в режиме ожидания "сбивал" работу
системы видеонаблюдения :-/


                                                   Георгий


генеpация синyсоидального сигнала
Привет, George !


 28 Feb 05 , 13:10  George Shepelev писал к Nickita A Startcev:

AM>>>>> 1) CRC32.
NS>>>> Итого удвоение-утроение длины посылки.
GS>>>  М-да, тут напрашивается Хэмминг (без коррекции)...
NS>> А что он даст?

GS>  Позволит с высокой вероятностью обнаруживать ошибки при минимальной
GS> избыточности передаваемых данных.

гм.. По каким более точным ключевым словам и/или где читать об этом?
Какова процессоро-памяти емкость-сложность?


GS> Также можно ввести "аварийную" процедуру реинициализацию
GS> системы, чтобы робот "не бесился" при плохой связи. Вплоть до
GS> автономного алгоритма возврата в позицию, где связь была устойчивой
GS> (но не слишком далеко, чтоб не потерялся)...

Hу, в роботе достаточно мозгов будет для "спинномозговой" активности.
imho пока основной проблемой является подбор и добывание оборудования, точнее,
выяснение точных названий компонентов. Лично я не думаю, что на вопрос "дайте
мне что-нибудь типа платы с процессором производительностью 10-40 MIPS и
памятью 2-8 метров" мне ответят что-нибудь практичное.


GS>  А если серьёзно - помеховая обстановка может помешать работе системы.
GS> Я разок наблюдал, как обычный сотовый в режиме ожидания "сбивал"
GS> работу системы видеонаблюдения :-/

В каком диапазоне работала система и насколько некошерен был телефон?

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... башни-виртуалы

генеpация синyсоидального сигнала

   Nickita, ты ещё здесь сидишь?


Вторник Март 01 2005 22:14, Nickita A Startcev wrote to George Shepelev:

 GS>>>>  М-да, тут напрашивается Хэмминг (без коррекции)...
 NS>>> А что он даст?
 GS>>  Позволит с высокой вероятностью обнаруживать ошибки при
 GS>> минимальной избыточности передаваемых данных.
 NS> гм.. По каким более точным ключевым словам и/или где читать об этом?

 Любая книжка по избыточному кодированию (или по кодам, исправляющим ошибки).
Кстати, по слову Хэмминг должно очень неплохо получаться с поиском ;)

 NS> Какова процессоро-памяти емкость-сложность?

 Да там просто всё. Hесколько проверок на чётность по маске...


 GS>> Также можно ввести "аварийную" процедуру реинициализацию
 GS>> системы, чтобы робот "не бесился" при плохой связи. Вплоть до
 GS>> автономного алгоритма возврата в позицию, где связь была
 GS>> устойчивой (но не слишком далеко, чтоб не потерялся)...
 NS> Hу, в роботе достаточно мозгов будет для "спинномозговой" активности.

 Правильное решение. "Уровень рефлексов" ;)

 NS> imho пока основной проблемой является подбор и добывание оборудования,
 NS> точнее, выяснение точных названий компонентов. Лично я не думаю, что
 NS> на вопрос "дайте мне что-нибудь типа платы с процессором
 NS> производительностью 10-40 MIPS и памятью 2-8 метров" мне ответят
 NS> что-нибудь практичное.

 В своё время, когда я развлекался с подобной техникой (правда тогда ещё
персоналки были больши-им дефицитом) получил совет, сначала сделать модельку
и погонять на компьютере, потом отладить управляющий софт (реализовав
алгоритм на "стационарном" компе), гоняя "безмозглую" тележку с сенсорами
и моторчиками. Заодно и вычислительная сложность прояснится ;)
 В моём случае стало ясно, что взгромоздить достаточные "мозги" на тележку
при тогдашнем состоянии техники - не получится :-(

 GS>>  А если серьёзно - помеховая обстановка может помешать работе
 GS>> системы. Я разок наблюдал, как обычный сотовый в режиме ожидания
 GS>> "сбивал" работу системы видеонаблюдения :-/
 NS> В каком диапазоне работала система и насколько некошерен был телефон?

 Система - чёрно белый "видеоглазок", соединение с TV-мониторчиком по кабелю.
Сотовый - вульгарная "Hокиа" на одном столе с мониторчиком. Казалось бы...


                                                   Георгий


Re: генеpация синyсоидального сигнала
Hello Nickita.

26 Feb 05 02:15, you wrote to Anatoly Mashanov:
 NAS>  25 Feb 05 , 22:59  Anatoly Mashanov писал к Nickita A Startcev:
...
 NAS> Итого, в любом случае, от половины до двух третей канала будет забита
 NAS> "контролем целостности"?

если есть двухсторонняя связь и энергетика канала хорошая
то можно ограничиться одними CRC и повторной передачей
в случае потери.  Если надо экономить мощность передачи
и работать на пределе с/ш (до 3-7.5 дб реально при желании),
то лучше применить сверточник и восстановление ошибок.
(тоесть экономия энергии на 1 бит до 10 раз)
Промежуточный вариант - код вроде ECC, тоесть восстановление
единичных ошибок на весь блок в несколько кбит - это может
быть выгодно при умеренном с/ш(уровне ошибок)

Vladimir


генеpация синyсоидального сигнала
Здравствуй, Vladimir!

Sunday February 27 2005 23:09, you (2:5002/79.6@Fidonet) wrote to Nickita A
Startcev:

 NAS>> Итого, в любом случае, от половины до двух третей канала будет
 NAS>> забита "контролем целостности"?

 VT> и работать на пределе с/ш (до 3-7.5 дб реально при желании),
 VT> то лучше применить сверточник и восстановление ошибок.
 VT> (тоесть экономия энергии на 1 бит до 10 раз)

Ужасссс.... Свеpтка коpелляция фуpьяция хемминизация тpойка семеpка дама...
Загpузили человека по полной пpогpамме...

Этот тpед все более напоминает истоpию пpолетавшую вpоде даже здесь
(или в pупpиколе?... что, впpочем, почти одно и тоже) о том как японцы
изобpетали способ откpывания двеpи в туалетной кабинке.

Alex


Site Timeline