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

 
 
 
Reply to this topicStart new topic
> Кадровая синхронизация, Выбор синхрослова
Димыч
сообщение Aug 6 2013, 07:27
Сообщение #1


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

Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331



Доброго дня!

Имеется, в общем-то, тривиальная задача:
подобрать синхрослово для канала передачи данных. Данные передаются кадрами различной длины, не скремблированы и никак не кодированы. Минимальная длина слова - DWORD (4 байта).

Знаком с кодами Баркера/Уиларда, но, может быть, у кого-то есть частный пример под похожую задачу? sm.gif

Заранее спасибо!
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Aug 6 2013, 07:56
Сообщение #2


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



А если синхрослово встретится в теле пакета? Трагедия?

Цитата(Димыч @ Aug 6 2013, 11:27) *
не скремблированы и никак не кодированы.

Go to the top of the page
 
+Quote Post
yes
сообщение Aug 6 2013, 08:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(Fat Robot @ Aug 6 2013, 11:56) *
А если синхрослово встретится в теле пакета? Трагедия?

для этого в потоке синхрослова заменяют какой-нибудь спец. фигней.

если поток скремблирован, то, наверно, в нем последовательность 11...1 или 00...0 равная длине скремблера не должна встречаться - может подойдет?

upd: не скремблирован - сори

фигней - в смысле синхрослово, а затем какой-нибудь спецкод, как воспринимать это слово - как данные или синхро
в каком-то (XYZ?)модеме для кодирования повторяющихся байтов вставлялся спецсимвол и счетчик, если спцсимвол в потоке, то как-то решалось - уже не помню
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Aug 6 2013, 10:01
Сообщение #4


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



ок.

Цитата(yes @ Aug 6 2013, 12:19) *
какой-нибудь спец. фигней.

наверно, в нем последовательность

какой-нибудь спецкод

в каком-то (XYZ?)модеме

как-то решалось - уже не помню

Go to the top of the page
 
+Quote Post
Димыч
сообщение Aug 6 2013, 11:02
Сообщение #5


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

Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331



Цитата(Fat Robot @ Aug 6 2013, 11:56) *
А если синхрослово встретится в теле пакета? Трагедия?


Нет, не трагедия. Весь поток данных парсингу не подвержен. Проверяется ещё стоп-маркер и КС.
То есть, уникальность синхрослова или, скорее, низкая вероятность наличия идентичного в потоке передаваемых данных, является дополнительной защитой.

Цитата(yes @ Aug 6 2013, 12:19) *
для этого в потоке синхрослова заменяют какой-нибудь спец. фигней.

в каком-то (XYZ?)модеме для кодирования повторяющихся байтов вставлялся спецсимвол и счетчик, если спцсимвол в потоке, то как-то решалось - уже не помню


да, например можно применить байт-стаффинг. Но это уже парсинг всего протокола, что на данный момент для программиста(т.е. для программы) на ПК будет слишком ресурсно.

То же можно сказать и о xxx-модеме sm.gif

Но, в любом случае, спасибо за соображения
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Aug 6 2013, 11:22
Сообщение #6


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



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

Это в предположениях, что ошибок в канале нет, и синхронизироваться нужно 1 раз, а дальше только проверять.

для случая "маркер начала" - данные - кс - "маркер окончания" (без поля длины) получается какая-то неочевидная машина состояний для приема.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 6 2013, 13:14
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Димыч @ Aug 6 2013, 11:27) *
Имеется, в общем-то, тривиальная задача:
подобрать синхрослово для канала передачи данных.


Задача далеко не тривиальная.

Вот вам парочка посредственных 4-х байтовых:
0xEDE2ED1D
0xB8B7B848
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Aug 6 2013, 13:43
Сообщение #8


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 6 2013, 14:08
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Fat Robot @ Aug 6 2013, 17:43) *
.


В общем формулы "Баркера" наилучших последовательностей под произвольную длину неизвестно, брутальным перебором искать солнышко погаснет, вот собственно и вся глубина задачи.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Aug 6 2013, 15:45
Сообщение #10


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Если посмотреть на проводные системы: USB, Ethernet, модемы для ТфОП, то там про без Баркера обходятся.
Go to the top of the page
 
+Quote Post
Димыч
сообщение Aug 6 2013, 16:25
Сообщение #11


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

Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331



Цитата(Fat Robot @ Aug 6 2013, 15:22) *
.....и единиц выбраны в обатном соответствии с вероятностями их возникновения.

....

для случая "маркер начала" - данные - кс - "маркер окончания" (без поля длины) получается какая-то неочевидная машина состояний для приема.


1. да sm.gif данные в канале могут быть сэмплами изображения, а могут быть данными прошивки (для режима DFU).

2. поле длины есть - машине проще



Цитата(petrov @ Aug 6 2013, 17:14) *
Задача далеко не тривиальная.

Вот вам парочка посредственных 4-х байтовых:
0xEDE2ED1D
0xB8B7B848


по крайней мере, определённое количество статей по родственным проблематикам я уже нашёл за сегодняшний вечер. Спасибо!
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 8 2013, 15:48
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



N max_sidelobe sequence
6 2 110100
8 2 10010111
9 2 011010111
10 2 0101100111
12 2 100101110111
14 2 01010010000011
15 2 001100000101011
16 2 0110100001110111
17 2 00111011101001011
18 2 011001000011110101
19 2 1011011101110001111
20 2 01010001100000011011
21 2 101101011101110000011
22 3 0011100110110101011111
23 3 01110001111110101001001
24 3 011001001010111111100011
25 2 1001001010100000011100111
26 3 10001110000000101011011001
27 3 010010110111011101110000111
28 2 1000111100010001000100101101
29 3 10110010010101000000011100111
30 3 100011000101010010010000001111
31 3 0101010010010011000110000001111
32 3 00000001111001011010101011001100
33 3 011001100101010100101100001111111
34 3 1100110011111111100001101001010101
35 3 00000000111100101101010101100110011
36 3 001100110001010010100000100000111110
37 3 0010101110100001001110110111110011110
38 3 00000000111100001101001010101001100110
39 3 001001100110101000010111110111100111100
40 3 0010001000100011110111000011101001011010
41 3 00011100011101010010100100000001101100100
42 3 000100010001000111101110000111010010110100
43 3 0000000010110110010101011001100111000011100
44 3 00001111111011001110110010110010101011010111
45 3 000101010111100001100110001101101101111110110
46 3 0000111100000011001111011110110110010101010110
47 3 00001101001101001111110100001010001100110001000
48 3 000101010110101101100001111001100100111111110011
49 4 0000100101010101111101100011110011110010001101111
50 4 00001001011000011000111010101111000010011001101111
51 3 000111000111111100010001100100010010101001001001011
52 4 0000100101000101101011100000111100110010010001101111
53 4 00001001100101010101001111111100011010010110001101111
54 4 000010011001101010001010000001010010110011110001101111
55 4 0000100110000100110101010100001111000110010010001101111
56 4 00001001100110111010101011001011010001111011110001101111
57 4 000010010011010001010100011101101011000100011110001101111
58 4 0000100011110011100101010001011100100111101101011001101111
59 4 00001001001110100111000000100101000101000011101110001101111
60 4 000010101011100011011111000011001001011100110010010100101111
61 4 0000001011011010001001100010011000111100111101010001101010000
62 4 00000000101101011001100110001101001100101100000111010001010000
63 4 000010011001111010110100010010001110001011001010111110001101111
64 4 0100000010010000101000101110100111100110001100100011011111000010
65 4 00000001011011100000010110000110110011011110011100101010001010000
66 4 000000011010011011010001010100011100111001111100010010101101000010
67 4 0100000010100000110110010011010101100011110100100001001110011000010
68 4 00000000100111100100100111100011011001100010101010001110101001010000
69 4 000100110111111011011000010011010100000111010000100011000111000010101
Go to the top of the page
 
+Quote Post
krux
сообщение Aug 9 2013, 18:13
Сообщение #13


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

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



0xB6AB31E0


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Aug 11 2013, 19:37
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(Димыч @ Aug 6 2013, 11:27) *
Доброго дня!

Знаком с кодами Баркера/Уиларда, но, может быть, у кого-то есть частный пример под похожую задачу? sm.gif

Заранее спасибо!


А при чём тут код Баркера? Раз речь про синхрослово, то, я так понимаю, задача низкоуровневой синхронизации уже решена к этому момента? Или вы хотите двух зайцев сразу пристрелить, т.е. и символьную и словную синхронизацию коррелятором сразу вытащить без слежения? Или у вас вообще беспрерывный поток данных валится и ваша задача начало и конец вытащить? Не до конца задача понятна.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 16:28
Рейтинг@Mail.ru


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