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

 
 
 
Reply to this topicStart new topic
> Как обеспечить разбивку на кадры в радиоканале?
ataradov
сообщение Oct 11 2007, 09:31
Сообщение #1


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

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Есть радиоканал. Физическая суть не важна. Важно то, что есть поток бит (на битовой скорости). Если передатяик ничего не передает, то поток бит - мусор, если передает, то полезные данные.

Каким образом можно обеспечить наиболее надежное разбиение на пакеты, обнаружение их начала и конца?

Может есть какое описание? Я в принципе представляю как это можно сделать, но хотелось-бы почитать как другие делают. В книгах по связи этот вопрос обычно разоран в постолшьку-поскольку.
Go to the top of the page
 
+Quote Post
PSP
сообщение Oct 11 2007, 19:11
Сообщение #2


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

Группа: Свой
Сообщений: 118
Регистрация: 1-10-07
Пользователь №: 30 988



Обычно перед пакетом делают преамбулу, например несколько десятков 0x00. Затем признак начала пакета, данные и контрольная сумма с байтстаффингом, признак конца пакета. Как простейший пример можно посмотреть реализацию SLIP.
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 11 2007, 20:05
Сообщение #3


Гуру
******

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



Вначале преамбула с достаточным количеством символьных переходов для обеспечения всех синхронизаций. Затем стартовая последовательность с хорошей автокорелляционной функцией, обеспечивающая вероятности пропуска и ложного обнаружения. Потом длина кадра(на передаче придётся буфиризировать и считать перед тем как передавать) или можно использовать фиксированную длину. Важно обеспечить надёжную передачу признаков кадра поскольку от них зависит приём всего кадра данных. Важно наличие lock-индикаторов синхронизаций, оценки качества сигнала и т. п. чтобы не ловить стартовую последовательность, не считать CRC по шумам или плохому сигналу, поскольку гарантировать ничего нельзя.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Oct 11 2007, 20:10
Сообщение #4


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Посмотрите описание NanoNet на сайте www.nanotron.com Там есть описание пакета для передачи.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
ataradov
сообщение Oct 12 2007, 07:45
Сообщение #5


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

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



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

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

Я вот про такое.
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 12 2007, 08:35
Сообщение #6


Гуру
******

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



Цитата(Taradov Alexander @ Oct 12 2007, 11:45) *
Я как раз и имел ввиду не класические схемы. Битовый поток уже есть. Зачем нужна стартовая последовательность с хорошей автокорелляционной функцией? Почему не любая последовательность?

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

Я вот про такое.


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

Посчитайте насколько это маловероятно. 16 нулей и 2 еденицы - крайне плохая последовательность. Не в коем случае нельзя чтобы приёмник работал по шумам и плохому сигналу, прецеденты безграмотной разработки бывали когда например произвольно открывались задвижки в газопроводах.
Go to the top of the page
 
+Quote Post
ataradov
сообщение Oct 12 2007, 08:48
Сообщение #7


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

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Дело вот в чем. Предполагается, что последовательность принята правильно. Следовательно обнаружение будет вестись не по превышению некоторого порога КФ, а по точному совпадению принятой последовательности с опорной.

Приложение не критичное smile.gif
Go to the top of the page
 
+Quote Post
r_dot
сообщение Oct 12 2007, 21:02
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 237
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 791



Цитата(Taradov Alexander @ Oct 12 2007, 12:48) *
... Приложение не критичное


Во времена "синклеров" и "микрошей" программы хранились на магнитофонных кассетах. Качество этой "среды передачи" где-то сравнимо с радиоканалом. Раз приложение "не критичное", то, наверное, вполне может хватить того формата:

В промежутках и в начале записи гнались "нули" для постоянной битовой синхронизации и вхождения приёмника в режим ожидания начала передачи, в том числе после сбоев приёма (наверное, не трудно гнать их вместо имеющегося "мусора" в паузах). За ними в начале пакета давался байт синхронизации Е6h. По нему же определялось, инвертирован сигнал, или нет. То есть, в ожидании начала пакета приёмник ждал последовательность не менее 64 битов "0", потом, задвигая по биту, байта E6h (или 19h - признак инверсных данных, так как разные магнитофоны могли как не инвертировать, так и инвертировать выходной сигнал).
За байтом синхронизации - два байта длины пакета.
В конце - два байта циклической контрольной суммы.

Ни битов коррекции ошибок, ни даже битов контроля чётности не было.

Думаю, в данном случае вполне можно использовать этот формат. Работал он вполне прилично, программы грузились без ошибок даже с довольно паршивых кассетников.
Go to the top of the page
 
+Quote Post
dac
сообщение Oct 28 2007, 18:21
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482



МОжет и не совсем правильно, но делали так:
При включении передатчика идут несколько байт подряд 0хАА - меандр для синхронизации приемника, затем в течении трех байт передается неактивный уровень - пауза, что бы приемник сбросил "неправильные биты" перед началом нового байта и затем данные, с заголовком, в конце CRC.
Go to the top of the page
 
+Quote Post
Alexandr-spb
сообщение Nov 9 2007, 14:24
Сообщение #10





Группа: Новичок
Сообщений: 1
Регистрация: 9-11-07
Пользователь №: 32 191



Закрылась тема?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th July 2025 - 00:06
Рейтинг@Mail.ru


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