СИНХРОНИЗАЦИЯ VODSL ДЛЯ DSLAM, СОЕДИНЕННОГО ТОЛЬКО С ETHERNET
SYNCHRONISATION OF VODSL FOR DSLAM, CONNECTED TO ETHERNET ONLY

Область техники, к которой относится изобретение
Изобретение относится к способу и устройству синхронизации POTS (простой старой телефонной службы), переносимой по DSL (абонентским цифровым линиям), т.е. для VoDSL (Голос по DSL), DSL, принимающим данные из сети передачи пакетов, в частности сети Ethernet.
Предшествующий уровень техники
Цифровая PSTN (телефонная коммутируемая сеть общего пользования), предназначенная, прежде всего, для передачи голосовой информации между двумя телефонными аппаратами, является синхронной сетью, см. фиг. 1. Аналого-цифровые (A/D) и цифроаналоговые (D/A) преобразователи в двух линейных схемах на концах соединения, т.е. в абонентских линиях к двум телефонным аппаратам, используют “одинаковый” 8-кГц опорный синхронизирующий сигнал, см. фиг. 2.
Если сеть передачи пакетов, использующая, например, Ethernet, используется для передачи голосовой информации по некоторой части маршрута между двумя телефонными аппаратами, см. фиг. 3, общий опорный синхронизирующий сигнал, который может быть использован A/D и D/A-преобразователями, недоступен. Голосовые сэмплы передаются в пакетах, используемые пакеты также называются кадрами согласно Ethernet. Моменты поступления пакетов варьируются в зависимости от изменений задержки в сети передачи пакетов. Затем необходимы буферы случайных флуктуаций на принимающих концах, см. фиг. 4, чтобы управлять изменениями задержки. Если синхронизирующие сигналы, которые не синхронизированы друг с другом, используются в A/D и D/A-преобразователях на концах установленного соединения, буферы случайных флуктуаций рано или поздно переполнятся или будут пустыми. Голосовые сэмплы должны быть удалены или вставлены, чтобы избежать этого, в тех случаях, когда эта коррекция затрагивает удаление/вставку голосовых сэмплов, это обычно называется сдвигом. Если сдвиг вставляется во время периода тишины голосовой передачи, он не будет обнаруживаться человеком, принимающим голосовое сообщение.
Однако, например, некоторые устройства типа обычных телефонных модемов для передачи данных или факсимильных сообщений чувствительны к сдвигам и дрожанию синхронизирующих импульсов. Следовательно, многие модемы будут переобучаться, когда происходит сдвиг. Кроме того, DTMF-сигналы разрушаются сдвигом.
Трафик POTS, т.е. обычная голосовая информация по физической абонентской линии или линии связи, также переносящей ADSL (асимметричная цифровая абонентская линия) для передачи цифровой информации, обычно передается в собственной полосе частот, полученной разделением доступной полосы частот с использованием аналоговых делящих фильтров. ADSL использует полосу частот от 25 кГц до 1,1 МГц или до 2,2 МГц для стандарта ADSL2+, а POTS использует обычные POTS-частоты.
В VoDSL POTS вместо этого отправляет голосовую информацию, закодированную как цифровые данные в полезной нагрузке ADSL. Затем POTS-кодек (PCM кодер-декодер) располагается на стороне абонента линии ADSL. POTS-кодеку необходим 8-кГц опорный синхронизирующий сигнал, такие опорные сигналы синхронизации в данном документе называются просто “синхронизирующие сигналы” или “синхросигналы”.
Преимущества VoDSL включают в себя то, что если POTS использует цифровой диапазон, могут использоваться обычные POTS-частоты для данных, и что частотные разделяющие фильтры не нужны.
Для предоставления опорного синхроимпульса для декодирования голосовой информации на принимающем конце маршрута связи, включающего в себя сеть передачи пакетов, может использоваться свободно работающий генератор. Однако, ожидаемая точность дешевого генератора находится порядка в 100 ppm, дающей скорость смещения в одно смещение на 104 сэмпла, т.е. каждые 1,25 секунды. Это неприемлемо для высококачественной POTS-системы. В IP-сетях используется протокол сетевого времени (NTP) для того, чтобы синхронизировать узлы, и он может быть использован для восстановления синхронизации, см. опубликованные международные патентные заявки №№ WO 00/42728 и 02/39630 для Telefonaktiebolaget L M Ericsson и соответствующие патенты США №№ 6,532,274 и 6,711,411, изобретатель Stefano Ruffini. Стандарт IEEE 1588 является способом 2-го уровня (Ethernet) для предоставления синхронизирующего сигнала. Он требует Ethernet на всем пути, т.е. маршрутизаторы не могут быть соединены в маршруте соединения.
Существуют различные способы для формирования синхронизирующего сигнала, например, из принятых пакетов, некоторые из них требуют специально сконструированных пакетов или нестандартное Ethernet-оборудование. Существует необходимость в способах, которые имеют высокую производительность и могут использовать существующие потоки пакетов в сети передачи Ethernet.
“Адаптивная синхронизация” - это общее наименование для способов, которые регенерируют синхроимпульс из пакетной синхронизации. Некоторые из этих способов являются способами "точка-точка", которые работают прозрачно через разные виды сетевого оборудования типа коммутаторов и маршрутизаторов. Качество регенерированного синхроимпульса сильно зависит от изменения в задержках пакетов. Например, в коммутаторе пакет, несущий голосовую информацию, может ожидать, пока не будет передан длинный пакет данных. Время, которое пакет должен ожидать, пропорционально длине пакета данных и скорости, например, в бит/сек, линии связи. Максимальная длина Ethernet-пакетов равна 1500 байт. В 100 Мбит/с Ethernet-линии связи это соответствует 120 мкс, а в Gigabit Ethernet соответствует 12 мкс. В ADSL-линии связи скорость гораздо ниже, например, 0,5-8 Мбит/с. Таким образом, например, скорость в 0,5 Мбит/с соответствует 24 мс для Ethernet-пакета максимальной длины. Очевидно, что в этом случае задержки из-за длинных пакетов данных слишком высоки. Это означает, что изменение задержки пакетов после DSL-линии связи увеличивается и что способы адаптивной синхронизации по ADSL-линии связи менее полезны.
В ADSL-стандарте ITU-T G.992.1 описывается передача 8-кГц синхронизирующего опорного сигнала. В случае голоса по DSL опорная синхронизация, доступная в DSLAM, может быть соединена с NTR-устройством (сетевого опорного синхронизирующего сигнала) и передаваться абоненту. ADSL первоначально создан для ATM-интерфейса и в этом случае 8-кГц опорный сигнал обычно доступен из ATM-сети.
В NTR-устройствах создается разность фаз между 8 кГц синхронизацией и синхронизацией ADSL-сэмплов, которая получена делением времени передачи 2,208 МГц на 276, чтобы получить 8-кГц сигнал, см. фиг. 5, и ее значение передается абоненту. В случае, когда DSLAM (мультиплексор доступа DSL), используемый в конце восходящей линии связи ADSL, соединен только через Ethernet, в котором недоступна такая опорная синхронизация, является случаем, рассмотренным в данном документе.
Сущность изобретения
Целью изобретения является предоставить ретранслирующее устройство, такое как DSLAM, которое принимает Ethernet-кадры и создает опорный синхронизирующий сигнал для использования в цифровой абонентской линии, в частности, ADSL.
Другой целью изобретения является предоставить способ создания из принятого потока/принятых потоков Ethernet-кадров опорного синхронизирующего сигнала для использования в цифровой абонентской линии, в частности, ADSL.
Как правило, способ использует время поступления RTP-пакетов, чтобы сформировать опорный синхронизирующий сигнал.
В случае голоса по DSL голосовая информация передается цифровым образом в битовом потоке ADSL, опорный синхронизирующий сигнал формируется с использованием способа адаптивной синхронизации и сообщается на NTR-вход ADSL-модема. Таким образом, 8-кГц опорный синхронизирующий сигнал может быть регенерирован на стороне абонента. Как только, например, голосовой вызов, который инициирует пакеты, полезные для синхронизации, будет доступен, процесс синхронизации может быть инициирован, а опорный синхронизирующий сигнал передан клиенту или абоненту с использованием NTR.
ADSL DSLAM исследует поток пакетов, идущий к абоненту ADSL. Как только идентифицируется поток голосовых пакетов или другой услуги в реальном времени, который синхронизирован с сетью PSTN, например, видеоконференция, он используется в процессе синхронизации. Такие потоки данных могут быть идентифицированы, например, с использованием тегов VLAN, IP-адресов источника, номера порта их пакетов или кадров, или идентификацией их RTP-содержимого. DSLAM может также управляться из другой системы, чьи пакеты должны использоваться. Если доступны несколько потоков, могут использоваться один или несколько потоков. Предпочтительно, используется поток с наименьшей вариативностью задержки.
Как правило, ретранслирующее устройство, такое как DSLAM, выполнено с возможностью принимать Ethernet-пакеты и ретранслировать их или информацию, содержащуюся в них, по цифровым абонентским линиям. Для ретрансляции голосовой информации, содержащейся в принятых Ethernet-пакетах, опорный синхронизирующий сигнал формируется устройством синхронизации и предоставляется модемам для цифровых абонентских линий. Устройство синхронизации включает в себя блок извлечения для выбора, по меньшей мере, одного потока принятых Ethernet-пакетов и блок формирования синхронизирующего сигнала, сконфигурированный как блок адаптивной синхронизации или генератор, для формирования опорного синхронизирующего сигнала согласно моментам прибытия пакета в выбранном потоке или потоках пакетов. Опорный синхронизирующий сигнал может быть предоставлен блокам привязки ко времени в модемах. Блок извлечения может анализировать принятые Ethernet-пакеты, чтобы найти потоки пакетов от одного места назначения одному пользователю, пакеты каждого из потоков несут информацию в реальном времени, принадлежащую услуге в реальном времени, и затем выбрать один или более потоков, которые должны использоваться генератором адаптивной синхронизации.
Краткое описание чертежей
Теперь изобретение будет описано путем неограничивающих вариантов осуществления со ссылкой на сопровождающие чертежи, на которых:
Фиг. 1 является схемой передачи голосовой информации между двумя телефонными аппаратами по цифровой телефонной коммутируемой сети общего пользования.
Фиг. 2 является схемой, похожей на фиг. 1, иллюстрирующей также A/D и D/A-преобразователи, расположенные в местных телефонных станциях на концах соединения между двумя телефонными аппаратами.
Фиг. 3 является схемой передачи голосовой информации от/к телефонному аппарату, где сеть передачи пакетов, использующая, например, Ethernet, используется для передачи голосовой информации по некоторой части маршрута передачи.
Фиг. 4 является блок-схемой местной телефонной станции, соединенной между сетью передачи пакетов и телефонной сетью и включающей в себя местный генератор, A/D и D/A-преобразователи и буфер случайных флуктуаций для управления изменяющимися задержками прибывших пакетов.
Фиг. 5 является блок-схемой блока NTR для использования в DSL-модемах.
Фиг. 6 является схемой, подобной фиг. 3, иллюстрирующей также цифровой телефонный аппарат, соединенный через ADSL-линию связи с коммутируемой телефонной сетью общего пользования.
Фиг. 7 является блок-схемой DSLAM, размещенного для передачи голосовой информации по цифровым абонентским линиям.
Фиг. 8 является схемой протоколов или схемами обработки протоколов.
Фиг. 9 является схемой, иллюстрирующей задержки пакетов, полученных из сети передачи пакетов.
Фиг. 10 является схемой, иллюстрирующей направление задержек относительно опорного синхронизирующего сигнала для задержек пакетов, принятых из сети передачи пакетов.
Фиг. 11 является блок-схемой схем, требуемых для ретрансляции цифровой информации, включающей в себя голосовую информацию, по ADSL-линии связи, где сформированный опорный синхронизирующий сигнал используется в качестве сетевого опорного сигнала времени.
Фиг. 12 является блок-схемой блока адаптивной синхронизации, включающего в себя PLL и настраиваемый генератор.
Фиг. 13 является схемой, иллюстрирующей значения счетчика, измеряющего задержку, и моменты прибытия пакетов.
Фиг. 14 является блок-схемой блока вычисления минимального значения, использующего алгоритм скользящего окна и группирующего или блокирующего принятые значения.
Фиг. 15 является принципиальной схемой PLL-фильтра.
Фиг. 16 является блок-схемой, подобной фиг. 12, но иллюстрирующей генератор, имеющий фиксированную частоту.
Фиг. 17 является блок-схемой, подобной фиг. 11, где сформированный опорный синхронизирующий сигнал используется, чтобы управлять синхронизацией передачи.
Фиг. 18 является блок-схемой этапов, выполняемых блоком извлечения.
Фиг. 19 является блок-схемой блока извлечения.
Подробное описание изобретения
На фиг. 6 схематически иллюстрирована система, в которой голосовая информация передается через сеть Ethernet и ADSL. Цифровой телефонный аппарат 1 соединен через ADSL-модем 3 и линию 5, несущую ADSL-линию, со специальным интерфейсным узлом 7, также содержащим в себе ADSL-модем, не показан. Узел 7 и его ADSL-модем соединены через Ethernet-сеть, символически иллюстрированной Ethernet-коммутатором 9, c PSTN 11. PSTN соединена с сетью Ethernet в местной телефонной станции/коммутаторе 13 и TAG (шлюз доступа к телефонии) 15. TAG помещает голосовые сэмплы в Ethernet-кадры и извлекает голосовые сэмплы из принятых Ethernet-кадров. Множество цифровых телефонов, как правило, могут быть соединены с одним и тем же интерфейсным узлом 7, соответствующему DSLAM 8, заключенному в данном документе. Аналоговые телефонные аппараты 15 также могут быть соединены со специальным предусмотренным узлом 7, который имеет необходимые функции, такие как, например, A/D и D/A-преобразователи.
В блок-схеме на фиг. 7 иллюстрирован DSLAM 8, который соединен с сетью Ethernet по сетевому порту 21. DSLAM включает в себя множество отдельных DSL-модемов 23, каждый имеет NTR-блок 25 и соединен с абонентскими линиями 27. Кроме того, DSLAM 8 включает в себя функции, не показаны, для маршрутизации Ethernet-кадров, принятых из сетевого порта 21, чтобы скорректировать один из DSL-модемов и ретранслировать цифровую информацию, принятую от абонентов, из DSL-модемов в сетевой порт.
DSLAM 8 включает в себя устройство 28 синхронизации, содержащее блок 29 извлечения, также именуемый блоком выборки, для извлечения, в предпочтительном случае, одного потока пакетов, выбранного, как правило, среди множества потоков пакетов, входящих по сетевому порту 21. Для этой цели блок извлечения может быть соединен с подходящими блоками управления протоколом DSLAM, не показаны. Как правило, блок 29 извлечения непрерывно исследует потоки пакетов к абонентам ADSL. Как только определяется поток голосовых пакетов или другой услуги в реальном времени, который является или предполагается как синхронный с PSTN-сетью 9, например, поток пакетов видеоконференции, он может быть использован в процессе синхронизации.
Выбор подходящего потока пакетов может быть сделан несколькими способами. Выбор в основном производится посредством исследования такой информации как IP-адресов, номеров портов и VLAN-тегов принятых пакетов. Некоторые примеры приведены ниже.
1. POTS-трафик может передаваться в отдельной VLAN для того, чтобы иметь возможность расставлять приоритеты между голосовым трафиком и трафиком данных. VLAN-тег - это часть заголовка Ethernet-пакетов, и он может использоваться, чтобы различить и выбирать голосовой трафик.
2. DSLAM 8 может знать IP-адрес TAG 15 и затем отфильтровать пакеты, приходящие от этого IP-адреса.
3. POTS-трафик к определенному телефону имеет уникальный PORT-номер, и он может использоваться, чтобы различать голосовой трафик.
Комбинация нескольких критериев может требоваться, чтобы найти потоки пакетов, подходящие для синхронизации. Этот процесс может быть назван “фильтрацией входящих потоков Ethernet-пакетов”. Чтобы найти критерии фильтрации, могут быть упомянуты три основных способа:
1. В прозрачном режиме блок 29 извлечения сам должен определить критерии фильтрации, которые следует использовать. Это может быть сделано двумя способами:
a. Отслеживание передачи сигналов. В этом случае блок извлечения изучает пакеты передачи сигналов, т.е. пакеты, содержащие информацию об установлении вызова. Этот вид информации обычно передается с использованием, например, протокола SIP, H.323 или H.248. Передача сигналов анализируется, и выбираются подходящие POTS-потоки.
b. Слепой поиск. В этом случае выполняется слепой поиск RTP-пакетов. RTP-пакеты не имеют уникального заголовка, и, следовательно, невозможно обнаружить их простым способом. Однако возможно найти RTP-поток посредством поиска некоторых специальных характеристик, таких как:
i. Размер пакета. Ethernet-пакеты, несущие голосовую информацию, имеют определенную длину, обычно 40, 80 или 160 байт плюс фиксированные служебные данные.
ii. Инкрементные временные отметки. RTP-заголовок содержит временную отметку, которая увеличивается на 40, 80 или 160 для каждого пакета в зависимости от числа байтов в каждом пакете. Это может использоваться, чтобы найти возможные RTP-потоки.
2. В прокси-режиме DSLAM 8 принимает участие в передаче сигналов и знает о разных потоках. Клиентское оборудование, такое как ADSL-модем 3 говорит c DSLAM, а DSLAM говорит с TAG 15.
3. В подчиненном режиме DSLAM 8 информируется о доступных потоках из наблюдающей системы, не показана. Эта система может использовать подходящий протокол, такой как SNMP, чтобы информировать DSLAM о доступных потоках пакетов и/или критериях фильтрации, которые должны использоваться.
Если доступны несколько подходящих потоков, могут использоваться один или несколько потоков. Предпочтительно, однако, используется поток с наименьшей вариативностью задержки.
Протоколы, предполагаемые для того, чтобы использоваться для пакетов сети Ethernet, это (снизу-вверх) Ethernet, IP, UDP и RTP, см. фиг. 8. RTP предоставляет информацию, касающуюся порядкового номера и временной отметки, как вставлено посредством TAG 15. Временная отметка используется, чтобы связать пакет с реальным моментом времени. Временная отметка увеличивается на временной интервал пакетирования с частотой дискретизации. Например, для голосовых пакетов, содержащих 20 мс, что соответствует 50 Гц, речи, дискретизированной с частотой 8000 Гц, временная отметка для каждого блока речевых сэмплов увеличивается на 160, даже если блок не отправляется из-за подавления пауз. В данном документе предполагается, что существует один RTP-пакет в каждом Ethernet-кадре. Следовательно, в этом примере RTP-кадры одного потока должны прибывать с частотой 50 Гц. Из моментов прибытия определяется, должен ли опорный синхронизирующий сигнал иметь частоту, выбранную среди значений, как правило, близких к номинальному значению в 8000 Гц.
Ethernet-кадры в потоке, содержащем RTP-пакеты, могут в идеальном случае предположительно прибывать с равными интервалами. Однако, из-за вариативности задержки в сети передачи к ожидаемым моментам прибытия добавляются случайные задержки. Такие случайные задержки могут быть рассмотрены как источник шума в системе восстановления синхронизации, см. фиг. 9. Шум всегда положителен, но еще может быть оценено направление, см. фиг. 10. Наклонная линия, обозначенная как “Направление из-за неправильной синхронизации” на фиг. 10, указывает в показанном случае, что используемый опорный синхронизирующий сигнал имеет слишком высокую частоту непродолжительное время. Линия в идеальном случае должна совпадать или быть параллельной с осью абсцисс схемы.
Блок 29 извлечения управляет блоком формирования синхронизирующих импульсов, который сконфигурирован как генератор 31 адаптивных синхронизирующих импульсов в устройстве 28 синхронизации, см. фиг. 7 и 11, и предоставляет общий синхронизирующий сигнал NTR-блокам 25 DSL-модемов 23. Генератор адаптивных синхронизирующих импульсов генерирует 8-кГц опорный сигнал, имеющий приспособленную частоту или фазу. Это может быть создано различными способами и в следующем устройстве, использующем и аналоговые и цифровые функции, а устройство, использующее только цифровые функции, будет описано.
В блок-схеме на фиг. 12 показаны главные функции генератора адаптивных синхронизирующих импульсов, в которых PLL (система фазовой автоматической подстройки) используется, чтобы регенерировать 8-кГц синхронизирующий сигнал дискретизации. В генераторе синхронизирующих импульсов VCXO (кварцевый генератор переменной частоты) 33 используется вместе с D/A-преобразователем 35. Сформированный синхронизирующий сигнал предоставляется NTR-блокам 25 DSL-модемов. Как видно на фиг. 12, PLL включает в себя VCXO 33, предварительный делитель 36 частоты, N-битный счетчик 37, N-битный регистр 39, сумматор 41, блок 43 вычисления минимума, PLL-фильтр 45 и D/A-преобразователь (DAC) 35. Опорный синхронизирующий сигнал к DSL-модемам предоставляется блоком 46 понижения частоты, принимающим импульсы от генератора 33.
Время прибытия каждого принятого Ethernet-кадра измеряется с использованием внутреннего таймера в блоке 29 извлечения. Синхронизацией для таймера является опорный сигнал, предоставленный генератором 33, который в этом варианте осуществления является управляемым или настраиваемым генератором. Время прибытия сохраняется для более позднего анализа, чтобы определить, является ли пакет полезным для синхронизации. Фактически, время прибытия определяется как отклонение, вычисленное в некоторых тактовых импульсах, от ожидаемого времени, ожидаемое время предоставляется внутренним таймером.
Внутренний таймер является N-битным таймером, производящим целый подсчет в то же время, что и временной интервал между двумя пакетами, т.е. как временные интервалы между началом последовательных пакетов, т.е. таймер совершит циклический переход один раз на каждый кадр, содержащий RTP-пакет потока. Фактическое время прибытия пакета может быть где-нибудь в интервале, сравнивая схему на фиг. 13.
В варианте осуществления на фиг. 12 VXCO 33 предоставляет импульсы высокой частоты, такой как 32,768 кГц в примере, частота импульсов понижается предварительным делителем 36 частоты посредством деления на число M, например, 10, предварительный делитель частоты предоставляет импульсы счетчику 37, в примере 15-битному счетчику, чтобы они таким образом посчитались, а счетчик предоставляет значения, такие как показанные на графике на фиг. 13. Коэффициент деления частоты предварительного делителя частоты должен быть выбран таким образом, что N-битный счетчик 37 делает циклический переход каждый период пакета, т.е. 10 мс, если размер пакета равен 10 мс. Время прибытия кадров должно быть в одинаковой позиции в интервале счета, т.е. на линии, параллельной оси абсцисс. Когда пакеты прибывают, фактическое значение счетчика 37 передается через сумматор 41, где добавляется константа, в блок 43 вычисления минимума и сохраняется. Этот блок вычисляет минимальное значение, которое предоставляется PLL-фильтру 45, который, в свою очередь, выводит значение для управления VCXO 33, это значение сначала преобразуется в аналоговое значение посредством DAC 35.
Чтобы получить то же самое, например, нулевой вывод из определения времени прибытия в устойчивом состоянии, т.е. когда система находится в точной синхронизации, смещение синхронизации сумматором 41 добавляется к значению, вычисленному счетчиком 36, таким образом, что предполагаемое время прибытия будет иметь то же значение, например, будет равно нулю в примере, т.е. в начале интервала отсчета. Если, например, значение таймера в предполагаемый момент прибытия пакета равно 0х7000, используется значение смещения в 0х9000. Сумма этих значений делает циклический переход и дает желаемый результат в 0х0000. Смещение синхронизации вычисляется один раз в первой операции синхронизации, а также в каждой операции синхронизации, когда новый поток используется для формирования опорного синхронизирующего сигнала.
Блок 45 вычисления минимума может для блока последовательных пакетов, например, для всех пакетов потока, принятых в течение значительного промежутка времени, типично в одну или более секунд, использовать пакет, который прибыл с наименьшей задержкой, в качестве оценки истинного момента прибытия, т.е. он может использовать алгоритм минимального значения, чтобы найти наименьшее значение из набора значений для поиска пакета с наименьшей задержкой. Алгоритм может быть осуществлен как традиционный алгоритм поиска минимального значения со скользящим окном, см. фиг. 14.
PLL-фильтр 45 является низкочастотным фильтром и производит свои вычисления один раз для каждого нового пакета, например, 100 раз в секунду, если используются 10-мс пакеты, и пакеты не теряются, см. фиг. 15. При запуске PLL-фильтр 45 содержит ноль, это соответствует верхней крайней частоте, а частота VXCO 33 устанавливается в среднее значение, например, частоту, соответствующую сформированному опорному сигналу синхронизации, равную точно 8 кГц. Алгоритму минимального значения разрешается работать, например, примерно 1 секунду, и вычисляется минимальная задержка времени прибытия. Значение смещения синхронизации вычисляется и используется как константа, добавленная в суммирующей схеме 41.
В операции повторной синхронизации PLL-фильтр 16 не сбрасывается, т.е. он сохраняет те же характеристики фильтрации, а новое значение смещения синхронизации вычисляется, чтобы использоваться как константа, добавленная в суммирующей схеме 41, посредством запуска алгоритма минимального значения в блоке 43 вычисления минимального значения, например, в течение примерно 1 секунды.
Когда RTP-поток, используемый для синхронизации, останавливается, PLL-фильтр 45 фиксируется, т.е. он сохраняет те же характеристики фильтрации, что и прежде, а новый поток кадров выбирается для синхронизации, и операция повторной синхронизации выполняется, чтобы найти новое смещение синхронизации. Также в случае подавления пауз RTP-поток может исчезнуть на некоторый промежуток времени, а затем может быть полезно сменить поток пакетов, используемый для синхронизации.
Когда все RTP-потоки исчезают, PLL-фильтр 45 и частота синхронизации VXCO 33 фиксируются, т.е. сохраняются неизменными до тех пор, пока новый RTP-поток не будет найден и выбран. Когда встречается новый RTP-поток, выполняется операция повторной синхронизации.
Несколько условий должны быть выполнены, чтобы одобрить пакет для использования в алгоритме синхронизации.
1. Это должен быть Ethernet-кадр, содержащий RTP-пакет, принадлежащий потоку, который в текущий момент используется для синхронизации.
2. Пакет должен принадлежать правильному промежутку времени, т.е. временная отметка RTP пакета должна совпадать с локальным счетчиком временных отметок (TSC), как будет описано ниже.
Каждый RTP-пакет содержит временную отметку в своем заголовке. Эта временная отметка увеличивается, посредством TAG 15, на число речевых сэмплов в пакете для каждого нового пакета. Локальный счетчик временных отметок увеличивается таким же способом один раз в каждом периоде ожидаемого пакета. Он может быть осуществлен как аппаратный или программный счетчик, соединенный с блоком таймера, который включает в себя генератор 33 и N-битный счетчик 37.
Сначала временная отметка из принятого RTP-пакета выбранного потока загружается в TSC. Каждый раз, когда прибывает пакет, временная отметка в заголовке RTP сравнивается со значением TSC, и если они равны, пакет утверждается для использования в алгоритме синхронизации.
Если K последовательных временных отметок имеют значения меньшие, чем соответствующее значение TSC, TSC синхронизируется с новым значением. Если L последовательных временных отметок имеют значения, меньшие чем соответствующее значение TSC, TSC также синхронизируется с новым значением. K, L предварительно определяются подходяще выбранными числами.
Алгоритм синхронизации содержит ряд параметров. Некоторые из них должны быть установлены согласно текущей ситуации. Другие параметры могут использоваться, чтобы изменить поведение алгоритма синхронизации.
Размер окна, используемого блоком 43 вычисления минимума в определении минимального значения, определяет число пакетов, которые оцениваются, чтобы найти пакет, прибывший с наименьшей задержкой. Большое значение размера окна увеличивает устойчивость PLL, но уменьшает возможность быстрого ответа. Существует отношение между размером окна и временной константой PLL-фильтра 45. Если окно слишком велико по сравнению с временной константой, цикл может стать неустойчивым. Размер окна должен быть сохранен таким, что промежуток времени, которому он соответствует, гораздо меньше, чем временная константа PLL-фильтра.
Генератор тактовой частоты может быть осуществлен либо как кварцевый генератор, управляемый напряжением, VCXO, как описано выше, либо использующим генератор, имеющий фиксированную частоту и цифровое регулирование частоты, т.е. цифровой управляемый генератор (DCO).
Генератор адаптивной тактовой частоты включает в себя в возможном осуществлении, использующем DCO, см. фиг. 16:
1. Тактовый генератор 71, который является кварцевым генератором с фиксированной частотой, которая кратна 8 кГц, например 6-32,768 МГц.
2. Счетчик 73, счетчик, который делит сигнал от тактового генератора 71 на устанавливаемое число x. Таким образом, счетчик имеет регулируемое максимальное значение, такое, что когда это значение достигается, счетчик выводит импульс, и счетчик начинает отсчет от стартового значения, стартовое и максимальное значения являются 0 и (x-1), соответственно в традиционном способе. Следовательно, можно сказать, что частота выходного синхронизирующего сигнала внешне управляется посредством деления его на немного разные коэффициенты, формируя, таким образом, небольшие регулировки частоты опорного синхронизирующего сигнала. В примере число x может принимать значения 5, 6, 7, где 6 является “обычным” или "номинальным" значением.
3. Блок 75 деления предоставляет желаемый опорный синхронизирующий сигнал, номинально равный, например, 8 кГц, он является сигналом, предоставляемым блокам NTR. Блок 74 деления, который, по существу, является счетчиком, дробит выходной сигнал счетчика 73, деля его на подходящее число P, в примере, этот блок является 16-битным счетчиком, а значит P=65536.
4. Делитель 36 частоты, который делит сигнал, выведенный из счетчика 73, на число M, в примере M=10.
5. N-битный счетчик 37, принимающий сигнал от делителя 36 частоты, число N определено так, что счетчик выполняет циклический переход при частоте пакетов, например, в 50, 100 или 200 Гц.
6. Блок 39 измерения времени прибытия, который соединен, чтобы принимать значение счетчика 37, и имеет функцию чтения счетчика каждый раз, когда прибывает пакет выбранного потока, так что одинаковое значение будет выходить каждый раз, когда пакет прибывает точно в ожидаемое время.
7. Блок 43 вычисления минимума, который соединен с блоком 37 измерения времени прибытия и используется, чтобы отсортировать прибывающие пакеты с низкими задержками и чтобы создать сигнал управления, указывающий "лучшую" ожидаемую задержку пакетов в выбранном потоке, например, наименьшую задержку в скользящем окне.
8. PLL-фильтр 45', который соединен с блоком 43 вычисления минимума, чтобы принять сигнал управления, и является низкочастотным фильтром для сглаживания сигнала управления.
9. Фазовый аккумулятор 77, который накапливает фазовые погрешности, как принятые от PLL-фильтра 45', до тех пор, пока существует время для настройки частоты, выводимой из счетчика 73, т.е. значение его циклического перехода. Фазовый аккумулятор включает в себя сумматор 79, регистр 81 и блок 83 функции по модулю. Функция по модулю - модуль некоторого подходящего числа z - создает “циклический переход” фазового аккумулятора при переполнении или отрицательном переполнении, в то же время производящий регулировку фазы регулируемого счетчика 73, т.е. изменяющий используемое в настоящий момент число x на (x+1) или (x-1), соответственно.
В операции повторной синхронизации N-битный счетчик 37 может быть повторно загружен новым вычисленным значением, или значение смещения может быть добавлено к его содержимому.
Как видно на блок-схеме на фиг. 17, вместо случая, описанного выше, в котором NTR-генераторы синхронизирующих импульсов настраиваются согласно синхронизирующему импульсу, восстановленному из потока пакетов, ADSL-генераторы 85 синхронизирующих импульсов могут настраиваться самостоятельно. В последнем случае NTR не используется, но ADSL-генератор синхронизирующих импульсов будет настраиваться так, чтобы быть синхронным с 8-кГц синхронизирующим сигналом. Регулировки ADSL-генератора синхронизирующих импульсов должны быть очень малыми и медленными для того, чтобы не воздействовать на производительность ADSL, это достигается выбором параметров, например, PLL-фильтров 45, 45', соответственно.
Блок 29 извлечения может выполнить процедуру, иллюстрированную блок-схемой на фиг. 18. Первоначально частота опорного синхронизирующего сигнала устанавливается в номинальное, среднее значение, как указано в блоке 101. В случае фиг. 16 это означает установку счетчика 73, который должен быть x-битным счетчиком, где целое x выбирается так, что выходной опорный синхронизирующий сигнал в качестве представленного устройством 75 деления частоты, имеет частоту, например, равную точно 8 МГц. Когда принимается кадр, в блоке 103 сравнения, он анализируется, может ли он использоваться для синхронизации в блоке 105. Если он не может использоваться, в блоке 103 ожидается другой кадр. Если принятый кадр может использоваться, исполняется блок 107, в котором определяется длина голосовой информации в кадре, т.е. число голосовых сэмплов. N-битный счетчик 37, 73 приспособлен соответственно так, что он выполняет циклический переход в том же темпе, как ожидаются пакеты из одного и того же потока. Отправляя соответствующие команды блоку 43 вычисления минимума, сохраняя все параметры в PLL в начальных значениях, определяется наименьшая задержка принятых пакетов в одном и том же потоке в течение относительно долгого промежутка времени, в типичном варианте в одну или несколько секунд. На основе этого производится повторная синхронизация, так что из этой наименьшей задержки вычисляется подходящее значение коррекции и предоставляется сумматору 41 или N-битному счетчику 37. Возможно, также устанавливаются другие параметры, такие как размер окна блока 43 вычисления минимума и временная константа PLL-фильтра 45, 45'. Поток окончательно выбирается посредством установления записи для этого потока и установления указателя на эту запись в памяти, см. фиг. 19.
Новый кадр ожидается в блоке 109, и когда он прибывает, определяется в блоке 111, принадлежит ли он выбранному потоку. Если принадлежит, определяется в блоке 113, равна ли временная отметка кадра значению TSC для этого потока. Если это истинно, выполняется блок 115, в котором фактическое время отправляется генератору адаптивных синхронизирующих импульсов, регистру 39. Затем фактическое время сохраняется как запись для этого потока, как указано в блоке 117. Если временная отметка не соответствует значению TSC, выполняется блок 119, в котором сохраняются временная отметка и фактическое значение TSC. Затем выполняется блок 117.
В блоке 121 запрашивается, существуют ли K последовательно принятых пакетов, для которых временные отметки меньше, чем соответствующие значения TSC, путем анализа значений, как сохраненных в блоке 119. Если это верно, значение TSC корректируется в блоке 123, а затем ожидается новый кадр в блоке 109. Если это неверно, в блоке 125 запрашивается, существуют ли K последовательно принятых пакетов, для которых временные отметки больше, чем соответствующие значения TSC. Если это верно, выполняется блок 123, и новый кадр ожидается в блоке 109. Если это неверно, новый кадр ожидается в блоке 109.
Если было определено в блоке 111, что кадр не принадлежит выбранному потоку, определяется в блоке 127, существует ли таймаут для пакетов этого потока, т.е. если промежуток времени, больший, чем некоторое предварительно определенное значение, прошел от последнего приема кадра выбранного потока, путем анализа времени, сохраненного в блоке 117. Если это неверно, новый кадр ожидается в блоке 109. Если это верно, определяется в блоке 129, существует ли другой RTP-поток, который может использоваться для синхронизации. Если такой поток существует, он берется как новый поток, который должен быть использован в случае, когда существует больше, чем один такой поток, один из них берется в блоке 131. Затем новый кадр ожидается в блоке 109. Если RTP-поток не существует, как определено в блоке 129, параметры PLL фиксируются, т.е. отдается команда не изменяться, отправляя соответствующие сигналы блоку 43 вычисления минимального значения и PLL-фильтру 45, 45'. Затем в блоке 109 ожидается новый кадр.
Основные блоки, включенные в блок 29 извлечения, видны в блок-схеме на фиг. 19. Блок извлечения включает в себя блок 201 общего анализа кадра, используемый в выборе подходящих потоков пакетов. Для этой цели он может, в свою очередь, включать в себя модули-анализаторы, такие как анализатор 203 тега VLAN, анализатор 205 IP-адреса источника, анализатор 207 порта назначения и анализатор 209 длины пакета. Блок 211 выбора потока выбирает подходящий поток, например, как предписано результатами, полученными из блока 201 общего анализа кадра. Блок 213 определения длины сэмпла определяет длину голосовой информации в пакетах выбранного потока, а блок 215 установки длины счетчика, присоединенный к нему, отправляет подходящие команды N-битному счетчику 37 в соответствии с определенной длиной пакета. Блок 217 управляет блоком вычисления минимума, отправляя соответствующие команды, например, для инициирования, фиксации или подсчета, для установки размера окна и для разрешения ему работать в течение относительно долгого времени, отыскивая только наименьшее значение, т.е. наименьшую задержку. Блок 219 повторной синхронизации выполняет вычисления, необходимые, чтобы создать параметры для операций повторной синхронизации, принимающие информацию от различных других блоков и отправляющие команды и значения, такие как значение смещения, сумматору 41.
Кроме того, блок 221 предусмотрен для анализа, когда существует выбранный поток пакетов, пакетов, принятых в этом потоке. В частности, этот блок включает в себя блок 223 сравнения для сравнения временной отметки принятого пакета со значением TSC. Блок 225 выполнен с возможностью принимать импульсы от PLL, от его N-битного счетчика 37, и затем увеличивать TSC выбранного потока на значение, действительное для этого потока.
Память 227 включает в себя ячейку 229 памяти для хранения указателя на выбранный поток. Она также включает в себя таблицу или небольшую базу 231 данных текущих RTP-потоков. Для каждого потока, таким образом, существуют ячейки памяти, не показаны, для хранения некоторой идентификации потока, так что его пакеты могут быть распознаны в потоке входящих пакетов. Для каждого потока существует ячейка памяти для его TSC и ячейки для сохранения значений временных отметок самых последних принятых пакетов вместе с ассоциативно связанными значениями TSC, не показаны. Также для каждого потока существует ячейка памяти, в которой хранится время, когда прибыл последний пакет потока.