Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: синхронизация кадров в потоке E1
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISDN/G.703/E1
siworker
Каким образом осуществляется кадровая синхронизация? Просто по маркеру в начале кадра? Может ли он совпадать с байтом из голосового канала?
shamray
Да, синхронизация происходит по 0-му тайм-слоту. Совпадения с другими тайм-слотами возможно, для этого и прописываеться количесство правильно найденых синхро-маркеров для перехода в состояние СИНХРОНИЗАЦИЯ НАЙДЕНА. А в голосовом канале данные меняються постоянно и при ошибочном зацеплении за голосовой канал через некоторое время произойдет пересинхронизация.
siworker
Цитата(shamray @ Jun 21 2007, 11:14) *
Да, синхронизация происходит по 0-му тайм-слоту. Совпадения с другими тайм-слотами возможно, для этого и прописываеться количесство правильно найденых синхро-маркеров для перехода в состояние СИНХРОНИЗАЦИЯ НАЙДЕНА. А в голосовом канале данные меняються постоянно и при ошибочном зацеплении за голосовой канал через некоторое время произойдет пересинхронизация.

и сколько достаточно правильных синхро-маркеров?
shamray
Цитата(siworker @ Jun 21 2007, 10:18) *
и сколько достаточно правильных синхро-маркеров?


Я использую FALC и вот выдержка из его доккументации:
Цитата
Synchronous state is established after detecting:
• a correct FAS word in frame n,
• the presence of the correct service word (bit 2 = 1) in frame n + 1,
• a correct FAS word in frame n + 2.
If the service word in frame n + 1 or the FAS word in frame n + 2 or both are not found
searching for the next FAS word starts in frame n + 2 just after the previous frame
alignment signal.


Asynchronous state is reached after detecting 3 or 4 consecutive incorrect FAS words or 3 or 4 consecutive incorrect service words (bit 2 = 0 in time slot 0 of every other frame not containing the frame alignment word),


Т.е. Cинхронизация найдена при нахождении синхромаркера в фрейме, наличии 1 во втором бите в фследующем за ним фрейме и правильного синхрослова в фрейме n+2. Если этого не произошло, то поиск начинаеться с фрейма n+2.

Пересинхронизация происходит из состояния "Синхронизация найдена" после 3-4 неправильных синхрослов или при наличии 0 во втором бите кажого из 3-4 нечетных фреймов.
Designer56
2 подряд в совокупности с отсутствием синхронизации в тех кадрах, где её не должно быть. Синхросигнал передается через раз. Синхрослово выбрано таким образом, что сочетание бит в нем противоречит правилам канального кодирования, поэтому в речевом (или ином) сигнале не встречается в принципе. Посмотрите G703
siworker
Цитата(Designer56 @ Jun 21 2007, 11:49) *
2 подряд в совокупности с отсутствием синхронизации в тех кадрах, где её не должно быть. Синхросигнал передается через раз. Синхрослово выбрано таким образом, что сочетание бит в нем противоречит правилам канального кодирования, поэтому в речевом (или ином) сигнале не встречается в принципе. Посмотрите G703

мы рассматриваем уже раскодированный сигнал. после микрухи LXT332. так что у нас уже передаются данные в униполярном режиме! и синхромаркер встречается в голосе. проверено!

Цитата(shamray @ Jun 21 2007, 11:46) *
Я использую FALC и вот выдержка из его доккументации:


Т.е. Cинхронизация найдена при нахождении синхромаркера в фрейме, наличии 1 во втором бите в фследующем за ним фрейме и правильного синхрослова в фрейме n+2. Если этого не произошло, то поиск начинаеться с фрейма n+2.

Пересинхронизация происходит из состояния "Синхронизация найдена" после 3-4 неправильных синхрослов или при наличии 0 во втором бите кажого из 3-4 нечетных фреймов.


спасибо! буду разбираться!

Цитата(shamray @ Jun 21 2007, 11:46) *
Я использую FALC и вот выдержка из его доккументации:


Т.е. Cинхронизация найдена при нахождении синхромаркера в фрейме, наличии 1 во втором бите в фследующем за ним фрейме и правильного синхрослова в фрейме n+2. Если этого не произошло, то поиск начинаеться с фрейма n+2.

Пересинхронизация происходит из состояния "Синхронизация найдена" после 3-4 неправильных синхрослов или при наличии 0 во втором бите кажого из 3-4 нечетных фреймов.


спасибо! буду разбираться!
Designer56
Цитата
мы рассматриваем уже раскодированный сигнал. после микрухи LXT332. так что у нас уже передаются данные в униполярном режиме! и синхромаркер встречается в голосе. проверено!

что-то непонятное- раз синхронизируется, значит тайм-слот 0 определяется, откуда тогда в голосе? голос по нулевому не передается.
shamray
Цитата(Designer56 @ Jun 21 2007, 11:13) *
что-то непонятное- раз синхронизируется, значит тайм-слот 0 определяется, откуда тогда в голосе? голос по нулевому не передается.


В голосовом канале может вполне встретиться такая комбинация. Но для того и сделана проверка последующих фреймов чтобы убедиться что найденый маркер действительно в 0-м фрейме а не случайно совпадшие биты в других каналах. Конечно, если задаться цельъю, то можно симитировать ложную последовательность данных, которую будет хватать синхронизатор. Только вот зачем?
Designer56
Цитата
В голосовом канале может вполне встретиться такая комбинация.

нет, я не это хотел сказать- если вообще голос есть - значит и синхро есть правильное, иначе как биты прочесть? или это микросхема так шутит? что иногда в голосовой из нулевого что-то кидает? Синхрослово содержит две 1 подряд в одну сторону- в HDB-3 такое невозможно.
shamray
Цитата(Designer56 @ Jun 21 2007, 11:34) *
Синхрослово содержит две 1 подряд в одну сторону- в HDB-3 такое невозможно.


Вы что-то путаете, при чем тут HDB3? E1 может передаваться и по оптике, а там HDB3, как известно, не передаеться smile.gif А так все правильно, голос постоянно меняеться, и соответственно и биты меняються, и при неправильном зацеплении произойдет рассинхронизация. А если кто-то злой передает по каналу данные иммитирующие синхру.... то все возможно. Но я такого не встречал, хотя сделать это реально.
Designer56
По оптике E1 передавать- это в наше время извращение...хотя мы в 1986 г. сделали оптическую линию в опытном порядке с E1. Но и в этом случае синхрослово нарушает законы канального кодирования- иначе может быть и ложная синхронизация даже в случае двукратной проверки. Кстати, для оптики тоже характерен код, исключающий постоянную составляющую и содержащий в спектре тактовую частоту, или её гармонику в максимуме распределения спектра сигнала.
Mc_off
Цитата(Designer56 @ Jun 21 2007, 13:05) *
По оптике E1 передавать- это в наше время извращение...хотя мы в 1986 г. сделали оптическую линию в опытном порядке с E1. Но и в этом случае синхрослово нарушает законы канального кодирования- иначе может быть и ложная синхронизация даже в случае двукратной проверки. Кстати, для оптики тоже характерен код, исключающий постоянную составляющую и содержащий в спектре тактовую частоту, или её гармонику в максимуме распределения спектра сигнала.


Опять вы путаете.

E1 - это стандарт формирования цифрового потока (структура кадров, местоположение таймслотов, сигнализаций и пр.). В стандарте Е1 не оговаривается ни физическая среда, ни кодирование, ни модуляция. Речь идет только о структуре кадра и все.



В стандарте G.703 (Е1) описано, что для правильной синхронизации необходимо:
1. Обнаружить FAS
2. Через 256 бит обнаружить NFAS
3. Через 256 бит еще раз обнаружить FAS.

Вот после этого устанавливается сигнал "ЕСТЬ СИНХРОНИЗАЦИЯ"

Если хотябы один раз не обнаружился FAS или NFAS, то сигнал "ЕСТЬ СИНХРОНИЗАЦИЯ" сбрасывается и все начинается сначала.

Вообще в стандарте все понятно описано. И реализовывать не сложно...
Designer56
Цитата
E1 - это стандарт формирования цифрового потока (структура кадров, местоположение таймслотов, сигнализаций и пр.). В стандарте Е1 не оговаривается ни физическая среда, ни кодирование, ни модуляция. Речь идет только о структуре кадра и все.


Это вовсе не так. Вот, например для 2-х мегабитного потока:
Table 7/G.703 – Digital interface at 2048 kbit/s
Pulse shape
(nominally rectangular) All marks of a valid signal must conform with the mask (see Figure 15) irrespective of the sign. The value V corresponds to the nominal peak value.
Pair(s) in each direction One coaxial pair
(see 9.4) One symmetrical pair
(see 9.4)
Test load impedance 75 ohms resistive 120 ohms resistive
Nominal peak voltage of a mark (pulse) 2.37 V 3 V
Peak voltage of a space (no pulse) 0  0.237 V 0  0.3 V
Nominal pulse width 244 ns
Ratio of the amplitudes of positive and negative pulses at the centre of the pulse interval 0.95 to 1.05
Ratio of the widths of positive and negative pulses at the nominal half amplitude 0.95 to 1.05
Maximum peak-to-peak jitter at an output port Refer to 5.1/G.823

Для желающих ознакомиться с E1 подробно- в файле.
shamray
Цитата(Mc_off @ Jun 21 2007, 12:33) *
E1 - это стандарт формирования цифрового потока (структура кадров, местоположение таймслотов, сигнализаций и пр.). В стандарте Е1 не оговаривается ни физическая среда, ни кодирование, ни модуляция. Речь идет только о структуре кадра и все.
В стандарте G.703 (Е1) описано, что для правильной синхронизации необходимо:
1. Обнаружить FAS
2. Через 256 бит обнаружить NFAS
3. Через 256 бит еще раз обнаружить FAS.


Нет, структура фрейма описана в G.704 (Synchronous frame structures used at 1544, 6312, 2048, 8448 and 44 736 kbit/s hierarchical levels)

В G.703 описаны характеристики физичесского сигнала передаваемого в линию. Если бы мы говорили о выделении из данных тактовой частоты, то да, мы бы пользовались этим стандартом.

Цитата(siworker @ Jun 21 2007, 11:06)
мы рассматриваем уже раскодированный сигнал. после микрухи LXT332. так что у нас уже передаются данные в униполярном режиме! и синхромаркер встречается в голосе. проверено!


Нам надо засинхронизироваться на фрейм в потоке данных. И глубоко наплевать в каком виде они представленны - хоть в файле лежат. Это просто поток бит. Соответственно читаем ITU G.704 и разбираемся.

На счет
Цитата
инхрослово содержит две 1 подряд в одну сторону- в HDB-3 такое невозможно.

Это называеться Code Violation и являеться ошибкой при декодировании HDB3.

Нажмите для просмотра прикрепленного файла
Mc_off
Точно, ошибся. G.704 - структура кадра...
Designer56
Тут вот почему возникла небольшая путаница. Впервые стандарты передачи по линии были приняты в "Оранжевой книге" ещё МККТТ.Тогда речь об оптике, или вообще о передаче данных не шла вообще. Всё использовалось для уплотнения речевых каналов. G703 была, а G704- её не было. Касающееся канального кодирования, синхронизации генераторов, кадровой синхронизации было изложено в G703, G723 и приложениях к ним. Впоследствии при более поздних изданиях рекомендаций уже ITU несколько изменили их структуру в связи с введением возможности использования трактов Exx для передачи данных. Поэтому цикловая(кадровая) синхронизация оказалась прописана недостаточно внятно. Хотя по содержанию ничего не изменилось за почти 30 лет.
Entuziast
V E1 vse prosto - v 0-om timeslote kadgdogo kadra idet vsegda odna i tadge infa - FAS. v kadre 32 timeslota po 8 bit kadgdyi chto daet 256 bit na kadr. Takim obrazom obe storony ishut vo vhodnyh potokah
shachala FAS potom cherez 248 bit snova odgidaiut FAS. esli nashli imenno FAS i imenno cherez 248 bit to
kadrovaia sinhronizatzia proshla. Potom nachinaetsia vtoraia faza - multikadrovoi cinhronizatzii.
tolik1
Процедуры вхождения в синхронизацию и выхода из синхронизации не мгновенны. Производители микросхем устанавливают различные значения на количество кадров входа и выхода. Что касается имитации синхросигналов (FAS - nFAS) то рекомендация G.7xx информации форматов ИКМ(A, m, ADPCM). Поток Е1 в русской литературе называют потоком ИКМ. При такой РЕЧЕВОЙ информации имитация исключается. А если чтото иное передается то может быть что угодно. И надо смотреть можно ли Ваше чтото передавать по Е1.
per_aspera_ad_astra
Наверное, тема уже закрыта, но хотелось кое что добавить... и спросить…

Делаем собственную разработку, один из модулей в ней ищет синхронизацию в потоке Е1. Алгоритм поиска сделан вначале был в принципе также как и описывалось выше (считается количество правильных и ошибочных FAS в четных кадрах и проверяется бит в нечетном и в зависимости от этого принимается решение), только с учетом того что байт потока Е1 не выровнен по границе байта входного потока, поэтому добавилось несколько стадий выравнивания по байту (ищется похожие на FAS данные) ну и компонент многоканальный (256 каналов). Но в реальных условиях обнаружилась интересная вещь: в одном из информационных тайм-слотах идет (причем очень длительное время) комбинация FAS, на которую пробуем синхронизироваться, но поскольку нечетные кадры не верны, сбрасываем поиск и начинаем новый. Но самое печальное, что опять попадаем не в «то место» (опять информационный тайм-слот) и все начинается сначала. В итоге пришлось модифицировать алгоритм, теперь он запоминает «неправильные места» и пропускает их, ну конечно если более лучшего ничего не найдет он будет пробовать опять тоже место.

Но насколько это правильно??? Очень интересно как именно реализован алгоритм поиска в реальных микросхемах? Подскажите, пожалуйста, где найти документацию на микросхему, в которой это описано?
Harbour
обычно смещают окно поиска на один бит - попасть туда же можно только через реальный синхрофрейм, если он конечно есть
Идеолог
Цитата(per_aspera_ad_astra @ Apr 30 2008, 14:14) *
Наверное, тема уже закрыта, но хотелось кое что добавить... и спросить…

Делаем собственную разработку, один из модулей в ней ищет синхронизацию в потоке Е1. Алгоритм поиска сделан вначале был в принципе также как и описывалось выше (считается количество правильных и ошибочных FAS в четных кадрах и проверяется бит в нечетном и в зависимости от этого принимается решение), только с учетом того что байт потока Е1 не выровнен по границе байта входного потока, поэтому добавилось несколько стадий выравнивания по байту (ищется похожие на FAS данные) ну и компонент многоканальный (256 каналов). Но в реальных условиях обнаружилась интересная вещь: в одном из информационных тайм-слотах идет (причем очень длительное время) комбинация FAS, на которую пробуем синхронизироваться, но поскольку нечетные кадры не верны, сбрасываем поиск и начинаем новый. Но самое печальное, что опять попадаем не в «то место» (опять информационный тайм-слот) и все начинается сначала. В итоге пришлось модифицировать алгоритм, теперь он запоминает «неправильные места» и пропускает их, ну конечно если более лучшего ничего не найдет он будет пробовать опять тоже место.

Но насколько это правильно??? Очень интересно как именно реализован алгоритм поиска в реальных микросхемах? Подскажите, пожалуйста, где найти документацию на микросхему, в которой это описано?


Извиняюсь, конечно, но описание вашей собственной разработки кажется понял только с 5-го прочтения. Вы пробовали считать вероятности ложной тревоги и вероятности правильной синхронизации для вашего алгоритма? Сейчас видится, что они будут существенно хуже классического варианта, описанного выше и, собственно, имеющегося в спецификации.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.