Русский
Русский
English
Статистика
Реклама

Разработка систем связи

Легендарный трансивер Радио-76

07.05.2021 12:20:51 | Автор: admin

Для многих радиолюбителей первым собственным трансивером стал Радио-76. Радиостанция эта была разработана в лаборатории журнала Радио Б. Степановым (UW3AX) и Г. Шульгиным (UA3ACM). Конструкция трансивера была простой и хорошо повторяемой.

Актуальность трансивера Радио-76 повысилась, когда в августе 1978 года для советских радиолюбителей вновь открыли для работы диапазон 160 метров. Радиолюбительский позывной для работы на этом диапазоне стало возможным получить уже с 14 лет, причём без сдачи экзамена на приём и передачу азбуки Морзе.

Собрать же юным радиолюбителям свою радиостанцию стало гораздо проще, когда в 1980 году Ульяновский радиоламповый завод начал выпуск радиоконструктора Электроника-Контур-80. Стоил набор 64 рубля, содержал собранные на производстве основную плату и плату гетеродинов (без моточных компонентов), и из него можно было собрать малосигнальный тракт трансивера Радио-76.

У меня чудом уцелела основная плата из этого набора. Что же мне помешало добиться от неё в далёком 1984 году идеальной работы на передачу, можно узнать из публикации.


Структурная схема трансивер


Структурная трансивера Радио-76 была опубликована в журнале Радио, 1976, 6, стр. 19.
Трансивер состоит из трёх плат: основной платы, платы гетеродинов и платы усилителя мощности. Антенный переключатель (1) и диапазонный полосовой фильтр (ДПФ) тракта приёма (2) в состав этих плат не входят.

В режиме приёма радиосигнал поступает через антенный переключатель (1) и приёмный ДПФ (2) на первый кольцевой смеситель (3) основной платы. На первый кольцевой смеситель (3) через переключатель гетеродинов (12) подаётся сигнал ГПД (10). Полученный сигнал промежуточной частоты (ПЧ) усиливается первым усилителем ПЧ (4) и проходит через электромеханический фильтр (ЭМФ) на второй УПЧ. Усиленный сигнал ПЧ с выделенной ЭМФ верхней боковой полосой (ВБП) поступает на второй кольцевой смеситель (7), куда через (12) подаётся сигнал генератора опорной частоты (11). Полученный в результате сигнал звуковой частоты поступает на усилитель низкой частоты (УНЧ) (8).

В режиме передачи на балансный модулятор (DSB) (3) поступает сигнал генератора опорной частоты (11) и модулирующий сигнал звуковой частоты с микрофонного усилителя (9). Сигнал с подавленной несущей усиливается первым УПЧ (4), ЭМФ (5) выделяет в сигнале ВБП. После усиления вторым УПЧ (6) сформированный однополосный сигнал поступает на второй кольцевой смеситель (7), куда также подаётся сигнал ГПД (10). Полученный в результате сигнал радиочастоты проходит через ДПФ (13) усилителя мощности (УМ) (14), усиливается УМ (14) и через антенный переключатель (1) поступает в антенну.

Как мы видим, большинство узлов структурной схемы радиостанции используются и при работе в режиме приёма, и при работе в режиме передачи. Поэтому Радио-76 и является трансивером.

Основная плата трансивера


Основную плату из набора Электроника-Контур-80 я обнаружил в коробке на антресолях. Как она пережила несколько переездов, ума не приложу.

Многие конденсаторы типа К10-7 были поломаны, электролитические конденсаторы за тридцать с лишним лет должны были высохнуть, а подстроечный резистор СПО и в восьмидесятые считался хламом.

Керамические конденсаторы К10-7 были заменены на К10-17, электролитические конденсаторы на импортные, а резистор СПО на Bourns. В процессе отладки были внесены ещё несколько изменений, и теперь моя основная плата трансивера Радио-76 выглядит так:


В 1984 году радиостанция из набора заработала на приём буквально сразу: кварцевый генератор и генератор плавного диапазона (ГПД) запустились без проблем, контуры ПЧ были настроены в резонанс, ВЧ-трансформаторы кольцевых балансных смесителей были сфазированы верно.

Проблемы были с передачей, и их было две: сдвиг частоты ГПД на 200 400 Гц при переключении приём-передача и недостаточное подавление несущей на выходе модулятора DSB.

Проблему со сдвигом частоты я решил, собрав ГПД по более сложной схеме. Качественного же подавления несущей мне добиться так и не удалось, и на сообщения о наличии в сигнале несущей я отвечал, что работаю на радиостанции из набора Электроника-Контур-80.

Схемотехника основной платы


Схема электрическая принципиальная основной платы трансивера Радио-76 была опубликована в журнале Радио, 1976, 6, стр. 21.
Реализация платы из набора отличается заменой транзисторов КТ315 на КТ312 и применением вместо ИМС серии К122 их аналогов серии К118 в корпусах DIP-14.

Основным компонентом схемы является электромеханический фильтр Ф1. На фотографии платы это ЭМФ-9Д-500-3В. Этот фильтр предназначен для выделения верхней боковой полосы сигнала на частоте 500 кГц.

На транзисторе Т1 собран первый усилитель промежуточной частоты (УПЧ) на микросхеме МС1 собран второй УПЧ. На вход первого УПЧ подаётся сигнал с первого кольцевого балансного смесителя. С выхода второго УПЧ сигнал подаётся на второй балансный смеситель.

В режиме приёма через выв. 7 и 8 основной платы на первый смеситель (3) подаётся сигнал с приёмного ДПФ (1), а на выв. 7 и 8 сигнал ГПД (10). Усиленный сигнал ПЧ с выделенной верхней боковой полосой поступает во второй смеситель (7), куда также через выв. 12, 13 подаётся сигнал с генератора опорной частоты 500 кГц (11). Сформированный сигнал звуковой частоты через фильтр нижних частот (ФНЧ) поступает на вход УНЧ (8), собранного на МС2, Т3, Т4 и Т5.

В режиме передачи для формирования сигнала ПЧ с подавленной несущей (DSB) на первый смеситель (3) через выв. 7, 8 подаётся сигнал с генератора опорной частоты 500 кГц (11), а также модулирующий сигнал с выхода микрофонного усилителя (9), собранного на МС3. Усиленный сигнал ПЧ с выделенной верхней боковой полосой поступает во второй смеситель (7), куда также через выв. 7, 8 подаётся сигнал ГПД (10). Сигнал радиочастоты с выхода второго смесителя (выв. 14, 15) подаётся на ДПФ усилителя мощности.

На любительских диапазонах 160, 80 и 40 метров работа ведётся нижней боковой полосой, а электромеханический фильтр в тракте ПЧ выделяет верхнюю. Именно поэтому частота ГПД должна быть выше на 500 кГц частоты принимаемого сигнала.

К примеру, при настройке ГПД на частоту 2400 кГц в режиме приёма трансивер будет принимать сигнал с нижней боковой полосой на частоте 1900 кГц, сигнал с верхней боковой полосой по зеркальному каналу на частоте 2900 кГц, а также сигнал с верхней боковой полосой на промежуточной частоте 500 кГц.

В этом же примере в режиме передачи на выходе второго смесителя будут явно присутствовать сигналы с частотами 500, 1900, 2400, 2900 кГц, а также их гармоники.

Напрашивается вывод: в трансиверах супергетеродинного типа требуется применение качественных диапазонных полосовых фильтров. Без них невозможно обеспечить подавление внеполосных помех.

Отладка основной платы


Памятуя, сколько времени я потратил на борьбу с ГПД, я решил плату гетеродинов не восстанавливать. Вместо неё я собрал простенький синтезатор частот на si5351a с управлением по CAT-интерфейсу:


Для отладки тракта ПЧ был использован радиолюбительский векторный анализатор nanoVNA. Выход прибора был подключен параллельно катушке L1, а вход параллельно L4.

Как только оба контура тракта ПЧ были настроены в резонанс, nanoVNA показал такую вот замечательную АЧХ:

После настройки тракта ПЧ началась балансировка модулятора. На первый смеситель был подан сигнал опорной частоты 500 кГц, а на второй смеситель сигнал с частотой 2400 кГц. Модулятор балансировался подстроечным резистором R2 по минимальному уровню несущей на частоте 1900 кГц. Сигнал контролировался на приёмнике SoftRock RX Ensemble II. На картинке ниже показан лучший результат балансировки:


Результат, прямо сказать, неудовлетворительный: уровень несущей сопоставим с уровнем полезного сигнала. Попытаемся разобраться в причинах и устранить их.

Недостаточное подавление несущей в балансных модуляторах, а первый смеситель основной платы в режиме передачи и является балансным модулятором, вызывается асимметрией схемы. Оригинальная схема серьёзно разбалансирована несимметричным подключением выхода микрофонного усилителя.

Фиксируем начальные условия: отключаем от второго смесителя гетеродин, снова подключаем вход nanoVNA параллельно катушке L4 и получаем на приборе такой вот уровень несущей:


В схеме трансивера Радио-76М2, опубликованной в журнале Радио, 1983, 11, стр. 21, была предпринята попытка сбалансировать модулятор подключением второго дросселя. Подключаем дроссель, видим, что уровень несущей упал на 12 dB:


Оказалось, это ещё не предел: в статье В. Меньшова и А. Булатова Улучшение смесителей в Радио-76 и Радио-76М2 из журнала Радио, 1988, 12, стр. 23-24 была опубликована предельно симметричная схема балансного модулятора, которая даже не содержала балансировочный резистор. Резистор этот пришлось вернуть, чтобы добиться подавления несущей ещё на 10 dB:


Подаём на второй смеситель сигнал с частотой 2400 кГц. На контрольном приёмнике SoftRock RX Ensemble II видим на частоте 1900 кГц сигнал с нижней боковой полосой с подавленной несущей на уровне шумовой дорожки:


При этом на зеркальном канале на частоте 2900 кГц мы видим, как и ожидалось в отсутствие ДПФ, сигнал с верхней боковой полосой:


Вот так, спустя 37 лет, и была решена вторая проблема. Простая переделка простой схемы улучшила подавление уровня несущей на целых 22 dB. Если бы молодость знала!

От автора


Влияние трансивера Радио-76 на развитие советского радиолюбительского движения трудно переоценить. Схема трансивера потрясала своей новизной: кольцевые балансные смесители на диодах, применение интегральных микросхем, усилитель мощности на транзисторах, наконец!

Несмотря на новизну, схема трансивера была простой, понятной и легко настраивалась. Проблемы с АРУ и ГПД были вызваны тем, что Радио-76 являлся своеобразным MVP, урезанной версией, трансивера I категории Радио-77. Ирония судьбы проявилась в том, что народную любовь снискал именно Радио-76.

Многие радиолюбители сразу включились в процесс совершенствования узлов Радио-76. В журнале Радио частенько публиковались схемы усовершенствованных ГПД, телеграфных гетеродинов, цепей АРУ. Основная плата трансивера Радио-76 легла в основу нескольких приёмников и трансиверов.

Степанов и Шульгин кардинально переделали схему трансивера в версии Радио-76М2. Структура радиостанции при этом осталась той же: сообщество признало эту архитектуру классической, её до сих пор наследуют многие любительские трансиверы!

Что касается смесителей: и у гениальных разработчиков происходят накладки!
На русском языке тема широкополосных трансформаторов и кольцевых балансных смесителей была раскрыта в переведённой в 1990 году книге Эрика Тарта Реда Справочное пособие по высокочастотной схемотехнике: Схемы, блоки, 50-омная техника. Ни в 1976, ни в 1983 годах ничего подобного в доступе ещё не было.

Главное, что советские радиолюбители получили в своё распоряжение отличную конструкцию, с которой можно было работать в эфире, и которую можно было совершенствовать. Не хватало опыта, не было приборов, некоторые радиодетали приходилось доставать, но это никого не останавливало.

Таким мне и запомнился 1984 год. Это был год, посвящённый отладке моего Радио-76!

Подробнее..

CAT-интерфейс для трансивера Радио-76

13.05.2021 12:17:12 | Автор: admin
В предыдущей публикации о трансивере Радио-76 упоминалось о синтезаторе частоты с CAT-интерфейсом. В этой статье тема CAT-интерфейса будет раскрыта подробней.

CAT-интерфейс (Computer Aided Transceiver) предназначен для управления частотой, видами модуляции и другими функциями радиостанции с помощью компьютера.

В сети есть множество описаний радиолюбительских синтезаторов на базе Si5351, но в массе своей CAT они не поддерживают. Данная публикация этот пробел должна восполнить.

Аппаратное решение


Аппаратное решение не несёт никакой новизны. Синтезатор создавался из того, что было под рукой: плата Black Pill c микроконтроллером STM32F411CEU6, дисплей SSD1306 и микросхема синтезатора частоты Si5351A-B-GT.

Схема подключения Si5351A-B-GT приведена ниже.


Подтягивающие резисторы R1, R2 устанавливаются на выводы дальнего от микроконтроллера устройства на шине I2C. Сигнал с выхода CLK0 подаётся на первый смеситель основной платы трансивера Радио-76. Сигнал с выхода CLK2 подаётся на второй смеситель трансивера. Делители напряжения на резисторах R3, R6 и R4, R5 препятствуют перегрузке смесителей.

Вся схема собрана на печатной плате переходника SSOP-DIP:


Из имеющихся у меня в наличии кварцевых резонаторов на частоту 25MHz и 27MHz ни один на этих частотах не запустился. Параллельно включенные резисторы и конденсаторы ситуацию не спасали. На фотографии кварц, который запустился на частоте 24MHz, когда параллельно ему был включен резистор номиналом 1МОм.

Конфигурация микроконтроллера


Проект создан на основе платы Black Pill c микроконтроллером STM32F411CEU6 в среде разработки STM32CubeIDE:


Шина I2C подключена к выводам PB9, PB10 микроконтроллера. К выводам PB0, PB1, PB2 подключены тангента (PTT, Push-To-Talk) и контакты телеграфного ключа (KEY_DIT, KEY_DAH). Вывод PC13 служит для аппаратного переключения режима приём/передача (RX/TX). Режиму TX соответствует сигнал низкого логического уровня, при этом светится индикатор на плате.

Виртуальный COM-порт создан на основе IP Commucation Device Class. Максимальное количество интерфейсов равно двум. Размер буферов задан равным 64 Bytes.

Программная реализация CAT


Ссылка на репозиторий: https://github.com/dmitrii-rudnev/radio-76-cat

За основу решения была принята система команд для управления популярным трансивером Yaesu FT-817. Описание работы CAT-интерфейса этой радиостанции занимает в руководстве пользователя всего четыре страницы.

Управляющие программы сторонних производителей обычно используют для связи с радиостанцией драйвер OmniRig, созданный канадским радиолюбителем Alex Shovkoplyas (VE3NEA). Описанная реализация CAT-интерфейса использует ограниченный набор команд Yaesu FT-817, поддерживаемый этим драйвером.

При настройке OmniRig для работы с публикуемым решением нужно выбрать в конфигураторе OmniRig тип трансивера FT-817, COM-порт, к которому подключен CAT, и установить скорость порта 9600 бит/с.

Для управления радиостанцией один раз в 200 мс через COM-порт посылается пять байт данных. Пятый байт содержит команду управления, первые четыре байта могут содержать данные или быть пустыми. Радиостанция распознает команду, выполняет её и посылает отклик.

Описанная реализация CAT-интерфейса поддерживает работу в составе радиостанции двух генераторов плавного диапазона VFO A и VFO B. Наличие двух VFO позволяет работать на разнесённых частотах (режим Split), когда приём осуществляется на частоте одного VFO, а передача на частоте другого.

Описанное решение позволяет осуществлять переключение между VFO, перестройку частоты активного VFO управляющей программой, а также производить переключение режимов приём/передача.

Помимо этого, хотя для Радио-76 это и не актуально, оставлена возможность переключения вида модуляции.

Собственно трансивер реализован переменной trx со структурой, приведённой ниже:
typedef enum{  MODE_LSB = 0x00,  MODE_USB = 0x01,  MODE_CW  = 0x02,  //CW-USB  MODE_CWR = 0x03,  //CW-LSB  MODE_AM  = 0x04,  MODE_FM  = 0x08,  MODE_DIG = 0x0A,  //DIG-U  MODE_PKT = 0x0C   //DIG-L} Mode;typedef struct{  Mode mode;     //используемая модуляция из списка  uint64_t vfoa; //частота VFO A в герцах  uint64_t vfob; //частота VFO A в герцах  uint8_t vfo;   //активный VFO: 0, если активен VFO A; 1, если VFO B  uint8_t split; //режим работы на разнесенных частотах: 1, если включен   uint8_t is_tx; //режим передачи: 1, если включен  uint32_t sysclock; //системное время  uint8_t systicks;  //счётчик прерываний SysTick до десяти} TRX_TypeDef;

Системное время используется для отслеживания тайм-аутов. Инкремент trx.sysclock происходит по каждому десятому прерыванию SysTick.

Переключение режима RX/TX осуществляет программный модуль ptt_if.c.

Переключение в режим передача (TX) и возврат в режим приём (RX) производится двумя разными способами:
1. По нажатию (TX) тангенты и её отпусканию (RX) (низкий/высокий уровень на входе PTT).
2. При получении по CAT команды FT817_PTT_ON (0x08) (TX) и получении по CAT команды FT817_PTT_OFF (0x88) (RX).

Следует учесть, что возврат в режим приём возможен только при условии отсутствия всех сигналов переключения в режим передачи.

Обработка состояния телеграфного ключа, а также линий RTS и DTR виртуального COM-порта в публикуемой реализации CAT-интерфейса не предусмотрена.

Связь с драйвером микросхемы синтезатора частоты осуществляет программный модуль vfo_if.c. Модуль меняет настройки синтезатора в зависимости от полученной по CAT частоты, а также режима работы радиостанции.

Модуль cat_if.c содержит драйвер CAT-интерфейса.

Обработчик состояния CAT-интерфейса запускается в бесконечном цикле main.c. Обработчик проверяет наличие подключения по виртуальному COM-порту, и если оно есть, то проверяется наличие данных в буфере CAT-интерфейса.

Если данные в буфере есть, обработчик извлекает из буфера пять байт данных и распознаёт команду по списку поддерживаемых. Если команда распознана, запускается обработчик команды, который обращается или к ptt_if.c, или к vfo_if.c. По результатам обработки формируется отклик, который передаётся в компьютер через виртуальный COM-порт.

Наиболее часто трансивер получает две команды: FT817_GET_FREQ (код команды 0x03) и FT817_READ_TX_STATE (0xF7). По ним он возвращает частоту настройки, вид модуляции, текущий режим приём/передача и режим работы на разнесённых частотах.

Виртуальный COM-порт


Виртуальный COM-порт создан на основе IP Commucation Device Class.

Команды CAT передаются из приёмного буфера CDC в приёмный буфер CAT функцией CDC_Receive_FS из состава файла usbd_cdc_if.c, расположенного в папке USB_DEVICE\App.

Отклик на команды передаётся из обработчика команд CAT-интерфейса запуском функции CDC_Transmit_FS.

Для корректной работы COM-порта в его буфер необходимо прописать параметры подключения:
static int8_t CDC_Init_FS(void){  /* USER CODE BEGIN 3 */  USBD_CDC_HandleTypeDef   *hcdc;  USBD_CDC_LineCodingTypeDef line_coding =  {    /* 9600 8n1 */    .bitrate    = 9600U, /* Data terminal rate, in bits per second */    .format     = 0U,    /* Stop bits: 0 - 1 Stop bit */    .paritytype = 0U,    /* Parity:    0 - None */    .datatype   = 8U,    /* Data bits */  };  hcdc = (USBD_CDC_HandleTypeDef*) hUsbDeviceFS.pClassData;  memcpy ((uint8_t*) hcdc, &line_coding, 7U);  /* Set Application Buffers */  USBD_CDC_SetTxBuffer(&hUsbDeviceFS, UserTxBufferFS, 0);  USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS);  return (USBD_OK);  /* USER CODE END 3 */} 

Без этой записи в буфере OmniRig к COM-порту может и не подключиться.

От автора



Данное решение CAT-интерфейса может работать с любыми доступными радиолюбителям синтезаторами частоты и контроллерами дисплеев с минимальными переделками main.c и vfo_if.c.

Мне будет очень приятно, если эта публикация поможет кому-нибудь реализовать управление по CAT своим радиоприёмником или радиостанцией.

Подробнее..

Скрываем номера курьеров и клиентов с помощью key-value хранилища

17.06.2021 18:06:38 | Автор: admin

В условиях пандемии курьерские сервисы стали востребованы как никогда прежде. Чтобы клиент и курьер могли созвониться для уточнения информации по заказу, им нужно знать номера телефонов друг друга. А что насчет соблюдения прайваси? Многие сервисы доставок уже озаботились этим вопросом после не очень приятных инцидентов, о которых вы могли читать в новостях.

Каждый сервис использует свои решения для маскировки номеров клиентов и курьеров. В данной статье я расскажу, как сделать это с помощью key-value хранилища в Voximplant.

Как это будет работать

Мы создадим сценарий, который позволит курьеру и клиенту созваниваться, не зная при этом личные номера телефонов друг друга.

У нас будет только один нейтральный номер, на который будут звонить и клиент, и курьер. Номер мы арендуем в панели Voximplant. Затем создадим некую структуру данных, где клиент и курьер будут связаны между собой номером заказа (то есть ключом в терминологии key-value storage).

Так при звонке на арендованный номер звонящий введёт номер заказа, и если такой заказ есть в базе, наш сценарий проверит номера телефонов, привязанные к нему. Далее если номер звонящего будет идентифицирован как номер клиента, произойдет соединение с курьером, ответственным за заказ, и наоборот.

Например, звонок курьера клиенту будет выглядеть следующим образом:

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

Перейдем непосредственно к реализации.

Вам понадобятся

1) Чтобы начать разработку, войдите в свой аккаунт: manage.voximplant.com/auth. В меню слева нажмите Приложения, затем Создать приложение в правом верхнем углу. Дайте ему имя, например, numberMasking и снова кликните Создать.

2) Зайдите в новое приложение, переключитесь на вкладку Сценарии и создайте сценарий, нажав на +. Назовём его kvs-scenario. Здесь мы будем писать код, но об этом чуть позже.

3) Сначала перейдем во вкладку Роутинг и создадим правило для нашего сценария. Маску (регулярное выражение) оставим .* по умолчанию, так правило будет срабатывать для всех номеров.

4) Далее арендуем реальный городской номер. Для этого перейдем в раздел Номера, выберем и оплатим номер. На него будут звонить и клиент, и курьер, и он будет отображаться вместо их настоящих номеров.

В Voximplant вы можете приобретать в том числе тестовые номера, которые удобно использовать при знакомстве с платформой, но в нашем случае потребуется реальный для совершения исходящего звонка с платформы.

5) Осталось привязать его к нашему приложению. Заходим в приложение, открываем вкладку Номера Доступные и нажимаем Прикрепить. В открывшемся окне можно также прикрепить наше правило, тогда оно будет автоматически назначено для входящих вызовов, а все остальные правила будут проигнорированы.

6) Далее необходимо верифицировать аккаунт, чтобы использовать этот номер для звонков.

Отлично, структура готова, осталось заполнить key-value хранилище и добавить код в сценарий.

Key-value хранилище

Чтобы сценарий заработал, нужно положить что-то в хранилище. Это можно сделать, воспользовавшись Voximplant Management API. Я буду использовать Python API client, он работает с Python 2.x или 3.x с установленным pip и setuptools> = 18.5.

1) Зайдем в папку проекта и установим SDK, используя pip:

python -m pip install --user voximplant-apiclient

2) Создадим файл с расширением .py и добавим в него код, при выполнении которого данные о заказе попадут в key-value хранилище. Применим метод set_key_value_item:

from voximplant.apiclient import VoximplantAPI, VoximplantExceptionif __name__ == "__main__":    voxapi = VoximplantAPI("credentials.json")        # SetKeyValueItem example.    KEY = 12345    VALUE = '{"courier": "79991111111", "client": "79992222222"}'    APPLICATION_ID = 1    TTL = 864000        try:        res = voxapi.set_key_value_item(KEY,            VALUE,            APPLICATION_ID,            ttl=TTL)        print(res)    except VoximplantException as e:        print("Error: {}".format(e.message))

Файл с необходимыми credentials вы сможете сгенерировать при создании сервисного аккаунта в разделе Служебные аккаунты в настройках панели.

APPLICATION_ID появится в адресной строке при переходе в ваше приложение.

В качестве ключа (KEY) будет использоваться пятизначный номер заказа, а в качестве значений телефонные номера: courier номер курьера, client номер клиента. TTL нам здесь необходимо для указания срока хранения значений.

3) Осталось запустить файл, чтобы сохранить данные заказа:

python3 kvs.py

Если мы больше не захотим, чтобы клиент и курьер беспокоили друг друга, можно будет удалить их данные из хранилища. Информацию о всех доступных методах key-value storage вы найдёте в нашей документации: management API и VoxEngine.

Код сценария

Код, который необходимо вставить в сценарий kvs-scenario, представлен ниже, его можно смело копировать as is:

Полный код сценария
require(Modules.ApplicationStorage);/** * @param {boolean} repeatAskForInput - была ли просьба ввода произнесена повторно * @param longInputTimerId - таймер на отсутствие ввода * @param shortInputTimerId - таймер на срабатывание фразы для связи с оператором * @param {boolean} firstTimeout - индикатор срабатывания первого таймаута * @param {boolean} wrongPhone - индикатор совпадения номера звонящего с номером, полученным из хранилища * @param {boolean} inputRecieved - получен ли ввод от пользователя *  */let repeatAskForInput;let longInputTimerId;let shortInputTimerId;let firstTimeout = true;let wrongPhone;let inputRecieved;const store = {    call: null,    caller: '',    callee: '',    callid: '74990000000',    operator_call: null,    operatorNumber: '',    input: '',    data: {        call_operator: '',        order_number: '',        order_search: '',        phone_search: '',        sub_status: '',        sub_available: '',        need_operator: '',        call_record: ''    }}const phrases = {    start: 'Здр+авствуйтте. Пожалуйста, -- введите пятизначный номер заказa в тт+ооновом режиме.',    repeat: 'Пожалуйста , , - - введите пятизначный номер заказа в т+оновом режиме,, или нажмите решетку для соединения со специалистом',    noInputGoodbye: 'Вы - ничего не выбрали. Вы можете посмотреть номер заказа в смс-сообщении и позвонить нам снова. Всего д+обровоо до свидания.',    connectToOpearator: 'Для соединения со специалистом,, нажмите решетку',    connectingToOpearator: 'Ожидайте, соединяю со специалистом',    operatorUnavailable: 'К сожалению,, все операторы заняты. Пожалуйста,,, перезвоните позднее. Всего д+обровоо до свидания.',    wrongOrder: 'Номер заказа не найден. Посмотрите номер заказа в смс-сообщении и введите его в т+оновом режиме. Или свяжитесь со специалистом,, нажав клавишу решетка.',    wrongOrderGoodbye: 'Вы ничего не выбрали, всего д+обровоо до свидания.',    wrongPhone: 'Номер телефона не найден. Если вы кли+ент, перезвоните с номера, который использовали для оформления заказа. Если вы курьер, перезвоните с номера, который зарегистрирован в нашей системе. Или свяжитесь со специалистом,,- нажав клавишу решетка.',    wrongPhoneGoodbye: 'Вы ничего не выбрали. Всего доброго, до свидания!',    courierIsCalling: `Вам звонит курьер по поводу доставки вашего заказа, - - ${store.data.order_number}`,    clientIsCalling: `Вам звонит клиент по поводу доставки заказа, - - ${store.data.order_number} `,    courierUnavailable: 'Похоже,,, курь+ер недоступен. Пожалуйста,,, перезвоните через п+ару мин+ут. Всего д+обровоо до свидания.',    clientUnavailable: 'Похоже,,, абонент недоступен. Пожалуйста,,, перезвоните через пп+ару мин+ут. Всего д+обровоо до свидания.',    waitForCourier: 'Ожидайте на линии,, - соединяю с курьером.',    waitForClient: 'Ожидайте на линии,, соединяю с клиентом.'}VoxEngine.addEventListener(AppEvents.Started, async e => {    VoxEngine.addEventListener(AppEvents.CallAlerting, callAlertingHandler);})async function callAlertingHandler(e) {    store.call = e.call;    store.caller = e.callerid;    store.call.addEventListener(CallEvents.Connected, callConnectedHandler);    store.call.addEventListener(CallEvents.Disconnected, callDisconnectedHandler);    store.call.answer();}async function callDisconnectedHandler(e) {    await sendResultToDb();    VoxEngine.terminate();}async function callConnectedHandler() {    store.call.handleTones(true);    store.call.addEventListener(CallEvents.RecordStarted, (e) => {        store.data.call_record = e.url;    });    store.call.record();    store.call.addEventListener(CallEvents.ToneReceived, dtmfHandler);    await say(phrases.start);    addInputTimeouts();}function dtmfHandler(e) {    clearInputTimeouts();    store.input += e.tone;    Logger.write('Введена цифра ' + e.tone)    Logger.write('Полный код ' + store.input)    if (e.tone === '#') {        store.data.need_operator = "Да";        store.call.removeEventListener(CallEvents.ToneReceived);        store.call.handleTones(false);        callOperator();        return;    }    if (!wrongPhone) {        if (store.input.length >= 5) {            repeatAskForInput = true;            Logger.write(`Получен код ${store.input}. `);            store.call.handleTones(false);            store.call.removeEventListener(CallEvents.ToneReceived);            handleInput(store.input);            return;        }    }    addInputTimeouts();}function addInputTimeouts() {    clearInputTimeouts();    if (firstTimeout) {        Logger.write('Запущен таймер на срабатывание фразы для связи с оператором');        shortInputTimerId = setTimeout(async () => {            await say(phrases.connectToOpearator);        }, 1500);        firstTimeout = false;    }    longInputTimerId = setTimeout(async () => {        Logger.write('Сработал таймер на отсутствие ввода от пользователя ' + longInputTimerId);        store.call.removeEventListener(CallEvents.ToneReceived);        store.call.handleTones(false);        if (store.input) {            handleInput(store.input);            return;        }        if (!repeatAskForInput) {            Logger.write('Просим пользователя повторно ввести код');            store.call.handleTones(true);            store.call.addEventListener(CallEvents.ToneReceived, dtmfHandler);            await say(phrases.repeat);            addInputTimeouts();            repeatAskForInput = true;        } else {            Logger.write('Код не введен. Завершаем звонок.');            await say(inputRecieved ? phrases.wrongOrderGoodbye : phrases.noInputGoodbye);            store.call.hangup();        }    }, 8000);    Logger.write('Запущен таймер на отсутствие ввода от пользователя ' + longInputTimerId);}function clearInputTimeouts() {    Logger.write(`Очищаем таймер ${longInputTimerId}. `);    if (longInputTimerId) clearTimeout(longInputTimerId);    if (shortInputTimerId) clearTimeout(shortInputTimerId);}async function handleInput() {    store.data.order_number = store.input;    Logger.write('Ищем совпадение в kvs по введенному коду: ' + store.input)    inputRecieved = true;    let kvsAnswer = await ApplicationStorage.get(store.input);    if (kvsAnswer) {        store.data.order_search = 'Заказ найден';        Logger.write('Получили ответ от kvs: ' + kvsAnswer.value)        let { courier, client } = JSON.parse(kvsAnswer.value);        if (store.caller == courier) {            Logger.write('Звонит курьер')            store.callee = client;            store.data.sub_status = 'Курьер';            store.data.phone_search = 'Телефон найден';            callCourierOrClient();        } else if (store.caller == client) {            Logger.write('Звонит клиент')            store.callee = courier;            store.data.sub_status = 'Клиент';            store.data.phone_search = 'Телефон найден';            callCourierOrClient();        } else {            Logger.write('Номер звонящего не совпадает с номерами, полученными из kvs');            wrongPhone = true;            store.data.phone_search = 'Телефон не найден';            store.input = '';            store.call.handleTones(true);            store.call.addEventListener(CallEvents.ToneReceived, dtmfHandler);            await say(phrases.wrongPhone);            addInputTimeouts();        }    } else {        Logger.write('Совпадение в kvs по введенному коду не найдено');        store.data.order_search = 'Заказ не найден';        store.input = '';        store.call.handleTones(true);        store.call.addEventListener(CallEvents.ToneReceived, dtmfHandler);        await say(phrases.wrongOrder);        Logger.write(`Очищаем таймер ${longInputTimerId}. `);        addInputTimeouts();    }}async function callCourierOrClient() {    clearInputTimeouts();    Logger.write('Начинаем звонок курьеру/клиенту');    await say(store.data.sub_status === 'Курьер' ? phrases.waitForClient : phrases.waitForCourier, store.call);    const secondCall = VoxEngine.callPSTN(store.callee, store.callid);    store.call.startPlayback('http://cdn.voximplant.com/toto.mp3');    secondCall.addEventListener(CallEvents.Connected, async () => {        store.data.sub_available = 'Да';        await say(store.data.sub_status === 'Курьер' ? phrases.courierIsCalling : phrases.clientIsCalling, secondCall);        store.call.stopPlayback();        VoxEngine.sendMediaBetween(store.call, secondCall);    });    secondCall.addEventListener(CallEvents.Disconnected, () => {        store.call.hangup();    });    secondCall.addEventListener(CallEvents.Failed, async () => {        store.data.sub_available = 'Нет';        store.call.stopPlayback();        await say(store.data.sub_status === 'Курьер' ? phrases.clientUnavailable : phrases.courierUnavailable, store.call);        store.call.hangup();    });}async function callOperator() {    Logger.write('Начинаем звонок оператору');    await say(phrases.connectingToOpearator, store.call);    store.call.startPlayback('http://cdn.voximplant.com/toto.mp3');    store.operator_call = VoxEngine.callPSTN(store.operatorNumber, store.callid);    store.operator_call.addEventListener(CallEvents.Connected, async () => {        store.data.call_operator = 'Оператор свободен';        VoxEngine.sendMediaBetween(store.call, store.operator_call);    });    store.operator_call.addEventListener(CallEvents.Disconnected, () => {        store.call.hangup();    });    store.operator_call.addEventListener(CallEvents.Failed, async () => {        store.data.call_operator = 'Оператор занят';        await say(phrases.operatorUnavailable, store.call);        store.call.hangup();    });}async function sendResultToDb() {    Logger.write('Данные для отправки в БД');    Logger.write(JSON.stringify(store.data));    const options = new Net.HttpRequestOptions();    options.headers = ['Content-Type: application/json'];    options.method = 'POST';    options.postData = JSON.stringify(store.data);    await Net.httpRequestAsync('https://voximplant.com/', options);}function say(text, call = store.call, lang = VoiceList.Yandex.Neural.ru_RU_alena) {    return new Promise((resolve) => {        call.say(text, lang);        call.addEventListener(CallEvents.PlaybackFinished, function callback(e) {            resolve(call.removeEventListener(CallEvents.PlaybackFinished, callback));        });    });};

Код тщательно прокомментирован, но в некоторые моменты углубимся подробнее.

Вводим номер заказа

Первое, что мы делаем при звонке просим звонящего ввести номер заказа и обрабатываем введенное значение с помощью функции dtmfHandler.

store.input += e.tone;

Если звонящий ввел #, сразу соединяем его с оператором:

if (e.tone === '#') {    store.data.need_operator = "Да";    store.call.removeEventListener(CallEvents.ToneReceived);    store.call.handleTones(false);    callOperator();    return;}

Если он ввел последовательность из 5 цифр, вызываем функцию handleInput:

if (store.input.length >= 5) {    repeatAskForInput = true;    Logger.write('Получен код ${store.input}. ');    store.call.handleTones(false);    store.call.removeEventListener(CallEvents.ToneReceived);    handleInput(store.input);    return;}

Ищем заказ в хранилище

Здесь мы будем сравнивать введенный номер заказа с номером в хранилище, используя метод ApplicationStorage.get(), в качестве ключа используем введенную последовательность:

store.data.order_number = store.input;Logger.write('Ищем совпадение в kvs по введенному коду: ' + store.input)inputRecieved = true;let kvsAnswer = await ApplicationStorage.get(store.input);

Если заказ найден, получаем для него номера клиента и курьера:

if (kvsAnswer) {    store.data.order_search = 'Заказ найден';    Logger.write('Получили ответ от kvs: ' + kvsAnswer.value)    let { courier, client } = JSON.parse(kvsAnswer.value);

Теперь осталось разобраться, кому звонить. Если номер звонящего принадлежит курьеру, будем выполнять переадресацию на клиента, если клиенту на курьера. В этом нам поможет функция callCourierOrClient:

if (store.caller == courier) {    Logger.write('Звонит курьер')    store.callee = client;    store.data.sub_status = 'Курьер';    store.data.phone_search = 'Телефон найден';    callCourierOrClient();} else if (store.caller == client) {    Logger.write('Звонит клиент')    store.callee = courier;    store.data.sub_status = 'Клиент';    store.data.phone_search = 'Телефон найден';    callCourierOrClient();}

Если номера нет в хранилище, просим перезвонить с другого номера, который указывался при оформлении заказа:

else {    Logger.write('Номер звонящего не совпадает с номерами, полученными из kvs');    wrongPhone = true;    store.data.phone_search = 'Телефон не найден';    store.input = '';    store.call.handleTones(true);    store.call.addEventListener(CallEvents.ToneReceived, dtmfHandler);    await say(phrases.wrongPhone);    addInputTimeouts();}

И наконец, обрабатываем вариант, когда номер заказа не был найден в базе. В этом случае просим попробовать ввести его снова, предварительно удостоверившись, что номер верный:

else {    Logger.write('Совпадение в kvs по введенному коду не найдено');    store.data.order_search = 'Заказ не найден';    store.input = '';    store.call.handleTones(true);    store.call.addEventListener(CallEvents.ToneReceived, dtmfHandler);    await say(phrases.wrongOrder);    Logger.write(`Очищаем таймер ${longInputTimerId}. `);    addInputTimeouts();}

Звоним клиенту/курьеру

Переходим непосредственно к звонку клиенту/курьеру, то есть к логике функции callCourierOrClient. Здесь мы сообщим звонящему, что переводим его звонок на курьера/клиента, и включим музыку на ожидание. С помощью метода callPSTN позвоним клиенту или курьеру (в зависимости от того, чей номер был ранее идентифицирован как номер звонящего):

await say(store.data.sub_status === 'Курьер' ? phrases.waitForClient : phrases.waitForCourier, store.call);const secondCall = VoxEngine.callPSTN(store.callee, store.callid);store.call.startPlayback('http://cdn.voximplant.com/toto.mp3');

В этот же момент сообщим второй стороне о том, что звонок касается уточнения информации по заказу:

secondCall.addEventListener(CallEvents.Connected, async () => {    store.data.sub_available = 'Да';    await say(store.data.sub_status === 'Курьер' ? phrases.courierIsCalling : phrases.clientIsCalling, secondCall);    store.call.stopPlayback();    VoxEngine.sendMediaBetween(store.call, secondCall);});

Обработаем событие дисконнекта:

secondCall.addEventListener(CallEvents.Disconnected, () => {    store.call.hangup();});

И оповестим звонящего, если вторая сторона недоступна:

secondCall.addEventListener(CallEvents.Failed, async () => {    store.data.sub_available = 'Нет';    store.call.stopPlayback();    await say(store.data.sub_status === 'Курьер' ? phrases.clientUnavailable : phrases.courierUnavailable, store.call);    store.call.hangup();});

За все фразы, который произносит робот, отвечает функция say, а сами фразы перечислены в ассоциативном массиве phrases. В качестве TTS провайдера мы используем Yandex, голос Alena:

function say(text, call = store.call, lang = VoiceList.Yandex.Neural.ru_RU_alena) {    return new Promise((resolve) => {        call.say(text, lang);        call.addEventListener(CallEvents.PlaybackFinished, function callback(e) {            resolve(call.removeEventListener(CallEvents.PlaybackFinished, callback));        });    });};

Кроме всего прочего, наш сценарий записывает звонки, используя метод record, и показывает, как можно сохранить статистику в базу данных (в нашем коде за это отвечает функция sendResultToDb). Это очень важно для бизнеса, поскольку позволяет анализировать статистику, обеспечивать контроль качества и оперативно решать спорные ситуации, которые могли возникнуть в процессе доставки заказа.

Тестируем

Когда полный код добавлен в сценарий, а данные по заказу в хранилище, смело начинайте тестировать.

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

Если все сделано верно, клиент и курьер смогут созваниваться и обсуждать детали заказа, не зная настоящих номеров друг друга, а значит, не нарушая прайваси. Круто, не так ли?) Желаем вам успешной разработки и беспроблемной доставки!

P.S. Также мой коллега недавно рассказал, как обезопасить общение клиента и курьера с помощью Voximplant Kit (наш low-code/no-code продукт). Если эта тема вас заинтересовала, переходите по ссылке :)

Подробнее..

Перевод WebRTC для любопытных (часть 1)

02.06.2021 08:23:30 | Автор: admin

Данный материал - это вольный перевод онлайн-книги webrtcforthecurious.com. Вся книга будет разбита на отдельные статьи, которые будут выходить в разное время. В основном я это сделал для себя в будущем, так как в свободное от работы время почти целиком и полностью занимаюсь проектом в основе которого именно WebRTC.

Книга довольно поверхностно объясняет как работает WebRTC "под капотом", для подробностей надо читать RFC. Ссылки на RFC различных используемых протоколов буду приводить. Стоит особо отметить главу "Отладка", где неплохо описываются идеи того, как отлаживать различные проблемы с сетью, задержками и прочим.

Итак, часть 1 - вводная.


Что такое Webrtc?

Web Real-Time Communication или сокращенно WebRTC, является и протоколом и API одновременно. WebRTC как протокол - это множество правил для безопасного обмена информацией (обычно медиа) в режиме дуплекс между двумя агентами в сети. WebRTC как API в свою очередь позволяет разработчикам работать с протоколом. API формально определено только для JavaScript.

Такое же разделение и в отношении HTTP и Fetch API: WebRTC-протокол - это как HTTP, а WebRTC API - это как Fetch API в данном случае.

Помимо JavaScript протокол WebRTC реализован также и на других языках програмирования. Можно найти множество реализаций серверов, библиотек, реализующих протокол, примером может стать реализация на go pion/webrtc. Пишется реализация и на rust: https://github.com/webrtc-rs/webrtc (проект довольно интересный, потому что это переписываение pion/webrtc на rust).

Протокол WebRTC поддерживается в IETF в группе rtcweb. API WebRTC задокументировано в W3C как webrtc-pc.

Приемущества WebRTC

Далее приводится список того, что даст вам WebRTC. Список не полный, это просто примеры того, что заслуживает внимания. Не волнуйтесь, если какие-то слова вам не знакомы, в течение следующих частей разберем их подробнее.

Итак, приемущества WebRTC:

  • Открытый стандарт

  • Множество различных реализаций

  • Можно работать прямо из браузера

  • Обязательное шифрование

  • NAT Traversal

  • Перепрофилированная существующая технология, то есть не изобретали колес, когда делали WebRTC

  • Контроль за перегруженностью

  • Задержка (latency, имеется в виду задержка аудио и/или видеопотока) в пределах 1 секунды

WebRTC это набор разных технологий

Это тема, для объяснения которой потребуется целая книга. Для начала разобъем ее на четыре части:

  • Сигналинг

  • Соединение пиров

  • Безопасность

  • Общение пиров

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

Интересный факт в WebRTC это то, что каждый шаг использует множество других протоколов!

WebRTC объединияет множество существующих технологий. В этом смысле WebRTC - это скорее комбинация в различных конфигурациях хорошо изученных технологий, которые существуют с начала 2000-х годов.

Каждому из этих шагов посвящена отдельная часть, но пока что будет полезным рассмотреть каждый шаг "с высоты птичьего полета".

Сигналинг или как агенты находят друг друга в сети

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

Сигналинг использует существующий протокол SDP (Session Description Protocol). SDP это простой текстовый протокол. Каждое SDP-сообщение состоит из пар ключ-значение, расположенных в строгом порядке (rfc4566), которые в свою очередь составляют набор медиа-секций. SDP-сообщения, которыми обмениваются WebRTC-агенты содержит такую информацию как:

  • адреса IP и порты агентов, по которым можно соединиться с агентом (это т.н. ICE-кандидаты)

  • сколько аудио и видео треков агент желает отправить

  • какие аудио и видео кодеки поддерживает каждый из агентов

  • значения используемые во время соединения (uFrag/uPwd).

  • значения используемые для безопасности (отпечаток сертификата)

Отметим, что сигналинг обычно работает как бы в сторонке; то есть приложения не используют WebRTC для обмена SDP сообщениями. Тут подходит любой способ обмена этими сообщениями: REST, Websocket, да хоть письмом по почте можно отправить другому пиру SDP-сообщение, а тот в свою очередь отправит свое. В своем приложении для тестов я вообще использовал firebase для сигналинга.

Установка соединения и NAT Traversal с помощью STUN/TURN

Теперь у обоих сторон WebRTC агентов достаточно информации о том, чтобы соединиться друг с другом. Далее используется другая устоявшаяся технология под названием ICE.

ICE (Interactive Connectivity Establishment) - это протокол предваряющий WebRTC. ICE позволяет установить связь между двумя агентами. Эти агенты могуть быть в одной и той же сети, а могут быть и на противоположных концах света. ICE решает проблему установления прямой связи без использования промежуточного сервера.

Настоящая магия здесь это т.н. NAT Traversal и STUN/TURN сервера. Обе эти концепции необходимы для соединения с ICE агентом из другой сетки. Далее мы изучим этот вопрос глубже.

Как только связь между двумя агентами установлена, WebRTC переходит к установлениею шифрованного канала передачи. Далее этот канал будет использован для передачи аудио/видео и данных.

Шифрование передачи информации с помощью DTLS и SRTP

После того как мы установили дуплексную связь между двумя пирами через ICE, нам необходимо установить шифрованное соединение для обеспечения безопасности при передаче данных. Это обеспечиватся двумя протоколами, которые также предваряют WebRTC: DTLS (Datagram Transport Layer Security), который просто добавляет слой TLS над UPD. (TLS - криптографический протокол используемый для безопасного обмена через https). Второй протокол - это SRTP (Secure Real-time Transport Protocol).

Сначала WebRTC выполняет DTLS-"рукопожатие" через соединение установленное ранее через ICE. В отличие от HTTPS WebRTC не использует CA для сертификатов. Вместо этого просто сверяет отпечатки сертификатов, полученных в ходе обмена SDP-сообщениями на этапе сигналинга. Установленное DTLS соединение далее используется для DataChannel, для обмена простыми данными - бинарными или текстовыми, например сообщения в чате.

Для видео/аудио в WebRTC используется другой протокол: RTP. Для шифрования RTP-пакетов используется протокол SRTP. SRTP сессия инициализируется с помощью ключей шифрования полученных в ходе DTLS сессии (rfc5764). Далее мы обсудим, почему для медиа-данных используется свой собственный протокол.

Теперь все готово! У нас есть двунаправленный и безопасный канал. Если у вас стабильное соединение между вашими WebRTC-агентами, то вышеописанный комплекс процедур достаточен чтобы начать им (агентам) общаться. Однако в жизни все не так идеально, как кажется: мы постоянно будем сталкиваться с потерей пакетов в сети, ограниченной пропускной способностью сети. Дальше мы подумаем, как справляться со всеми этими проблемами.

Общение между пирами через RTP и SCTP

Сейчас мы имеем два WebRTC-агента с безопасным двунаправленным соединением. Давайте начнем взаимодействие! И снова мы используем уже существующие протоколы: RTP (Real-time Transport Protocol), и SCTP (Stream Control Transmission Protocol). Используйте RTP для обмена аудио/видео шифрованным по протоколу SRTP и SCTP для обмена DataChannel-сообщениями, шифрованными с помощью DTLS.

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

Последний протокол в стеке протоколов WebRTC - это SCTP. SCTP дает множество возможностей для управления доставкой сообщений. Например, это может быть ненадежная неупорядоченная доставка сообщений, для того, чтобы получить задержку, удовлетворительную для систем реального времени.

WebRTC это набор протоколов

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

Рис.1. WebRTC Agent DiagramРис.1. WebRTC Agent Diagram

Кратко: как работает WebRTC (API)

В этой части показано как JavaScript API отображается на протокол. Это не демонстрация WebRTC API, а скорее некоторый набросок для создания у вас ментальной модели, как все работает вместе. Если вы не знакомы с каким-либо из пунктов, не переживайте, можете вернуться сюда когда узнаете больше!

new RTCPeerConnection

RTCPeerConnection - это основа для установления WebRTC-сессии. Объект RTCPeerConnection реализует "под капотом" все протоколы, упомянутые выше. Здесь инициализируются все подсистемы, и пока что ничего больше не происходит.

addTrack

Метод addTrack создает новый RTP-поток. Для потока генерируется случайный Synchronization Source (SSRC). Созданный RTP поток будет затем описан в Session Description-сообщении внутри медиа-секции после вызова createOffer метода. Каждый вызов addTrack создает новый SSRC и добавляет медиа-секцию в SDP-сообщение.

Сразу после того, как SRTP сессия установлена, зашифрованные медиа-пакеты начнут отправляеться через ICE.

createDataChannel

createDataChannel создает новый SCTP-поток, если еще не был добавлен. По умолчанию SCTP выключен, но инициализируется как только одна из сторон потребует data channel.

Сразу после того, как DTLS сессия установлена, SCTP пакеты начнут отправляться через ICE.

createOffer

createOffer генерирует Session Description для отправки удаленному пиру.

Вызов createOffer ничего не меняет на локальном пире.

setLocalDescription

setLocalDescription фиксирует все, что менялось в созданном RTCPeerConnection для локального пира. Методы addTrack, createDataChannel и другие осуществляют временные изменения до тех пор, пока метод setLocalDescription не будет вызван. В этот метод нужно передавать строку session description сгенерированную методомcreateOffer.

После вызова setLocalDescription сгенерированное SDP-сообщение также отправляется на удаленный пир (выше обусждалось, что это можно делать любым способом), и далее на удаленном пире SDP-сообщение (offer) передается в метод setRemoteDescription. Удаленный пир в свою очередь отправляет свой локальный SDP в ответ (answer), который также нужно передать локально в setRemoteDescription.

addIceCandidate

addIceCandidate позволяет WebRTC-агенту добавить больше удаленных ICE-кандидатов.

ontrack

ontrack - это колбек (функция обратного вызова), который срабатывает как только RTP-пакет был получен от удаленного пира.

oniceconnectionstatechange

oniceconnectionstatechange - это также колбек, который отражает состояние ICE агента. Любые проблемы с сетью отражаются через этот колбек.

onstatechange

onstatechange - этот колбек служит для отслеживания окончания сбора всех ICE-кандидатов. Как только аргумент этого обратного вызова станет null, все ICE-кандидаты собраны.

В следующей части разберем Signaling и SDP.

Подробнее..

Power-line communication. Часть 3 Основные блоки устройства

25.05.2021 00:13:35 | Автор: admin

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

Осталось разобраться, что такое ZC детектор, на примере одной из его возможных реализаций. Посмотрим, как можно реализовать входную и выходную сигнальные цепи, и как их подключить к сети 220 В.

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

Zero cross детектор

Как говорилось ранее, передающие и принимающие устройства синхронизируются между собой с помощью отдельного блока zero cross детектора.

Передающее устройство, отправляет подготовленный кадр данных по одному биту за один синхросигнал из ZC детектора. Физически это значит, что за один синхросигнал из ZC детектора генерируется один полезный сигнал определённой частоты, которым кодируется один бит.

В электросетях с частотой 50 Гц, синусоида напряжения пересекает ноль 100 раз в секунду.

Есть несколько вариантов исполнения ZC детектора. Ниже я покажу пример реализации на оптопаре.

Начнём с конца схемы сначала представим, как сигнал с ZC детектора попадает на контроллер.

На картинке схема с подтягивающим pull-up резистором и ключом. При замыкании ключа, на вход МК будет подаваться логический 0, а при размыкании ключа, pull-up резистор будет подтягивать напряжение на входе МК до логической единицы.

На место ключа ставим оптрон. Оптрон (оптопара) это простой элемент, в котором с одной стороны светодиод, а с другой фототранзистор.

При подаче напряжения на светодиод, фототранзистор будет пропускать ток. Оптрон также служит гальванической развязкой между сетью 220 В и цифровой частью схемы.

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

Для выпрямления можно использовать smd мостовой выпрямитель.

После выпрямления на фотодиод пойдёт пульсирующее с удвоенной частотой напряжение от 0 до 310 В. Разумеется диод не выдержит такого размаха напряжения, поэтому после мостового выпрямителя поставим сопротивление.

Номинал сопротивления можно вычислить исходя из характеристик фотодиода в оптопаре

В datasheet на оптопару пишут максимальный ток, на который рассчитан фотодиод, исходя из этого нужно выбрать сопротивление с расчётом на 310 В. Чтобы резистор не перегрелся, можно вместо одного последовательно поставить несколько резисторов для эффективного отвода тепла (это особенно полезно если у вас SMD резисторы).

Из datasheet на PLC817Из datasheet на PLC817

На примере PC817 видно, что максимальный ток, который выдержит светодиод - 50 мА. Максимальный коэффициент передачи при 20 мА. И "замыкать ключ" он будет уже и при >1 мА.

SMD резисторы типоразмера 1210 выдерживают рассеивание до 0.5 Вт мощности. Максимальный постоянный ток, который мы может пропускать при 310 вольт равен 0.5/310 = 0.00161 А. С учетом, того что у нас пульсирующее напряжение, округлим до 0.002 А (2 мА). Этого тока достаточно, чтобы "ключ замыкался". Номинал сопротивления при этом равен 310/0.002 = 155000 Ом. Итог: ставим последовательно три SMD резистора, типоразмером 1210, номиналом 51 кОм каждый.

В итоге, схема ZC детектора выглядит примерно так.

Теперь микроконтроллеры PLC устройств, подключенных к одной фазе могут синхронизироваться между собой с помощью сигнала на ножке "ZC input" из такого ZC детектора.

Схема согласования сигнальных цепей с линией 220 В

Схема согласования закрывает собой компоненты входной и выходной цепей. Входная и выходная сигнальные цепи обычно выполнены на микросхемах усилителях, которые питаются небольшим постоянным напряжением (3-12 В). Подключить их напрямую к 220 В не получится.

Из электросети должны проходить только высокочастотные сигналы. Основная гармоника 50 Гц, на которой передаётся электроэнергия, не должна попасть в сигнальные цепи устройства. Также в этой схеме обычно располагается защита от скачков напряжения и перегрузок.

Эта часть схемы принимает различный вид в разных datasheet на готовые PLC микросхемы. Опишем минимально работоспособный вариант.

Для первых опытов

Можно взять ферритовое кольцо типа 17,5x8,2x5 М2000Н, есть в любом магазине электроники. Провод МГТФ наматываем сразу 3 обмотки в 20 витков.

Конденсатор плёночный из серии MKP или любой аналогичный, который выдерживает от 220 В переменки (с запасом).

Для отсечения ненужных низкочастотных гармоник ставится конденсатор, который выдержит 220 В. После него, для гальванической развязки и также фильтрации, высокочастотный трансформатор. Трансформатор можно сделать с отдельными обмотками для входной и выходной цепей (как на изображениях) или использовать одну обмотку на "вход"/"выход".

Для защиты усилителей от импульсных перенапряжений можно поставить защитные диоды (супрессоры) и/или варисторы с предохранителем. Тема защиты устройства от электрических неприятностей довольно обширная, в этой статье не рассматривается. Но забывать про это не стоит.

Варианты схемы согласования можно подглядеть в готовых решениях различных фирм, выпускающих PLC микросхемы. Каждая схема согласования разрабатывается под входные/выходные усилители, используемые в этих решениях.

Входная цепь измерение полезного сигнала

Входная цепь должна выполнить как минимум две задачи:

  • отфильтровать грубый входящий сигнал, срезав все лишнее;

  • после этого усилить сигнал до приемлемого уровня, подходящего для измерения и оцифровки с помощью ЦАП микроконтроллера.

Фильтрация

Существует большое разнообразие вариантов исполнений фильтров. В нашем случае подойдёт простой пассивный полосовой фильтр. При узкополосной передаче можно грубо отсечь ненужные частоты сверху и снизу. Фильтр нужно рассчитываем так, чтобы наши рабочие частоты попадали по центру полосы пропускания и меньше всего срезались.

В самом простом случае можно особо не заморачиваться с фильтром, так как в линиях электропередач запросто могут быть шумы с частотами близкими к полезным. Нам просто нужно примерно совместить полосу пропускания фильтра с полезной полосой частот, срезав все сверху и снизу. Остальное можно решить программным путём.

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

Усиление

У АЦП есть такая характеристика как разрешение. Оцифровка сигнала происходит с некоторой дискретностью. А после пассивной фильтрации входной сигнал заметно похудеет в амплитуде. И если подать на АЦП очень слабый сигнал, то его форма сильно исказится и потеряется большая часть информации о сигнале.

Амплитуду сигнала нужно поднять до приемлемой для измерений и оцифровки. В этом помогут операционные усилители (ОУ), которых на рынке огромное количество, и про которые написано тонны статей.

Самое сложное это выбрать подходящий ОУ по полосе пропускания и коэффициенту усиления. Выходная мощность ОУ в этом случае не важна, так как нам нужно лишь оцифровать форму сигнала.

Бывает, что одного ОУ не хватает для усиления сигнала до приемлемого уровня. В этом случае можно сразу после первого ОУ поставить второй по аналогичной схеме. В продаже есть микросхемы сразу с двумя ОУ в одном корпусе.

Ссылки на статьи про операционные усилители и их про каскадное подключение оставил в конце статьи.

Выходная цепь генерация полезного сигнала

Задача выходной цепи фильтровать и усиливать сигнал из ЦАП микроконтроллера.

Микроконтроллер по специальному алгоритму генерирует полезный сигнал, нужной длительности и частоты, соответствующей передаваемому символу. На выходе из ЦАП у нас получается просто болванка полезного сигнала, угловатая, примерно похожая на синусоиду, но (самое главное!) нужной нам частоты.

Далее сигнал сглаживается фильтром и отправляется в аналоговую часть схемы (усилитель и схема согласования с 220 В).

Можно подумать, что форма сигнала не особо важна при кодировании, так как преобразование Фурье всё равно может вычленить основную гармонику полезного сигнала, отбросив всё лишнее. Но чем сигнал ближе по форме к синусоиде, тем меньше энергии мы будем тратить в пустоту, просто добавляя высокочастотный шум в сеть. И выходной усилитель будет работать стабильнее. Как уже говорилось на входе важна лишь основная гармоника сигнала. Остальные гармоники это шум.

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

При выборе усилителя разбегаются глаза. Не буду рассказывать про всё многообразие, но подскажу вариант для ленивых, как я. Можно использовать одну из готовых микросхем для усиления аудио сигналов в аудиоплеерах. Мощность у них обычно не большая около 1W.

Гуглить их можно по фразе audio amplifier btl 1w. Но тут нужно учесть, что они обычно рассчитаны на аудио сигналы до 20 кГц, и производитель не рассчитывал, что их будут использовать в PLC модеме. Есть модели, которые хорошо усиливают частоты до 100-150 кГц, и обычно в datasheet об этом не пишут.

Плюсы:

  • они очень удобны тем что там встроенная стабилизация сигнала;

  • есть режим mute - мизерное потребление в режиме простоя;

  • хватает однополярного питания не надо париться с блоком питания.

Минусы:

  • во включенном состоянии из-за обратной связи съедают входящий сигнал, поэтому усилитель надо выключать, когда устройство в режиме прослушивания (приёма);

  • большой минус это их незащищённость от импульсных помех в электросети. Сгорают мгновенно. Но от этого можно спастись, поставив на выходе усилителя супрессоры, что-то наподобие P4SMAJ5.0A или аналогичный.

Примерно так выглядит усиление с однополярным питанием.

Также нужно не забыть на выходе усилителя ставить конденсатор, чтобы отсечь постоянную составляющую сигнала.

Итого

Во второй и третей частях мы коротко пробежались по основным блокам простейшего PLC устройства, создали общую картину их взаимодействия. Так как затрагиваемых тем очень много и они дольно глубокие, подробнее осветить их в статье не получилось (да и я в них не специалист). Для более серьезного изучения есть специализированная литература. Но новичку иногда сложно понять в какую сторону копать. Поэтому конце оставил много ссылок на различные обзорные статьи по связанным темам.

В следующей части статьи планировал на примерах показать, как можно программно генерировать синус нужной частоты для ЦАП в STM32. И заодно как обработать приходящий на АЦП сигнал и выяснить наличие в нём нужных гармоник (частот) полезного сигнала.


Полезные ссылки

Общее:

Фильтры:

Операционные усилители:

ZC детекторы:

Схемы согласования с 220 В в доках на PLC микросхемы:

Подробнее..

Нестандартный подход кремний и нелинейная оптика

05.05.2021 10:13:29 | Автор: admin


До начала XIX века об этом веществе мало кто знал, а сейчас без него сложно представить современный мир. Найти его можно и в кармане прохожего, и в самых современных лабораториях. Речь, конечно же, о кремнии. За двести с лишним лет своего общения с человеком кремний подарил нам множество новых и удивительных технологий. Он нашел свое применение в металлургии, в химии, в биологии, и, самое главное, в электронике. Список применений кремния очень велик, но благодаря усилиям ученых из университета Суррея (Великобритания) он может пополниться еще одним пунктом. Они провели исследование, в котором установили, что кремний может быть использован в фотонике для создания устройства, которое сможет управлять несколькими световыми лучами. Что под этим подразумевается, как это работает, и какое практическое применение имеет данное открытие? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.

Основа исследования


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

Терагерцовое (ТГц) излучение это вид электромагнитного излучения, спектр частот которого расположен между инфракрасным и микроволновым диапазонами (3х10113х1012 Гц).

Нелинейность же является свойством динамической системы, свойства и характеристики которой зависят от ее состояния. К примеру, в линейной системе изменение амплитуды входящего сигнала на Х приводит к изменению выходного сигнала тоже на Х, а в нелинейной нет. Другими словами, изменения на выходе не пропорциональны изменениям на входе. Ярким примером нелинейной системы является хаос, который на первый взгляд кажется непредсказуемым и совершенно не вписывается в рамки линейных систем.

Таким образом мы имеем дело с нелинейной оптикой, которая изучает явления, возникающие при взаимодействии светового поля и вещества с нелинейной реакцией вектора поляризации на вектор напряженности электрического поля световой волны.

В рамках данного труда ученые отмечают, что нелинейности третьего порядка позволяют контролировать световой импульс в центросимметричных материалах, таких как кремний и диоксид кремния. Для достижения восприимчивости* третьего порядка ((3)L, где L толщина материала) можно использовать вырожденное четырехволновое смешение*, что также позволяет оптически управлять обнаружением и испусканием фотонов.
Диэлектрическая восприимчивость* мера способности вещества поляризоваться под действием электрического поля. Нелинейные восприимчивости относятся к анизотропным материалам, в которых восприимчивость не одинакова во всех направлениях, как у изотропных. В этих материалах каждая восприимчивость становится тензором (n+1) степени.
Четырехволновое смешение* явление интермодуляции в нелинейной оптике, при котором взаимодействия между двумя или тремя длинами волн создают две или одну новую длину волны.
С помощью пикосекундных импульсов от лазера на свободных электронах ученым удалось показать, что кремний, легированный P или Bi, имеет значение (3)L в ТГц области выше, чем любой другой материал в любом диапазоне длин волн.


Изображение 1

Итак, нелинейность низшего порядка в центросимметричных материалах равна (3). Она отвечает за вырожденное четырехволновое смешение (DFWM от degenerate four-wave mixing), при котором все четыре фотона имеют одинаковую энергию: два из которых возбуждаются, а два излучаются (схема выше). Отклик DFWM обладает потенциалом для применения в активных оптических средах (модуляторы, квантовые повторители и т.д.). Однако количественных измерений восприимчивости для прозрачных объемных материалов в ТГц области до сего момента практически нет, т.е. для любого материала в этом спектре частот на данный момент известно крайне мало значений (3).

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

Результаты исследования


В качестве опытных образцов использовался монокристаллический кремний (Si), легированный висмутом (Bi) или фосфором (P). Температура образцов в ходе опытов поддерживалась в диапазоне 510 К.

В ходе исследования были проведены опыты с использованием терагерцовых импульсов от лазера на свободных электронах как при включенном, так и при выключенном резонансе с 1s 2p переходами в Si:P и Si:Bi при 10K.

В пределе плоской волны (т.е. для бесконечно длинных импульсов и бесконечно широких лучей) комплексная амплитуда поляризации генерируемого луча (P3) связана с комплексными амплитудами поля входных лучей (F1,2) внутри материала соотношением:



т.е. интенсивность выхода определяется посредством (3). Определение (3) в уравнении выше предполагает, что импульсного эксперимента внутренние энергии импульса (Ei) трех лучей (ki) связаны соотношением:



где Ec постоянная, обратно пропорциональная (3)L, а L толщина образца.

Ec представляет собой критическую энергию импульса, при которой выходная мощность станет равной входной. Посему необходимо оставаться ниже этой границы, чтобы не пришлось учитывать нелинейные эффекты более высокого порядка.


Изображение 2

E1 варьировалось в ходе опытов, но отношение E2 / E1 при этом оставалось фиксированным (график выше). При низкой энергии наблюдалась четкая кубическая зависимость. При высокой интенсивности в опытах с резонансом происходило насыщение из-за зависящего от интенсивности уменьшения времени дефазировки, что приводило к снижению (3).

Вдали от резонанса, но в пределе длинных импульсов, соотношение между Ec и (3) напрямую зависит от геометрии и длительности импульса и выглядит следующим образом:



где n показатель преломления (в данном труде был установлен n = 3.4);
0 длина волны в свободном пространстве;
Z0 характеристический импеданс свободного пространства;
r0 и t0 среднеквадратичные радиус пучка и продолжительность импульса.

Переменная f в формуле выше напрямую зависит от потерь, а также формы и длительности импульса относительно динамических временных масштабов системы. Если f = 1, то потери незначительны. Увеличение этого показателя сигнализирует об увеличении потерь и зависит от толщины образца.

В случае проведенных опытов, то при отсутствии резонанса f был немного выше единицы, что связано с короткими импульсами. Полученные экспериментальным путем значения Ec и рассчитанные значения f позволили получить (3)expt, т.е. ожидаемое значение (3).

Имея в своем распоряжении теоретические значения (3), ученые смогли провести сравнение с результатами своих опытов.

Кремний при низкой температуре напоминает водород. Энергия уменьшена, а размеры орбиталей увеличены за счет малой эффективной массы и большой диэлектрической проницаемости.

Опыты с резонансом и без него показали хорошее соответствие теоретическим предсказаниям за исключением небольшого расхождения. Разница между этими вариантами опытов была в том, что резонанс значительно уменьшает Ec и увеличивает (3) по сравнению с нерезонансными случаями.


Изображение 3

График выше демонстрирует набор когерентных измерений (3) в других материалах, системах и диапазонах частот. Если точнее, то отображены значения (3)L, так как именно эта величина была измерена в каждом случае.

Ученые отмечают, что материалы Дирака (например, графен) демонстрируют большие значения (3)L, но и резонансные межзонные процессы или процессы со свободными носителями в зависимости от химического потенциала. В таких случаях (когда присутствуют потери поглощения) объемная восприимчивость (3) не является особенно полезным показателем качества материала, поскольку выходная мощность изменяется нетривиальным образом в зависимости от толщины образца из-за тех же потерь.

В двумерных системах и системах с квантовыми ямами* наблюдались большие значения (3).
Квантовая яма* потенциальная яма, которая ограничивает подвижность частиц с трех до двух измерений, из-за чего они могут двигаться только в плоском слое.
Во всех этих случаях измеренный выходной сигнал нормируется по толщине, а чувствительность слоя ((3)L) очень мала по сравнению со значениями, полученными в первоначальных опытах, и остается такой даже в случае систем из множества слоев.

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

Эпилог


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

Подобные эффекты возможны за счет терагерцовой области электромагнитного спектра и за счет нелинейности, которую используют для управления лазерами (например, для перенаправления луча). Буквально волей случая ученые обнаружили, что кремний обладает самой сильной нелинейностью из когда-либо обнаруженных.

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

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

Благодарю за внимание, оставайтесь любопытствующими и хорошей всем рабочей недели, ребята. :)

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Всё о проекте Спутниковый интернет Starlink. Часть 29. Страны, где сервис начнет предоставляться в первую очередь

06.05.2021 14:05:14 | Автор: admin
Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL):
Часть 20. Внутреннее устройство терминала SL Часть 21. SL и проблемы поляризаци Часть 22. Проблемы электромагнитной совместимости c другими спутниками. Часть 23. Промежуточные итоги аукциона RDOF Часть 24. Лазерные Каналы -2 Часть 25. EPFD Часть 26. Первые итоги. Часть первая позитивная Часть 27. Первые итоги. Часть вторая проблемная Часть 28. Использование Старлинк на движущихся объектах

Один из фанатов Starlink, исследуя его IP адресацию и IP пространство, выяснил следующее:
I have written a script that runs through all IPs advertised by the Google ASN used by Starlink, and have come up with some interesting observations:

  • Any /23 or /24 IP block is chopped up into /27 blocks, then assigned to a country.
  • 15 countries have IP blocks assigned to them: GB, GR, ES, PL, IE, AT, US, AU, NZ, CL, DE, NL, BE, FR, IT (Edit: one result is blank/no country found!)
  • The country with most blocks is the US, with 306. Second, surprisingly, is Chile, with 18, then Australia with 16, and Belgium with 12. UK gets 9, and at the bottom are Greece and New Zeland with 2 blocks each. This can give you an idea of relative market size, as you can only stretch CGNAT so far!
  • The IATA-code identifiers don't align to countries, except for the US. For example, the UK is served by /27 blocks assigned to FRA1, FRA2, LHR1, LHR2, LHR3, LHR4, MAD1, and MAD2.
  • If we were to equate identifiers to POPs, which I'm no longer so sure about, the US is served by 34, and most other countries between 6 and 8, with some having 2.


Это позволяет сделать вывод, что сервис Starlink будет доступен в ближайшее время в следующих 16 странах: Великобритания, Греция, Испания, Польша, Ирландия, Польша, Австрия, США, Австралия, Новая Зеландия, Чили, Дания, Нидерланды, Бельгия, Франция, Италия и не упомянутая выше Канада, которая вероятно объединена тут в части блоков адресов с США.
Возможно с учетом информации ниже в список попадет и Португалия, но как часть Испанского рынка

Кроме того, поиски среди вакансий на сайте SpaceX показали, что им нужны инженеры в техподдержку со знанием следующих языков:

French, Greek, Italian,Polish,Portuguese (seems to be the most recent addition),Spanish,German (service already started there)

Для знатоков греческого работа предлагается в третью смену по сути ночью, когда в Греции день.

Насчет португальского тут 2 варианта: Португалия и Бразилия. Последняя желаннее и интереснее как-никак 200 миллионов и плохая инфраструктура в сельской местности и Амазонии, но Бразилия имеет очень жесткие правила по допуску на внутренний рынок для иностранных компаний, и сейчас там есть успешный спутниковый оператор Hughes Бразилия.

Можно оценить соотношение в количестве абонентов, которое ожидает SpaceX, например, в Греции и Новой Зеландии их будет примерно в 150 раз меньше чем в США и Канаде.

Определенно в список попали страны ЕС с высоким уровнем дохода населения и/или большим населением (Польша!), плохой или сложной инфраструктурой (Греция с ее островами), малонаселенные страны со сложной географией (Австралия и Новая Зеландия, частично Чили (одна из самых развитых стран Латинской Америки, но так же сложная по географии)). И во всех этих странах местный регулятор выдал SpaceX все разрешения для работы, плюс имеется местная 100% дочка SpaceX.

И еще интересное

Starlink возможно сможет быть принимаем и в России на узкой полоске границы Калининградской области и Польши, которая идет вдоль 54 параллели. Учитывая наклон 53 градуса для группировки, то направить луч севернее на 1 градус физически вполне возможно.
Но остается вопрос: что предпочтет сам SpaceX: допустить, что ослабленный сигнал периодически заползает на территорию России на 10-20 км от границы (что есть нарушение правил МСЭ) или просто отказаться от обслуживания деревень Польши вдоль ее границы с РФ?
Дедектировать сигнал от спутника Starlink будет крайне сложно луч узкий, непрерывно скачет по зонам обслуживания диаметром 24-70 км, а положение ИСЗ в небе для наведения антенны нужно знать очень точно.

Реальных помех для российских РЭС в Калининградской области не будет, тем более что российских VSAT-терминалов в Калининградской области практически нет.

И уж точно Starlink может работать южнее на границе Польши с Белоруссией и Украиной. Более того, учитывая политические реалии Украины: тягу к Западу, статус США как ее ближайшего союзника, и тесные экономические отношения с Польшей, я не исключаю, что Украина может разрешить SpaceX работать на своей территории через гейтвей на территории Польши.

Понятно, что при нынешних ценах на терминал и месячной абонплате в 99 Долларов + налоги, число абонентов в сельских районах Украины будет исчисляться сотнями и тысячами, что совсем не оправдает инвестиции в гейтвей, узел доступа, техподдержку и тп и тд.

Но теоретически можно дать сервис и без образования оператора на территории Украины (например, с приемом денег на StarLink Germany GmbH), хотя в данный момент такая схема категорически противоречит законодательству Украины в области связи и выделения частот.

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

На шаг ближе к телеприсутствию

19.05.2021 18:19:31 | Автор: admin
image


Google проанонсировали проект Starline, что вызвало резкий всплеск обсуждений на англоязычных площадках.

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

Автостереоскопия разновидность стереоскопии, в которой для восприятия объёмного изображения не требуются какие-либо сепарирующие приспособления в виде очков, стереоскопов и других устройств, размещаемых перед глазами наблюдателя. Объёмное изображение воспринимается при непосредственном рассматривании плоского экрана или фотоснимка и называется автостереограммой.

Какие еще есть проекты в области реалистичного телеприсутствия?

Как рисует будущее Google




image

Переговорка нового поколения.

image

Google использует технологии захват 3д-сканирования, сжатия в реальном времени, пространственное аудио, построение 3д-картинки и 3д-дисплей.



Скептичный комментарий c HackerNews:

Моя первая мысль: в 2030 году, когда я позвоню бабушке с этого усройства, мне сначала нужно будет принять файлы cookie, затем принять новую политику конфиденциальности Google, затем войти в свою учетную запись Google, а затем посмотреть 2 20-секундных рекламных ролика в начале ролика.


Так же у Гугла есть VR180 камеры:



Четкие, трехмерные фотографии и видео с эффектом присутствия в широкоугольном формате и с разрешением Ultra HD 4K позволят вам пережить запечатленные моменты с удивительным чувством присутствия.

image

Еще одна разработка Гугла: Immersive Light Field Video with a Layered Mesh Representation



Система для захвата, реконструкции, сжатия и рендеринга высококачественного иммерсивного видео в световом поле. Мы записываем иммерсивные световые поля с помощью настраиваемого массива из 46 синхронизированных по времени камер, размещенных на поверхности полусферического купола диаметром 92 см. На основе этих данных мы производим объемные видеоролики 6DOF с широкой базовой линией обзора 80 см, угловым разрешением 10 пикселей на градус и широким полем обзора (> 220 градусов) при частоте кадров видео 30 кадров в секунду.



Как рисует будущее Looking Glass Factory




Looking Glass делают голографический дисплеи, в тч и



Как рисует будущее Sony






Как рисует будущее Tonari




Дверь-портал в другую комнату.

Как рисовили будущее HP






Как будущее будет выглядеть скорее всего


Подробнее..

Всё о проекте Спутниковый интернет Starlink. Часть 31. Описание антенны Ка-диапазона

09.06.2021 00:09:23 | Автор: admin
Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL):
Часть 25. EPFD или административно-физическая гиря на ногах SpaceX Часть 26. Первые итоги. Часть первая позитивная Часть 27. Первые итоги. Часть вторая проблемная Часть 28. Использование StarLink на движущихся объектах Часть 29. Страны, где сервис начнет предоставляться в первую очередь Часть 30. Сравнение сервиса StarLink с сервисами других операторов ШПД

В данном посте приведено подробное описание шлюзовой станции (Гейтвея) спутниковой сети StarLink. Гейтвей обеспечивает половину спутникового канала, передачу на спутник информации из сети Интернет и работает в Ка-диапазоне. Вторая половина спутникового канала это передача той же информации, но со спутника на абонентский терминал.


Приведенный ниже документ Starlink Gateway V3 Technical Information 08-07-20 является актуальным и используется в США и за его пределами подрядчиками SpaceX при строительстве Гейтвеев. В документе указаны основные технические параметры антенны и приемопередатчика Гейтвея.


Contents

  • Gateway V3 Summary
  • System Specifications
  • RF Overview
  • Mechanical Overview
  • Gateway V3 Block Diagram
  • Gateway V3 Wiring Diagram
  • Gateway Grounding Diagram
  • Harmonized Shipping Codes (TBD)
  • Photographs

Gateway V3 Summary

  • The Starlink V3 Gateway is a fully integrated Ka antenna and motion platform, assembled into a weather resistant

enclosure ( radome ).

  • Gateways are custom steerable parabolic dishes that provide the high bandwidth data backhaul to our satellites.

Unlike the user terminals, the gateways are not placed at customers houses they are located behind fences at

telecom sites

  • The gateway is powered using 240VAC, 3 phase power and communicates to an external network switch through a fiber optic cable. An umbilical Ethernet connection is available for testing purposes, but will not be used in the field.

Inside the radome are heaters and a blower to control internal temperature (and humidity to some extent). Below is a simplified assembly level block diagram


System Specifications



RF Overview



  • The radiation pattern of the gateway is designed to be compliant with the

following specifications:

FCC 25.209

ITU S.580

  • The spectral mask of the gateway is designed to be compliant with the

following specifications:

ITU SM.1541

ITU SM.329

FCC 25.202

Mechanical Overview




Gateway V3 Block Diagram




Gateway V3 Wiring Diagram







Gateway Grounding Diagram




Photographs




Partial 1x9 Site Example




Partial 3x3 Site Example



Revision History

  • 07/08/2020: Added RF overview slides.
Подробнее..

Убрать скрытые поборы для американских сетей широкополосного доступа готовят новый план развития

03.05.2021 18:11:31 | Автор: admin

В конце марта стало известно о новых инициативах по развитию с телеком-рынка США. Там планируют предоставить высокоскоростной доступ в сеть как можно большему числу граждан и избавить их от сложной для понимания системы тарификации услуг интернет-связи. Понятное дело, что подобные предложения пришлись по душе далеко не всем провайдерам.

Фотография: Oscar Schnell. Источник: Unsplash.comФотография: Oscar Schnell. Источник: Unsplash.com

Что происходит

Как сообщает Ars Technica, новый президент США собирается не только освежить действующую сетевую инфраструктуру, но и дать приоритет линиям связи, проектируемым с прицелом на рост потребностей аудитории, последующее развитие и модернизацию. Акцент предлагают сделать на регионах и областях с низким уровнем покрытия, к которому привели необдуманные бюрократические процедуры и статистические выкладки на уровне профильных ведомств. План Байдена состоит в том, чтобы за несколько лет провести высокоскоростную связь в каждый уголок страны без исключения и сделать ее доступной для граждан.

По мнению президента, для этого необходимо вложить в телеком-сектор около ста миллиардов долларов. Сумма приличная, однако на фоне двух триллионов, которые собираются инвестировать в модернизацию всей остальной инфраструктуры страны, она выглядит адекватной. Развивать линии связи собираются вместе с другими технологическими и социальными проектами, поэтому предложения и включили в общую программу The American Jobs Plan. Однако ее еще предстоит детализировать и представить Конгрессу США.

Борьба за сети

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

Фотография: Nadine Shaabana. Источник: Unsplash.comФотография: Nadine Shaabana. Источник: Unsplash.com

Одна из мер, за которые выступают республиканцы, заключается в распространении сдерживаниямуниципальных провайдеров на общенациональном уровне например, за счет ввода ограничений на строительство линий связи за пределами обслуживаемых ими районов. Демократы, в свою очередь, уверены, что перспектив у столь абсурдного законопроектанет, готовятся к конструктивной критике этой инициативы. Благо, опыт у них есть противостояние между партиями по таким вопросам продолжается более пяти лет.

Регулирование рекламы

Расходовать средства на прямые субсидии гражданам или телеком-компаниям в районах с относительно дорогостоящей интернет-связью правительство согласно плану Байдена не собирается. Вместо этого оно намеревается регулировать принципы работы всего сегмента телекомов. Отмена ограничений на развитие линий связи должна один из способов повысить уровнь конкуренции и сбить стоимость услуг, но не единственный в руках властей.

Весьма вероятно, что новые законопроекты, реализованные на основе The American Jobs Plan, куда входит и модернизация сетевой инфраструктуры, затронут и общий подход к формированию тарифов на стороне провайдеров. Плюс повлияют на то, как они продвигают свои услуги. Задача здесь заключается в том, чтобы минимизировать расхождения между обещаниямии делом, когда реклама доступной связи оборачиваются для клиентов расходами сверх ожидаемых: на аренду дополнительных устройств, переход между тарифами и другие действия, финансовые последствия от которых сложно оценить неподготовленному потребителю.

Что дальше

Пока предложения находятся на стадии обсуждения и детализации, поэтому оценить последствия от их внедрения достаточно сложно. Однако стремление к устранению так называемого цифрового разделениямежду средним классом и малообеспеченными гражданами из пригородов и отдаленных уголков страны очевидно. Последних, так или иначе, постараются снабдить новыми возможностями для работы и получения образования, и в текущей обстановке высокоскоростная связь может выступить ключевым фактором. В The American Jobs Plan планы на это счет сравнивают с запуском электрификации страны в 1936-м году.

Как эти предложения будут сочетаться с трендом на закручивание гаек для зарубежных телекомов и ИТ-вендоров, сформированным предыдущей администрацией, еще предстоит выяснить. Равно как и понять спрос на открытые технологии со стороны государства. Все эти нюансы во многом будут определять политику и других западных стран по отношению к собственным провайдерам и работе с международными телеком-компаниями. О ней и опыте коллег американских регуляторов мы поговорим в следующих материалах.


Дополнительное чтение:


Подробнее..

С Днём Радио! Размышления о будущем связи

07.05.2021 00:04:44 | Автор: admin

Четыре года назад одноклассница попросила посоветовать, какое технологическое направление выбрать в вузе её брату: среди рассматриваемых вариантов были разработка ПО, алгоритмы и машинное обучение, математика. Я посмотрела актуальный список специализаций и как типичный бывший связист удивила ответом: "телекоммуникации и связь". Сейчас уже год как выпускник работает в операторе связи, увлекается безопасностью сетей связи и говорит, что ещё три года назад не верил своим ушам и думал, что сфера мертва. Сейчас он больше боится не успеть за всем, что происходит на выбранном пути. А ведь в его размышлениях была доля правды: я помню, как умирал CDMA, как взлетел и сдулся WiMax, как потерпели крушение сервисы из пула VAS, последнее, что я застала, - тихое отмирание 3G. Закрывались профильные курсы по основам связи, устаревали учебники, которые были золотым стандартом, переписывались инструкции, нормы, стандарты, укрупнялись субъекты рынка - казалось, что уходит эпоха и смерть мобильной связи тоже не за горами. Но вскоре стало понятно, что это и была та самая цифровая трансформация - только не из пустых докладов, а реальная, по живому, органичная и правильная. Да, у связи есть будущее - и оно потрясающее для всего человечества.

Пока мы с вами пользуемся связью, коммерческие службы операторов сходят с ума в поисках того, как поднять ARPU и развить сервисы в условиях высокого уровня проникновения интернета и сотовой связи. Крупные операторы (большая тройка + Ростелеком) успешно справляются с задачей: они разрабатывают и предлагают свои кинотеатры, учебные платформы, предлагают предприятиям вычислительные и сетевые ресурсы в аренду, развивают облачные технологии, заключают партнёрские соглашения с разработчиками пользовательского и корпоративного программного обеспечения, развивают исследовательские и интеграционные проекты. Это очевидные и серьёзные шаги, которые по плечу гигантам с хорошим человеческим, материальным и финансовым капиталом.

Но это уже реальность, а что же ждёт сферу связи и телекоммуникаций в ближайшем будущем?

Позитивные перспективы

Фиксированная связь продолжит своё существование и развитие, поскольку она лежит в основе огромного количества процессов, включая важнейшие государственные функции. Все технологии, которые лежат в основе современных проводов ещё долгое время будут требовать своих разработчиков, инженеров и проектировщиков. Более того, иногда фиксированная связь единственный доступный вид связи, который может быть использован (например, для отдалённых регионах или под водой, в том числе в исследовательских целях). Кроме того провода всегда будут важным элементом конвергентной инфраструктуры. Я бы сказала, что это единственный способ связи, за ближайшее будущее которого можно не волноваться.

Конвергентные сети уже давно используются в крупных инфраструктурных проектах, позволяя гарантировать устойчивое соединение и прохождение информации разного рода для целей управления, промышленности и безопасности. С появлением и активным распространением 5G конвергентные сети переживут настоящую революцию: новый стандарт впишется в цепочку соединений и позволит изменить и скорость, и эффективность, и стоимость передачи данных в таких сетях. Однако это принесёт дополнительные проблемы безопасности и энергопотребления.

Интернет вещей и M2M ещё одно направление, которое будет только развиваться, особенно в части использования беспроводных технологий связи. Многочисленные датчики, приёмники, метки, структуры и системы умного дома, умного предприятия, умного транспорта и т.д. представляют большую ценность за счёт высокой энергоэффективности, сбора больших данных и относительной простоты и дешевизны установки, управления и проектирования систем под них. Однако это наиболее уязвимый сегмент с точки зрения атак на инфраструктуру. Поэтому это будет та сфера, где будут нужны даже не DevOps, а настоящие универсальные инженеры 4-в-1: разработчик + сисадмин + сетевик + безопасник. А если в руках такого универсала будет ещё и профильное образование (медицина, промышленность, нефтепереработка и добыча, сельское хозяйство и т.д.), то уже можно начинать присматривать виллу в Каннах востребованность на рынке обеспечена на многие годы вперёд.

Сотовые сети 5G это уже реальность, данность, которая скорее всего в 2022-2023 годах получит активное распространения, преодолев все препятствия со стороны регуляторов и рынка. Думаю, что лаг времени между стандартами 5G и 6G будет не меньше, а то и больше, чем между 4-4,5G и 5G, поэтому все научные открытия, рыночные перспективы и потребительские фишки у нас впереди. Запасаемся конечным оборудованием!

Ещё одно направление, которое уже год кажется перспективным и супер соблазнительным для стартапов и частной разработки, это видеосвязь и видеоконференцсвязь. Действительно, что бы мы без них делали весь 2020 и начало 2021 года? Однако это направление так и останется нишевым и корпоративным продуктом, интерес к которому равномерно спадёт вместе с отступлением пандемии. Дело в том, что видеосвязь для массового потребителя (например, всех абонентов операторов связи) неудобная, сложная в управлении и не всегда эстетичная технология. Нужна качественная видеокамера (они дорого стоят), либо удобный интерфейс закрепления смартфона с хорошей камерой, подготовка, работа над собой Для массового пользователя текстовые мессенджеры и звонки (по фиксированной связи, мобильным сетям и посредством IP-телефонии) остаются приоритетным и наиболее удобным способом быстрой коммуникации.

Связь станет одним из драйверов развития автомобильной отрасли (и транспорта в целом). Беспроводной стандарт Vehicle-to-Everything (V2X) автомобиль (а точнее, транспорт), подключенный ко всему позволит автомобилям не только транслировать информацию и передавать водителю (и другим машинам в самом широком смысле слова) важные, критические данные, но и позволит реализовать современные решения в медиа сервисах, безопасности, навигации, управлении контентом и т.д. Кроме этого, продолжат развиваться стандарты V2V (транспорт к транспорту), V2I (транспорт к инфраструктуре), и это опять же станет частью крупных отраслевых систем, а не только пользовательской историей. Учитывая, что сейчас а таких автомобильных сетях активно используется 4G/LTE, 5G очевидно ускорит эти процессы. Думаю, подключённые автомобили станут отраслевым стандартом в течение 5 лет.

Связь (проводная и беспроводная) уже сейчас стала фактором сращивания множества отраслей, дальше взаимопроникновение и созависимость будут только глубже: промышленность, образование, медицина, разработка ПО, строительство станут первыми отраслями, где процессы будут самыми заметными. Огромное значение в отрасли связи нарастят языковые технологии и технологии обработки NLP (Natural Language Processing) причём запрос на такой анализ будет исходить как от науки, так и от коммерции. Кстати, именно на стыке NLP и систем коммуникации искусственный интеллект может стать по-настоящему приближенным к естественному.

А теперь о неожиданном. В 2013-2015 годах по российскому телекому гремела идея виртуальных операторов связи MVNO (Mobile Virtual Network Operator операторы, которые имеют операционную деятельность и биллинг, но работают на чужих инженерных мощностях и наземной инфраструктуре) были какие-то частные решения, туристические операторы, где-то до сих пор можно увидеть пакеты подключения Ашана. Но потом идея в России заглохла (в Европе они живут и процветают) и MVNO осталось не так много, а на слуху так, пожалуй, одна Yota. Между тем после открытия границ и окончания (или приемлемого ослабления) пандемии идеи MVNO могут резко ожить, послужить на благо туристической отрасли и получить хороший ARPU. Но для этого желательно, а то и обязательно одно условие: нужно продумать и закрепить возможности безопасного дистанционного оформления электронных SIM-карт. Это способно неплохо встряхнуть рынок и смахнуть пыль с сильно подорожавших тарифных планов сотовых операторов.

Туманные перспективы

Дополненная реальность, на мой взгляд, самая спорная сторона телекоммуникаций будущего. Она отлично вписывается в игровую индустрию, в медицину и профессиональное обучение, но для широкого потребителя по-прежнему остаётся игрушкой на покачаться в очках и погонять покемонов. На то есть несколько важных причин от стоимости разработки до доступности и качества оборудования, но самый главный барьер физиология и психология человека, в сфере безопасности и атравматичности использования дополненной реальности перед разработчиками и инженерами стоит много задач.

Ещё одна идея с сомнительным будущим спутниковая связь как массовый продукт (Starlink от SpaceX, проекты Amazon, Facebook). Перспектива скоростного и доступного Интернета в любой точке земного шара выглядит перспективно и привлекательно как с точки зрения обычного пользователя, так и с точки зрения конвергентных систем. Но у нас нет единого мира, без экономических, политических, технологических и идеологических барьеров и границ а значит, паутины поверх паутины не выйдет, будут те же сегментированные, лоскутные части космической связи и, подозреваю, местами не особо доступные. Но мечта о едином надрегуляторном пространстве связи всего мира пожалуй, даже красивее мечты о покорении других планет.

Приятная и неприятная побочка будущего

Такие направления развития будут иметь несколько важных особенностях, о которых нужно знать, если вы хотите присоединиться к рядам тех, кто 7 мая поднимает тост за связь без брака и коннект без единого разрыва. Итак.

  • Самая приятная побочка любых систем связи это big data. Ни один банк не может похвастаться таким объёмом и такой полнотой данных, какая доступна операторам связи. С помощью анализа и обработки всего массива информации можно не только рассылать рекламу (а без этого, увы, не обойдётся), но и совершенствовать сервис и обслуживание абонентов, проводить научные исследования, масштабировать сети, выстраивая оптимальную и самую экономичную инфраструктуру. Кстати, запрос на хорошие аналитические системы и платформы также существует.

  • Ещё одна хорошая и интересная история это модульность систем связи, конвергенция и части систем внутри единых инфраструктур. Внутри таких систем будет остро стоять вопрос проектирования электроснабжения, управления теплом, работы с физической инфраструктурой, проблем эксплуатации. Для таких систем будут востребованы сильные инженеры в этих направлениях, которые смогут проектировать и поддерживать как кластеры в целом, так автономные, дискретные сети внутри него. Это очень сложная задачка, которая после повсеместного проникновения 5G станет с тремя звёздочками.

  • Неприятная побочка довольно очевидна: с каждой новой вехой развития связи будет расти объём проблем кибербезопасности, а также физической и информационной безопасности. Нужно будет проектировать системы безопасности для обеспечения конфиденциальности, отказоустойчивости, надёжности ПО и энергетических систем. Злоумышленники не дремлют и осваивают технологии едва ли не быстрее крупных компаний, а значит, вероятность угроз слишком высока.

А ведь ещё есть огромный сегмент LPWAN (беспроводных дистанционных сетей с низким энергопотреблением), программно-определяемое радио (SDR), сети с обратным рассеянием с ультранизким энергопотреблением - направления, которые активно развиваются и уже используются. И это новые формы существования связи и радио, которые очевидно будут более гибкими, дешёвыми и менее материальными. Есть фантастический мир виртуальных копий физического мира и интернета чувств и нейроинтерфейсов прогнозируемое экспертами будущее, которое кажется научной фантастикой. Но ведь и связь 5G какое-то время назад казалась какой-то очень туманной перспективой (а сейчас уже здесь), а Bluetooth был средством передачи музыки у студентов и связью для гарнитуры в ухе (а сейчас одна из основных и самых надёжных технологий обмена информацией между устройствами).

Часть технологий будет отмирать, но только после того как они полностью исчерпают себя, часть станет несамостоятельной и будет обслуживать системы нового поколения. Для сферы радио и связи это естественный процесс. Но главное, что за технологиями всегда будут стоять умные, талантливые люди, инженеры, учёные, программисты экспериментаторы и любители. На них всё и держится.

73, друзья.

Ваш РегионСофт

P.S.: пользуясь, случаем, дадим ссылку на интересную статью, которой очень гордимся, "Связь - нервы войны". Кстати, его id = 500000 ;-)

Подробнее..

Новый физтех дайджест наших исследований

08.05.2021 20:10:07 | Автор: admin

Представляем новую [первая] подборку избранных публикаций о научных работах и достижениях представителей Нового физтеха ИТМО. Обсуждаем, что к чему, и делимся информацией о проектах, которыми занимаются наши специалисты и научные сотрудники.

Фотография: Dyu - Ha. Источник: Unsplash.comФотография: Dyu - Ha. Источник: Unsplash.com

Как квазичастицы помогут в разработке квантовой памяти

Новый физтех Indicator

Делимся рассказом о том, каким образом можно корректировать свойства вещества с помощью светового воздействия. Речь идет о процессах, приводящих к формированию поляритона частицы, энергия которой зависит от силы взаимодействия света с веществом. В низкоэнергетическом состоянии она обладает как качествами материи, так и света, а магнитными свойствами и проводимостью вещества можно управлять.

Этим проектом занимается Иван Иорш, профессор Нового физтеха ИТМО. Ранее он вместе с коллегами показал, как можно работать с неклассическими состояниями света: получать одиночные и парные фотоны, добиваться эффекта квантованного движения атомов фактически условий для записи информации в формате квантовой памяти.


За счет чего квазикристалл сумел задержать свет

Новый физтех N+1 Advanced Optical Materials

Михаил Рыбин, доктор науки доцент Нового физтеха ИТМО, простыми словами объясняет суть проделанной работы. Она сконцентрирована в области полупроводников и направлена на расширение знаний о природе, свойствах и законах распространения частиц в их кристаллических структурах. Речь идет о разработке так называемых ловушек для света, которые могли бы открыть новые возможности для проектирования лазеров и сенсоров.

Михаил объясняет, почему для этой задачи квазикристаллы подходят в наибольшей степени. Одна из его научных работ по этой теме была опубликована еще в 2017-м, а в прошлом году ему и его коллегам удалось синтезировать образец сложноструктурированного квазикристалла и подтвердить его оптические свойства способность к локализации света.


Зачем управлять цветом лазера с помощью наночастиц

Новый физтех Коммерсантъ Applied Physics Letters

Продолжение истории с разработанными ранее нанобампами массивами наноструктур, генерируемыми с помощью импульсного лазерного излучения. На этот раз ученые из Дальневосточного федерального университета и Университета ИТМО оптимизировали форм-фактор таких наночастиц для того, чтобы длиной волны отраженного света можно было управлять и проектировать новые сенсоры и высокоточные газоанализаторы.

Артем Черепахин, являющийся инженером ДВФУ и выпускником Университета ИТМО, вместе с Сергеем Макаровым, возглавляющим нашу лабораторию гибридной нанофотоники и оптоэлектроники, делятся результатами и объясняют перспективы научной работы.



Как пролить свет под правильным углом

Новый физтех Коммерсантъ ACS Photonics

Олег Ермаков и Андрей Богданов, представляющие Новый физтех, вместе с коллегами из Германии и Австралии предложили новый подход к захвату света оптоволокном. Их решение позволяет работать без существенных потерь даже при углах падения, превышающих семьдесят градусов. Этих результатов они добились за счет использования диэлектрической наноструктуры на торце оптоволокна. Она выступает и в роли кольцевой дифракционной решетки, направляющей свет вдоль оси оптики вне зависимости от исходного угла падения.

Разработка еще требует оптимизации. Этим команда уже занимается, плюс тестирует производство с помощью технологии нанопечатной литографии. Дальнейшее развитие может включать применение технологии в аппаратуре для эндоскопии и лапароскопии, квантовых коммуникациях и, конечно же, при проектировании датчиков для оптоволокна.


Как добиться максимальной добротности

Новый физтех Коммерсантъ

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


Другие материалы Нового физтеха на Хабре:


Подробнее..

Перевод Когда не было спутниковой связи SOS-антенны, запускаемые воздушными змеями

15.05.2021 02:12:28 | Автор: admin

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

Речь сейчас о военных США и Великобритании, которые взяли идею у немцев (прим. перев. если в то время у СССР было нечто подобное напишите в комментариях, пожалуйста). Несмотря на то, что этим системам чуть не век, мы все же можем видеть, как разработчики того времени старались решать возникающие проблемы. Как, например, сидя в той же лодке, можно развернуть антенную длиной в 90 метров? Ответ при помощи воздушного змея. Ну или шара с водородом.

Зачем такая длинная антенна?


В те дни аварийной частотой была радиочастота в 500 кГц. Это решение позволяло размещать простые передатчики с искровым разрядником на спасательных шлюпках даже в 1920-х годах. Но вот длина волны такого диапазона составляла около 600 метров. Четвертьволновая антенна, способная работать с таким диапазонам, имела длину 150 метров.


После гибели Титаника аварийная частота в 500 кГц стала стандартом. Даже после того, как вышли из массового употребления искровые разрядники их продолжили оставлять в инвентаре спасательных шлюпок просто в силу их простейшей конструкции. К началу войны именно частота 500 кГц стала аварийной.

Немного истории



Немецкая система NS2 (или NSG2) представляла собой двухламповый передатчик на 500 кГц с кварцевым генератором. Уже после начала Второй мировой войны англичанам удалось захватить один из них. Изучив NS2, военные Великобритании создали собственный передатчик, который получил название Т-1333. Американцы получили второй экземпляр той же системы примерно в то же время. Они разработали на базе немецкого устройства SCR-578 и его потомка BC-778. И вот как раз у 578-й модели был специальный металлический каркас для подготовки коробчатого воздушного змея. Более того, американцы добавили еще и специальный воздушный шар, с генератором водорода для него.


Коробчатый воздушный змей, используемый немецкими военными для подъема антенны на необходимую высоту
Генератор позволял получить водород прямо из воды об этом чуть ниже. Водородом наполняли шар, тот поднимался и за собой тянул антенну. Радиус действия передатчика мощностью 4,8W с антенной длиной 90 метров составлял 320 км. Для того, чтобы передатчик работал хоть как-то, достаточно было антенны длиной в 53 метра.


Змей и шар были единственным возможным решением для подъема антенны на высоту почти в 100 метров. Антенна наматывалась на катушку, она же служила инструментом для управления воздушным змеем. Все было отлично продумано очевидно, что разработчики этой системы неоднократно ее испытывали, представляя себе, в каких условиях оказывается человек в покачивающейся на волнах шлюпке. Форма корпуса радиопередатчиков была такой, чтобы девайс можно было зажать между коленями во время работы она напоминала песочные часы. У системы благодаря такой форме было даже собственное имя Девушка Гибсона. Более того, устройства были водонепроницаемыми и держались на воде, а не тонули при попадании в нее.

Варианты систем были разными. Так, NSG2 выдавал 8 Вт с помощью кварцевого генератора. А вот версия от военных США не имела кристалла и, соответственно, была маломощной. Британская модель T1333 имела специальную сигнальную ракету в комплекте для первоначального запуска змея. Она поднималась на высоту примерно в 60-70 метров, где раскладывался змей. Воздушного шара у этой модели не было.

Весило все это удовольствие немало около 15 кг. Но, как и говорилось выше, радиопередатчики не тонули. В комплекте у передатчиков США была сигнальная лампа, два воздушных шара, два водородных генератора, два комплекта антенн и парашют, чтобы все это можно было сбросить с самолета.


Надежно, как швейцарские часы


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

Кстати, генератор работал не на электролизе. В нем был гидрид лития, который реагировал с водой с выделением водорода в качестве продукта химической реакции. Система также передавала SOS в автоматическом режиме, причем, естественно, без какой-либо электроники или микроконтроллеров, до изобретения которых было еще много десятков лет.

Конструкция получилась настолько надежной и прочной, что военные и гражданские самолеты оснащались SCR-578 или его прямым потомком AN / CRT-3 вплоть до 1970-х годов. Новая модель умела работать с частотой в 8364 кГц.

Все для пользователя


Радиосистема, которая описывается в этой статье, была практически идеальной в ней было продумано все, до мелочей. К сожалению, неизвестно, кто именно из немецких инженеров разработал оригинальный NS2, но это был человек или команда, разбиравшиеся в практических вопросах использования подобных систем. Форма устройства позволяет без проблем удерживать его на шаткой шлюпке, рукоятка генератора позволяет получать энергию, радиосистема действует безукоризненна. Интересно, какие еще были варианты для подъема антенны, прежде, чем разработчики остановились на комбинации воздушного шара и воздушного змея. Кроме того, интересно, почему британские военные решили остановиться на сигнальной ракете и ракетнице.

Можно сказать, что NS2 был одной из наиболее продуманных систем своего времени. К слову, предтеча NS2, система которая называлась NS1, оснащалась неудобной антенной, которой предполагалось пользоваться без вспомогательных инструментов. Кроме того, она получала энергию от батарей. Скорее всего, разработчики NS1 получили отзывы о своей системе и после этого смогли спроектировать NS2, которая является примером практичности и в наше время.

Подробнее..

Как обстоят дела со строительством новых широкополосных линий связи в развитых странах

15.05.2021 18:08:01 | Автор: admin

В марте президент США объявил о планах предоставить высокоскоростной доступ в сеть как можно большему числу граждан и сделать тарифную сетку максимально прозрачной. Реакцию провайдеров и общественности мы обсуждали в предыдущем материале, а сегодня поговорим о том, как обстоят дела с аналогичными инициативами в других развитых странах.

Фотография: Mika Baumeister. Источник: Unsplash.comФотография: Mika Baumeister. Источник: Unsplash.com

В каждый дом

Еще в 2010 году правительство Великобритании инициировало масштабную программу по обеспечению граждан широкополосным доступом в сеть. По проекту провайдеры уже должны во всю приближаться к завершению проекта протянуть оптоволоконные кабели в каждый дом планировали к 2025 году. Однако сегодня ситуация несколько иная существенного прогресса нет, и это объяснимо. Еще на этапе обсуждения инициативу встретили без особого энтузиазма строительство сетевой инфраструктуры в отдаленных регионах требовало серьезных инвестиций, поэтому телекомы как и любой другой адекватный бизнес с настороженностью восприняли предложения, подразумевающие такие траты. Да и десять лет назад было весьма затруднительно спрогнозировать, когда масштабные вложения можно будет отбить.

В марте в ситуацию вмешался регулятор. Агентство Ofcom, отвечающее за работу телекомов, ввело послабления, которые должны подстегнуть конкуренцию среди интернет-провайдеров. В частности, компании Openreach, контролирующей основные интернет-сети Британии, разрешили самостоятельно определять стоимость использования её оптики. При этом оператора обязали снизить плату для других провайдеров за работу с медной инфраструктурой. Движение в сторону более свободного подхода к ведению дел пришлось участникам рынка по вкусу, и они пообещали, что продолжат строительство инфраструктуры с новыми силами.

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

Право каждого

В конце апреля Бундестаг впервые вынес на уровень законопроекта право на быстрый доступ в интернет. До настоящего момента гарантии в этом отношении предусматривали лишь канал в 56 Кбит/с. Однако пока не ясно, что законодатели понимают под быстрым интернетом, так как в документе не указаны новые требования. Их предстоит определить Федеральному сетевому агентству по предварительным оценкам, нижняя планка составит 20 Мбит/с.

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

Фотография: Ildefonso Polo. Источник: Unsplash.comФотография: Ildefonso Polo. Источник: Unsplash.com

Решение Бундестага раскритиковали и представители оппозиционных партий. По их мнению, предполагаемый порог в 20 Мбит/с на домохозяйство недостаточен. В Финляндии аналогичный закон действует с 2010 года там правительство и провайдеры ориентируются на 100 Мбит/с. Возможно, немецким регуляторам еще предстоит проанализировать этот опыт.

Качество цифровой жизни

Развитием широкополосного интернета занимаются и в Швеции. Согласно плану, утвержденному правительством (стр.6), к 2025-му 98% граждан должны иметь гигабитный доступ в сеть. Для оставшихся двух процентов пропускная способность не должна падать ниже 30 Мбит/с.

В конце 2020-го Шведское управление связи и телекоммуникаций отобрало 44 инфраструктурных проекта, и готовится выделить 12 млн долларов субсидий на развитие широкополосных сетей в регионах. Общие расходы на развитие высокоскоростной связи, запланированные только на этот год, там оценивают в 159 млн долларов.

Такая динамика модернизации сетей не является для этой страны чем-то экстраординарным. Швеция занимает второе место в мире по цифровому качеству жизни (Digital Quality of Life Index), уступая только Дании. Индекс DQL включает в себя уровень цифровых государственных услуг, их степень защищенности, безопасность персональных данных, а также качество и доступность широкополосного интернета. Возможно, запуск новых высокоскоростных сетей позволит стране выйти на первое место в мире в этом рейтинге.


Что почитать по теме в блоге у нас на сайте:


Подробнее..

Интеграция Skype For Business с IP-АТС в крупной нефтехимической компании

18.05.2021 10:20:20 | Автор: admin
Использование программных продуктов для звонков, чатов и видеоконференций стало неотъемлемой частью работы практически любой компании. Всё чаще возникает ситуация, когда для связи между сотрудниками используются параллельно две системы IP-АТС и так называемая система объединенных коммуникаций (Skype for Business, Teams и другие). Возникает путаница: пользователям не всегда понятно, какой тип связи предпочтительнее использовать, где лучше организовать конференцию, куда приглашать внешних участников на встречу. В статье я расскажу об успешной интеграции телефонии и системы объединенных коммуникаций, реализованной ЛАНИТ-Интеграцией в крупной нефтехимической компании. И хотя кейс не является пошаговой инструкцией, уверен, он будет многим полезен.

Источник

О проекте


К нам за помощью обратилась крупная нефтехимическая компания с большим количеством офисов по всей стране. В офисах используются IP-АТС различных производителей, в основном Cisco и Avaya, при этом часть задач помогает решать Skype For Business (SFB). Нам предстояло провести интеграцию системы телефонной связи компании со Skype For Business так, чтобы пользователи SfB могли осуществлять вызовы на стационарные телефоны и наоборот. Отказываться от одного из каналов связи и целиком переходить на другой заказчик не планировал. Требовалось настроить работу системы таким образом, чтобы на каждый входящий звонок пользователь имел возможность ответить как ему удобнее с телефона или со SfB. Разумеется, решение должно быть отказоустойчивым.

Для тех, кто не знаком близко с работой SIP-телефонии, кратко опишу ее базовые принципы. При звонке между клиентами возникает передача двух видов сетевого трафика: трафика сигнализации (SIP Session Initiation Protocol) и медиатрафика (RTP Real-time Transport Protocol и SRTP Secure Real-time Transport Protocol). По SIP передается информация, необходимая для начала и завершения сеанса разговора. В пакетах SIP присутствуют данные, например, о номерах телефонов или информация, когда абонент ответил на вызов, когда завершил его. Медиатрафик включает в себя непосредственно звук (голос), сжатый кодеками.

При настройке интеграции SfB c IP-АТС есть два возможных сценария:

  • настройка SIP-транков (каналов связи между двумя системами) напрямую между IP-АТС и SfB;
  • настройка взаимодействия между системами через SBC (Session Border Controller).

В нашем проекте используется второй сценарий по нескольким причинам.

  1. На площадках заказчика большое количество IP-АТС различных производителей с различными версиями прошивок. Не со всеми из них была техническая возможность установки прямого SIP-транка со SfB.
  2. Решение должно быть типовым на всех площадках.
  3. Одно из требований минимизация изменений в конфигурациях IP-АТС.

Планирование


В качестве SBC мы использовали решение от компании AudioCodes. В линейке решений этого производителя есть AudioCodes Mediant Virtual Edition (VE). В нашем случае оно подходило лучше остальных, так как на площадках уже имелись хосты виртуализации с достаточным количеством свободных мощностей. Если на каждой площадке развернуть по две виртуальные машины и разместить их на разных хостах, то мы получим отказоустойчивое решение на уровне сервиса это нам и было нужно. Такое решение избавляло от необходимости приобретения и установки дополнительного оборудования.

В итоге схема построения SIP-транков и размещения SBC была такой:


Размещение SBC на каждой площадке обусловлено несколькими причинами:

  • в дальнейшем возможно использование SBC для интеграции с местными операторами связи;
  • сбой на одной площадке никак не должен отражаться на работе остальных;
  • администраторы площадки должны полностью управлять своими SBC, не влияя на остальные площадки.

Схема была согласована, и мы приступили к развертыванию стенда и тестированию.

Тестирование


При тестировании нам требовалось:

  • найти рабочую конфигурацию оборудования для построения SIP-транка с каждым типом и версией прошивки IP-АТС заказчика;
  • проверить работу требуемых сценариев звонков с каждым типом и версией прошивки IP-АТС;
  • описать требуемые изменения.

Была развернута тестовая инфраструктура cо Skype for Business, несколько IP-АТС нужных версий и пользовательские станции. Мы приступили к конфигурированию. Прямые звонки между клиентами SfB и каждой IP-АТС заработали без проблем после настройки маршрутизации звонков. Тонкие моменты обнаружили при тестировании форкинга звонка (когда при звонке на стационарный телефон у пользователя звонок приходит и на телефон, и в клиент SfB). Для лучшего понимания форкинга звонка приведу пример. У нас есть пользователь 1 с номером телефона 201 и пользователь 2, у которого есть телефон с номером 202. Есть учётная запись в Skype For Business с номером 5202. Пользователь 1 решил позвонить пользователю 2 и набрал на телефоне номер 202. Далее звонок должен идти следующим образом.

  1. IP-АТС ищет абонента с номером 202 и находит его. В настройках этого абонента стоит одновременный звонок на номер 5202.
  2. Звонок уходит на телефон 202 и срабатывает маршрутизация звонка в SIP-транк с SBC.
  3. SBC направляет звонок в SfB.
  4. SfB находит пользователь с номером 5202 и направляет звонок на клиент SfB этого пользователя.

В итоге у пользователя 2 звонит и телефон, и SfB, и он сам решает где ему удобнее ответить на вызов.

Схема звонка с форкингом:


Подводные камни


Есть четыре возможных сценария обработки входящего вызова:

  1. пользователь снимает трубку на телефоне;
  2. пользователь отвечает в SfB;
  3. пользователь нигде не снимает трубку и звонок сбрасывается по таймауту;
  4. звонящий кладёт трубку до того, как будет принят вызов или звонок сбросится по таймауту.

И тут появляются подводные камни. При тестировании обнаружилось, что поведение системы практически всегда не соответствует ожиданиям. Я бы хотел остановиться на каждом сценарии более подробно, описать проблемы и предложить варианты решения.

Пользователь снимает трубку на телефоне


Проблема: В SfB вызов может отмечаться как пропущенный в журнале вызовов. Почему так происходит? Дело в том, что при форкинге IP-АТС направляет звонок сразу на два номера: абоненту IP-АТС и в SIP-транк. И когда звонок снимается на телефоне абонента, IP-АТС отправляет SIP-запрос CANСEL в сторону SfB, как бы говоря, что звонить больше не надо.


IP-АТС может не вложить в запрос CANCEL информацию о том, что трубка снята в другом месте. В этом случает SfB думает, что это звонок, который сбросил сам звонящий, и помечает его как пропущенный, а это не является правдой. При детальном разборе логов звонков и изучении документации было найдено RFC, в котором описывается заголовок Reason для запросов CANCEL. Именно в этом заголовке должна содержаться информация о том, что звонок был принят в другом месте.

Ссылка на RFC: https://tools.ietf.org/html/rfc3326

Большая часть IP-АТС заказчика не поддерживала RFC 3326.

Решение: Выяснилось, что чаще всего в последних версиях прошивок IP-АТС включена поддержка RFC 3326. После обновления до последней версии проблема пропала.

Для тех же IP-АТС, в которых нет поддержки RFC 3326, найдено обходное решение: SBC Audiocodes позволяет модифицировать отправляемые SIPпакеты. В этом сценарии нам необходимо добавлять в запросы CANCEL заголовок с информацией о том, что звонок был принят в другом месте. В нашем случае для этого необходимо было в Audiocodes создать новый Message Manipulations, который добавляет заголовок Reason со значением'SIP;cause=200;text="Call completed elswhere";ms-acceptedby="sip:OnPBX@domain.local"' и привязать это правило на соответствующую IP Group.


Пользователь отвечает в SfB


В этом сценарии проблемы с отображением звонка как пропущенного не возникло.

Пользователь нигде не снимает трубку звонок сбрасывается по таймауту


Проблема: После сброса звонка по таймауту клиент SfB может продолжать звонить, хотя сессия звонящего с IP-АТС уже разорвана.

Это происходит потому, что при срабатывании таймаута на некоторых IP-АТС, они не отправляют никакую информацию в сторону SfB, и SfB не знает, что сессия уже завершена.

Решение: Изменить настройки так, чтобы время таймаута SfB было меньше, чем время таймаута на IP-АТС.В случае, если звонок завершается по таймауту со стороны SfB, звонок завершается и на телефоне. Информация о пропущенном звонке везде отображается корректно.

Звонящий кладёт трубку до того, как будет принят вызов или звонок сбросится по таймауту.


Проблема: Если звонящий положил трубку до ответа, и если звонок принят на телефоне IP-АТС без поддержки RFC 3326, то в сторону SfB отправляются абсолютно одинаковые SIP-запросы CANCEL. SBC обрабатывает эти запросы по правилу, которое было создано ранее, и на SfB звонок не появляется как пропущенный.

Решение: Использование IP-АТС с поддержкой RFC 3326.

В нашем проекте заказчик принял решение всё же временно использовать добавление заголовка Reason и в дальнейшем отказаться от использования IP-АТС без RFC 3326.

В итоге


Детальное предварительное тестирование решения со всеми видами IP-АТС позволило заранее узнать о большинстве тонких моментов. Внедрение прошло относительно быстро один-два дня на каждую площадку.

Хотя в статье был описан один кейс интеграции Skype For Business с телефонией, принципы и решения подходят для любых подобных интеграций. Например, аналогичные решения мы успешно применяли в проектах интеграции телефонии с Microsoft Teams. Надеюсь, описанные в статье решения помогут сэкономить вам время при внедрении.
Подробнее..

RET-моторы антенн сотовой связи. Оптимизация в радость

29.05.2021 16:20:40 | Автор: admin

Одна из важнейших задач инженера по планированию сотовой связи является оптимизация существующей сети для увеличения пропускной способности и улучшения качества обслуживания. Это включает, в первую очередь, борьбу с шумом и помехами снижающими пропускную способность на секторных антеннах. Если работа приёмопередатчика в норме, КСВ в антенно-фидерном тракте не превышает допустимого значения, отсутствует пассивная интермодуляция, а шумы и помехи не исчезают, то может помочь смена электрического угла наклона антенны. А так как подобрать сразу нужное оптимальное значение угла наклона не всегда удаётся, приходится выставлять разные значения и на основе KPI и сбора статистики основных параметров радиосигнала, искать правильное значение. Это требует времени, да и к тому же регулярно отправлять специалиста на базовую станцию для смены угла довольно затратно. Это можно сделать и удалённо, если на антеннах установлены RET Remote Electrical Tilt.


Электрика и механика


Наклон антенны является важным действием, контролирующим фокус радиосвязи. Самый простой способ манипуляции с наклоном антенн это механический, когда антенна физически устанавливается под определённым углом к горизонтальной плоскости. Как правило, в зависимости от рельефа местности, антенны на базовых станциях по умолчанию устанавливаются под углом в 90 градусов (значение угла наклона будет считаться равным 0) по отношению к земле. Механическое управление проще и дешевле реализовать, но это часто приводит к искажению формы диаграммы направленности из-за влияния конструктивных частей инфраструктуры.


Пример электрических углов, выставленных вручную. 1 стандарт GSM900, 2 DCS1800, 3 шток управления электрического угла

В сотовых сетях механический наклон почти всегда фиксирован, тогда как электрический угол наклона периодически меняется. Им можно управлять с помощью дистанционных механизмов и датчиков положения, что существенно снижает эксплуатационные расходы. Удаленный электрический угол наклона обозначается аббревиатурой RET и является частью открытой спецификации Antenna Interface Standards Group интерфейса для управления антенными устройствами.

В антеннах сотовой связи наклон электрического угла предпочтителен, чем механический, поскольку не вызывает искажения формы диаграммы направленности в горизонтальной плоскости и коэффициента усиления антенны, что позволяет обеспечивать заданную концентрацию мощности излучения по периметру зоны покрытия. Использование чисто электрического наклона без механического является привлекательным выбором также и по эстетическим причинам, когда используются встроенные антенны, антенны замаскированные под деревья или как часть конструкции здания в общественных местах и т.д.


RET смонтированный дополнительно


RET встроенный изготовителем в саму антенну

Немного об устройстве антенн


Антенны выпускаются, как с фиксированным электрическим углом наклона, так и с возможностью его регулирования на месте или дистанционно. Для дистанционного управления, как уже говорилось, используются специальные модули (RET), подключаемые ко встроенным фазовращателям. Управление модулями осуществляется с блока управления, располагаемого на БС (редко) или от общей системы управления сетью, что позволяет динамически менять значение угла наклона в зависимости от нагрузки на конкретный сектор базовой станции.

Современный антенный блок представляет собой группу излучающих элементов антенной решетки. Расстояние между элементами решетки выбирается таким образом, чтобы получить наименьший уровень боковых лепестков диаграммы направленности. Наиболее часто встречаются длины панельных антенн от 0,7 до 2,6 метров (для многодиапазонных антенных панелей). Коэффициент усиления варьируется от 12 до 20 dBi.


Диаграмма направленности

Принципиальное отличие антенн при организации системы регулировки электрического наклона ДН состоит в конструкции регулируемого фазовращателя. Одни производители используют линейные устройства сдвига фазы, другие поворотные.



Блок-схема секторной антенны

Например, в антеннах Powerwave регулятор представляет собой параллельные полосковые линии на единой печатной плате, над которыми перемещается пластина из диэлектрика. При перемещении пластины изменяется диэлектрическая проницаемость линии, и, следовательно, скорость распространения волны в ней. При введении диэлектрика в линию скорость волны замедляется, что приводит к запаздыванию фазы сигнала и наоборот. Шток управления жёстко соединён с пластиной, т.к. линейное перемещение пластины из диэлектрика плавно изменяет фазу питания элементов антенны.


В антеннах Andrew используется подобная система, однако устройство состоит из отдельных полосковых линий, рассредоточенных по корпусу антенны, приводимых в действие системой рычагов.



Поворотное устройство изменения фазы антенны Kathrein

В конструкции дипольных панельных антенн часто встречаются поворотные устройства изменения фазы (например, в антеннах Kathrein). Полный диапазон регулировки угла электрического наклона ДН антенны соответствует углу поворота фазовращателя примерно на 90. Для растяжения шкалы регулировки, используется сложный механический привод с системой рычагов (и даже с червячной передачей). Это усложняет конструкцию антенны, снижает механическую надёжность привода, а главное, точность установки электрического угла наклона ДН антенны.


Механический привод устройства изменения фазы антенны Kathrein

AISG


RET-контроллер отправляет команды на моторизованный привод антенны, который изменяет электрический угол наклона, регулируя фазовращатель. Различные устройства системы RET подключены к контроллеру с помощью кабелей управления. Несколько приводов могут быть объединены либо кабелями управления с их последовательным соединением, либо с помощью распределительных коробок. К базовой станции система RET подключается либо через единственный кабель управления, либо по линии передачи RF через умные тройники AISG. Все выпускающиеся передатчики (RRU/RSU) сотовой связи, которые и являются контроллерами RET, имеют AISG-порта для подключения RET-моторов.


Мониторинг RET

Кабели управления AISG подают данные и питание от контроллера к составным частям. Длина кабелей варьируется от 0,50 м до 100 м, каждый кабель заканчивается разъемами типа папа и мама.


Привод (actuator) RET


AISG-кабели

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

Но RET не единственное, чем может похвастаться стандарт AISG. Стандарт AISG 2.0 был выпущен более 10 лет назад. За это время конструкция базовых станций и устройство антенн на площадке стали более сложными. Появилась возможность для управления и использования многодиапазонной многолинейной антенной системы для нескольких базовых станций одного или разных операторов. Есть возможность менять не только электрический угол наклона, но и менять дистанционно механический угол, а также азимут направленности антенн.
В ноябре 2018 года официально был выпущен стандарт AISG 3.0. Версия AISG 3.0 также включает функции, которые уже существовали в AISG v2.0, но и расширения типа RAE (eAntenna), GLS (датчик географического местоположения) и ASD (устройство датчика выравнивания).



На правах рекламы


Наши эпичные серверы прекрасно подойдут для любых целей и представителям любых профессий. Создание VDS любой конфигурации в течение минуты, в том числе серверов для хранения большого объёма данных до 4000 ГБ.

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Синхронный АМ приёмник Полякова

01.06.2021 12:20:22 | Автор: admin

Владимир Тимофеевич Поляков (RA3AAE) широко известен в нашей стране как разработчик любительской радиоэлектроники. Его конструкции всегда отличались простотой и хорошей повторяемостью. Ещё в них всегда присутствовала какая-то сумасшедшинка.

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

Речь идёт о синхронном АМ приёмнике, схема которого была опубликована в журнале Радио 8 за 1984 год.

Ничего не понимаю



При взгляде на схему приёмника в глаза сразу бросались три КМОП микросхемы: К176ТМ2, К176ЛЕ5 и К176КТ1. Причём, К176КТ1 была включена между усилителем радиочастоты (УРЧ) и усилителем звуковой частоты (УЗЧ). Т.е. эта микросхема (цифровая) в этой схеме играла роль детектора в аналоговом тракте.

Описание работы схемы ясности не добавляло: четвертинки К176КТ1 там именовались ключами балансного смесителя. Два нижних ключа образовывали фазовый детектор, выходы двух верхних ключей назывались выходом синхронного детектора.

С двумя другими цифровыми микросхемами было понятней: К176ТМ2 делила частоту гетеродина на четыре, а К176ЛЕ5 формировала сигналы со скважностью 4. Это был счётчик с дешифратором.

Дешифратор управлял ключами. С выхода нижней по схеме половинки микросхемы операционного усилителя (ОУ) К157УД2 на гетеродин подавалось напряжение подстройки. Это было понятно, но зачем нужно поддерживать фазовый сдвиг 90 между входным сигналом и сигналом гетеродина, в голове старшеклассника не укладывалось.

Конструкция была отложена, но не забыта.

и вот опять


Первый раз к конструкции синхронного АМ приёмника я вернулся при изучении материалов Радиоежегодника за 1988 год, где В.Т. Поляков опубликовал статью Гетеродинный приём.

Часть статьи касалась синхронного приёма АМ сигналов. В частности, давалась структурная схема синхронного приёмника и описание его работы:


Синхронный прием АМ сигналов возможен при установке второго смесителя и ВЧ фазовращателя. Гетеродинные напряжения на оба смесителя U1 и U2 подаются со сдвигом фазы 90 градусов. Квадратурные сигналы ЗЧ фильтруются ФНЧ Z2 и Z3, усиливаются (А1, А2), один из сигналов служит выходным, а другой используется в системе ФАПЧ с элементами Z4 и V1. Усилитель А2 здесь должен быть УПТ. С его выхода можно снять и переменное демодулированное напряжение при ФМ входного сигнала.


Начало же статьи изменило раз и навсегда моё представление о работе детекторов и смесителей на диодах. Дословно:
Увлечение сверхдлинными волнами [...] породило не только мощные электромашинные РЧ генераторы, но и гетеродинные приемники с синхронным механическим выпрямителем колесом Гольдшмидта. В них детектор [...] заменен механическими контактами, замыкаемыми при вращении колеса с частотой, близкой к частоте сигнала. При этом, если моменты замыкания контактов попадают на положительные полуволны сигнала, на выходе приемника выделяется положительная постоянная составляющая напряжения, если же на отрицательные то соответственно отрицательная.

Так происходит синхронное детектирование. Но строго синхронизировать частоты вращения вала генератора и колеса Гольдшмидта трудно, чаще всего они отличались, тогда в телефонах прослушивался тон биений, равный разности частот сигнала и коммутации контактов. Механический коммутатор был идеальным смесителем гетеродинного приемника, поскольку он вообще не детектировал сигнал, а лишь преобразовывал его по частоте.

Суть озарения: механические ключи-прерыватели в детекторах гетеродинных приёмников были в своё время заменены диодами. Диоды в современных схемах детекторов гетеродинных приёмников могут быть заменены электронными ключами, коммутируемыми с частотой принимаемого сигнала.

Таким образом и было узаконено в моих глазах применение микросхемы К176КТ1 в качестве синхронного детектора.

Как это работает


Сигнал гетеродина на транзисторе VT3 делится на четыре счётчиком Джонсона на двух D-триггерах из состава микросхемы DD1. На выходах дешифратора DD2 формируются сигналы с частотой приёма, коммутирующие ключи из состава микросхемы DD3.

Сигналы на выходе дешифратора имеют скважность 4 и сдвиг по фазе 0, 90, 180 и 270. Коммутируемые этими сигналами ключи с подключенными к их выходам конденсаторами C18, C22, C17 и C21 соответственно, образуют схему выборки-хранения, где каждый конденсатор сохраняет значение напряжения на входе синхронного детектора в момент размыкания своего ключа.


Пусть гетеродин при подаче половины напряжения питания на варикапы настроен точно на частоту, превышающую в четыре раза частоту несущей принимаемого сигнала. Сопротивление открытых ключей К176КТ1 равно нулю. Сопротивление закрытых ключей К176КТ1 равно бесконечности. Входное сопротивление ОУ равно бесконечности.

На диаграмме слева делённая на четыре частота гетеродина отстаёт по фазе от сигнала несущей на 90. На входах верхней по схеме половинки ОУ (синхронного детектора) присутствует примерно одинаковое напряжение. На входах нижней по схеме половинки ОУ (фазового детектора) присутствует разность напряжений (U90 U270), примерно равная размаху принимаемого сигнала.

На выходе фазового детектора формируется отличное от половины питающего напряжение, изменяющее частоту гетеродина. Это отклонение перестанет формироваться только при равенстве фаз делённой на четыре частоты гетеродина и сигнала несущей, когда на входах фазового детектора будет одинаковое напряжение.

Режим синхронной работы приёмника показан на правой диаграмме. На входах синхронного детектора присутствует разность напряжений (U0 U180), примерно равная размаху принимаемого сигнала. На входах фазового детектора присутствует примерно одинаковое напряжение.

В реальных условиях между частотами гетеродина и несущей частотой АМ сигнала постоянно будут возникать биения, обусловленные нестабильностью гетеродина и замираниями сигнала станции. При этом петля ФАПЧ будет постоянно подстраивать фазу гетеродина под фазу несущей, если частота биения этих частот не превышает полосу пропускания фильтра на элементах R10, C16, R11, C27.

На практике это чем-то напоминает переход регенеративного приёмника в режим автодина: при настройке на станцию возникает свист, тон которого тем ниже, чем ближе частота настройки к частоте несущей; при захвате сигнала станции свист пропадает.

Я где-то это уже видел


Второй раз к конструкции синхронного АМ приёмника я вернулся при погружении в тему SDR. В классических SDR-приёмниках часто применяется решение квадратурного детектора (QSD) по схеме Tayloe. Поиск по сочетанию Tayloe Detector приводит к патенту US6230000.

Патент US6230000 был получен 08.05.2001 года сотрудником Motorola Inc. Daniel Richard Tayloe по заявке, поданной 15.10.1998 года. Патент защищает аппаратное решение, принцип действия которого раскрывается иллюстрацией ниже:


Устройство служит для приёма однополосных сигналов с подавленной несущей (SSB). Математика работы этого решения описана в главе 3 Фазовый принцип формирования и приёма SSB сигналов книги В.Т. Полякова Трансиверы прямого преобразования, выпущенной в 1984 году.

Из иллюстрации видно, что Tayloe делает акцент на ключевом детекторе, который управляется сигналом задающего генератора с частотой, в четыре раза превышающей частоту принимаемого сигнала. Сигналы на выходе ключевого детектора имеют сдвиг по фазе 0, 90, 180 и 270. К выходам ключевого детектора подключены конденсаторы.

Подобное решение присутствует и в схеме балансного смесителя синхронного АМ приёмника Полякова. Разница в дальнейшей обработке сформированных сигналов.

В схеме Полякова квадратурный сигнал (Q, Baseband Quadrature) включен в цепь ФАПЧ, а из прямого сигнала (I, Baseband Inphase) сумматором на DA1.1 формируется демодулированный АМ сигнал. В схеме Tayloe сигналы I и Q поступают на фазовращатель (58) для формирования на выходе сумматора (60) демодулированного сигнала с верхней боковой полосой (ВБП, USB).

Нужно сделать дополнение, что в классических SDR-приёмниках схема детектора Tayloe заканчивается цепями I и Q, и дальнейшая обработка сигнала производится какими-либо внешними программными средствами.

Возвращаясь к схеме синхронного АМ приёмника Полякова необходимо отметить, что Владимиру Тимофеевичу удалось сделать на очень несовершенной элементной базе элегантное аппаратное решение не менее элегантной математической модели. Подобные решения на более совершенных компонентах применяются во всём мире по сей день.



Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Зачем британскому провайдеру полое оптоволокно

06.06.2021 16:09:40 | Автор: admin

Рассказываем, что это за технология и почему ей заинтересовался один из крупнейших провайдеров услуг связи в Великобритании.

Фотография: Chaitanya Tvs. Источник: Unsplash.comФотография: Chaitanya Tvs. Источник: Unsplash.com

Регион пониженных скоростей

Великобритания может похвастаться одним из самых медленных подключений в Европе. Согласно отчету, составленному организациями M-Lab, Code for Science and Society, исследовательской лабораторией Принстонского университета и Google, средний даунстрим по стране не превышает 38 Мбит/с. На первый взгляд, ситуация не выглядит проблемной, но только пока дело не доходит до анализа происходящего в отдельных уголках страны. Так, в деревушке Тримли-сен-Мартин скорость загрузки контента составляет менее 0,7 Мбит/с.

Британское правительство уже занимается решением этого вопроса. Власти инициировали программу, в рамках которой к 2025 году планируют протянуть оптоволокно в каждый дом. Чтобы стимулировать провайдеров, регулятор субсидировал развитие инфраструктуры, и в British Telecom (BT) решили начать тестировать полое оптоволокно (hollowcore fiber).

Что такое полое оптоволокно

В отличие от обычного оптоволоконного кабеля в hollowcore fiber оптические волокна имеют пустую сердцевину. Технология известна еще с 90-х годов, и на протяжении тридцати лет разработками в этой сфере занималось большое количество крупных институтов и правительственных организаций, в том числе DARPA. По оценкам экспертов, сигнал по полому кабелю проходит каждый километр пути на 1,54 мс быстрее, чем по классической оптике.

Но за прошедшее время технология так и не смогла получить широкого распространения из-за одного ключевого недостатка сигнал в полом кабеле слишком быстро затухает. Но в конце прошлого года инженерам из британского стартапа Luminocity удалось преодолеть препятствие. Компания вывела на рынок одно из первых коммерческих решений на базе hollowcore fiber, и именно с ней заключил партнерское соглашение провайдер BT.

Перспективы

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

Фотография: Nadine Shaabana. Источник: Unsplash.comФотография: Nadine Shaabana. Источник: Unsplash.com

Компания также планирует протестировать hollowcore fiber на нишевых задачах например, для квантового распределения ключей в криптографии.

Кто еще работает этой технологией

Кроме британского телекома, полые оптоволоконные кабели тестируют компании из сферы HFT-трейдинга. Для них даже несколько миллисекунд могут означать разницу между прибылью и убытком. Например, в апреле этого года облачный провайдер Interxion, клиентами которого являются брокеры и финансовые организации, протянул полый канал до Лондонской фондовой биржи. В аналогичные проекты инвестировали американские трейдинговые компании.

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

В любом случае представленные кейсы являются нишевыми, и о массовом использовании hollowcore fiber говорить пока не приходится. Но можно ожидать, что в будущем появится больше проектов, реализующих полую технологию на практике в локальном масштабе.


Больше материалов о работе интернет-провайдеров в нашем блоге на сайте:

Подробнее..

SDR приёмник SoftRock Ensemble RX II

10.06.2021 16:07:13 | Автор: admin


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

В этой публикации я хочу рассказать об удивительной конструкции, которая изменила моё представление об аппаратуре для любительской радиосвязи и положила начало моему увлечению SDR (Software Defined Radio).

Речь идёт о SoftRock Ensemble RX II, который я использую в качестве контрольного радиоприёмника уже седьмой год.

На официальном сайте SoftRock Ensemble RX II продаётся или за $65 в виде набора, или за $85 собранным. При такой цене больше хочется говорить о достоинствах, чем о недостатках.

Особенностью приёмника является то, что он не работает автономно. Выход приёмника подключается к линейному входу звуковой карты компьютера. Синтезатор частоты приёмника управляется через USB.

Мной используется HF-версия SoftRock Ensemble RX II, которая работает в диапазоне частот 1,830 МГц. Этот диапазон разбит полосовыми фильтрами на четыре поддиапазона: 1,84 МГц; 48 МГц; 816 МГц и 1630 МГц.

Приёмник покупал набором. Впервые в жизни мотал катушки для диапазонных полосовых фильтров (ДПФ) на кольцевых сердечниках. Важным моментом было наличие сайта с подробной инструкцией по монтажу и наладке.

После правильной сборки конструкция заработала сразу. Когда же я увидел эфир на панорамном индикаторе, я понял, это любовь навеки!

Аппаратная часть


Как понятно из названия, SoftRock Ensemble RX II был не первым в линейке. Видимая простота схемотехнического решения приёмника отрабатывалась американским радиолюбителем Tony Parks (KB9YIG) годами.

Принцип действия малосигнального тракта проще объяснить на схеме радиоприёмника SoftRock Lite II младшего брата SoftRock Ensemble RX II. Схема взята из инструкции по монтажу и наладке:


Из схемы видно, что это гетеродинный приёмник с квадратурным детектором (QSD).

Схема источника питания (1 Power Supply) стандартная схема включения микросхемы линейного стабилизатора 78L05.

Принимаемый сигнал радиочастоты (РЧ) через диапазонный полосовой фильтр (ДПФ) C3, L1, C4 подаётся на первичную обмотку трансформатора T1. На выводе 2 трансформатора присутствует сигнал РЧ, синфазный принимаемому, а на выводе 4 противофазный. На среднюю точку вторичной обмотки T1 (выводы 3, 5) подаётся напряжение смещения, равное половине напряжения питания. Напряжение формируется делителем на резисторах R3, R4 и фильтруется конденсаторами C7, C14, C16. Смещение нужно для правильной работы ключей и операционных усилителей (ОУ).

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

Сигнал I (Inphase) формируется на конденсаторе C5 подачей на него через R1 напряжения с вывода 2 трансформатора T1 через открытый ключ 1B4 (фаза сигнала гетеродина 0), а также подачей через резистор R2 и открытый ключ 1B1 напряжения с вывода 4 трансформатора T1 (фаза 180).

Сигнал Q (Quadrature) формируется на конденсаторе C6 подачей на него через R1 напряжения с вывода 2 трансформатора T1 через открытый ключ 2B3 (фаза сигнала гетеродина 90), а также подачей через резистор R2 и открытый ключ 2B2 напряжения с вывода 4 трансформатора T1 (фаза 270).

Резисторы R1 и R2 нужны для выравнивания разницы сопротивления открытых ключей мультиплексора-демультиплексора FST3253.

Сигналы I, Q усиливаются инвертирующими усилителями на двух половинках U4 и подаются на линейный вход звуковой карты компьютера, где и производится дальнейшая обработка квадратурного сигнала.

От простого к сложному


SoftRock Lite II предназначен для приёма сигналов на участке какого-либо одного радиолюбительского диапазона. Параметры участка определяются частотой кварцевого резонатора X1 (см. 2 Local Oscillator) и частотой дискретизации звуковой карты.

При резонансной частоте кварца 28224 кГц и частоте дискретизации 96 кГц SoftRock Lite II будет принимать сигналы в диапазоне от 7008 до 7104 кГц. Диапазонный полосовой фильтр (C3, L1, C4), соответственно, должен иметь точно такую же полосу пропускания.

На рисунке ниже показан экран программы HDSDR. Выход приёмника подключен к линейному входу звуковой карты компьютера. Частота дискретизации звуковой карты 96 кГц. Центральная частота приёма 7056 кГц. На панорамном индикаторе безмятежное спокойствие, царящее на любительском диапазоне 40 м воскресным утром 6 июня 2021 года:


В отличие от SoftRock Lite II приёмник SoftRock Ensemble RX II имеет плавную настройку в диапазоне частот от 1800 кГц до 30 МГц, поэтому схема устройства дополнена синтезатором частоты Si570, управляемым через USB контроллером ATTiny85, и переключаемым четырёхдиапазонным ДПФ.

Схема ДПФ приёмника SoftRock Ensemble RX II взята из инструкции по монтажу и наладке:


ДПФ состоит из четырёх фильтров с полосой пропускания: 1,84 МГц; 48 МГц; 816 МГц и 1630 МГц. Фильтры переключаются сигналами SEL 0 и SEL 1 силами двух мультиплексоров-демультиплексоров FST3253 U8 и U9. Аттенюаторы R17, R18, R19 и R20, R21, R22 в цепях ДПФ Band 0 и Band 1 ослабляют на 14 dB входной сигнал на низкочастотных КВ-диапазонах, которые традиционно отличаются высоким уровнем помех.

Трансформатор T2 служит для гальванической развязки ДПФ и антенны. Первичная обмотка трансформатора T3 является входом QSD.

Схема управления и синтезатора частоты показана ниже:


Схема питается от разъема USB. Подключенный к шине USB микроконтроллер U1 управляет синтезатором частоты U3 по интерфейсу I2C. Выходной сигнал синтезатора через трансформатор T1 подаётся на вход счётчика Джонсона. В зависимости от частоты приёма микроконтроллер через оптроны U4 и U5 формирует сигналы SEL 0 и SEL 1 для переключения полосовых фильтров в ДПФ.

Особенностью схемы является то, что она гальванически развязана с малосигнальным трактом приёмника. Полигоны земель изолированы друг от друга, сигналы передаются через оптроны и трансформатор:


Это сделано, чтобы исключить перетоки по полигону земли между точкой подключения к разъему USB и точкой подключения к разъему звуковой карты.

Программная часть


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

Для управления приёмником и его конфигурирования применяется программа CFGSR, созданная радиолюбителем из Нидерландов F.W. Krom (PE0FKO):


Порядок установки программы управления и нужных для её работы драйверов подробно описан в инструкции по монтажу и наладке.

Для правильной работы схемы управления нужно выбрать тип устройства. В нашем случае это SoftRock Ensemble RX II LF/HF(HF):


Для работы с SoftRock Ensemble RX II обычно используется программа HDSDR. Для связи HDSDR с CFGSR служит библиотека ExtIO_Si570.dll, которую после установки конфигуратора надо скопировать из папки, куда установлен конфигуратор, в папку, куда установлена HDSDR.

Выход приёмника подключен к линейному входу звуковой карты компьютера. Запускаем HDSDR. Выбираем источник сигнала SoftRock Si570. Устанавливаем рабочую частоту дискретизации звуковой карты. Пытаемся принять сигналы точного времени, которые передаются на частоте 9996 кГц:


Как видно по панорамному индикатору, сигналы точного времени мы принимаем на частоте 9994,18 кГц. Это нужно исправить!

Калибровка частоты


Опорный кварцевый генератор находится внутри корпуса синтезатора Si570. Калибровка опорной частоты производится прямо из конфигуратора вводом частоты настройки на радиостанцию и её фактической частоты вещания:


После проведения процедуры калибровки мы начинаем принимать сигналы точного времени, как и положено, на частоте 9996 кГц:


Теперь наш маленький аппаратно-программный комплекс можно смело использовать в качестве контрольного радиоприёмника с калиброванной шкалой.

Unfinished Sympathy


До знакомства с SoftRock Ensemble RX II такие вещи как синтезатор частоты, панорамный индикатор и управление радиостанцией с помощью компьютера были для меня атрибутами профессиональной связной техники, которая стоит отнюдь не $85.

Сборка приёмника оказалась простой и приятной. Инструкции по монтажу и наладке написаны простым и понятным техническим английским языком.

Использование панорамного индикатора позволяет не только слышать, но и видеть, что происходит в эфире.

Мне очень нравится SDR. Надеюсь, и вам тоже.



Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Что почитать об инфраструктуре интернет-провайдеров, протоколах и разработке систем связи

19.06.2021 22:22:36 | Автор: admin

Продолжаем делиться материалами [раз, два] о работе операторов связи, их инструментарии и вопросах, с которыми они периодически сталкиваются. В этой подборке посты о причинах дефицита сетевого оборудования и HDD, альтернативах VPN/IPoE-сервера ACCEL-PPP и прокладке новых широкополосных линий связи в развитых странах.

Unsplash / Lars KienleUnsplash / Lars Kienle

Мировые практики и регулирование

ЖКХ и телеком зачем и почему им работать вместе. Разбираемся, насколько эффективен вид сотрудничества, когда застройщик и телеком-оператор внедряют в новостройке элементы умного дома. Обсуждаем опыт зарубежных стран Тайвани, Испании, Великобритании и объясняем, можно ли эффективно адаптировать его для российских реалий.

Как идет строительство новых широкополосных линий связи в развитых странах. Пост из нашего хабраблога об инициативах регуляторов в Великобритании, Германии и Швеции. Первые тянут оптоволокно в каждый дом, вторые закрепляют право на быстрый доступ в сеть, а третьи планируют обеспечить граждан гигабитным интернетом уже к 2025 году. Еще мы подготовили отдельный материал о том, как обстоят дела с broadband-подключениями в США там хотят пересмотреть сложную систему тарификации услуг интернет-связи.

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

Что мешает работе провайдеров

В чем причина дефицита HDD и на что он повлияет. За последние месяцы продажи жестких дисков выросли в полтора, а то и два раза, а цены на некоторые модели утроились. Всему виной рост спроса на стороне майнеров. В погоне за прибылью энтузиасты скупают не только потребительские накопители, но и коммерческие устройства, предназначенные для работы в дата-центрах. В статье обсудим, как интернет-провайдерам точно не стоит решать проблему с нехваткой систем хранения данных. Спойлер не нужно приобретать б/у-оборудование, так как можно получить уставшие носители, которые долгое время стояли в майнинг-фермах.

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

Что объединяет скалолазание и развитие подводных магистралей. Оказывается, что оборудование для прокладки трансатлантических кабелей, напоминает альпинистское спусковое устройство. В обоих случаях сердцевина верёвки и кабеля может скручиваться винтом, если она имеет плохое сцепление с оплеткой (или изоляцией). Такое повреждение приводит к необходимости отремонтировать или заменить линию. Группа ученых занялась решением этой проблемы специалисты подготовят научную базу и предложат варианты обнаружения кабелей с эффектом внутреннего кручения. В статье говорим о сложностях, с которыми предстоит столкнуться инженерам с точки зрения законов физики и регуляторов.

Сети и протоколы

На что пересесть после ACCEL-PPP. Это открытый VPN/IPoE-сервер для Linux. Он позволяет настроить доступ абонентов к интернету и отлично подходит для небольших провайдеров. Но с ростом клиентской базы его возможностей начинает не хватать. Приводим плюсы и минусы ряда альтернативных решений, которые можно найти на рынке.

CG-NAT зачем нужен и как начать пользоваться. Статья, где мы разбираем несколько решений для работы с CG-NAT, в том числе A10 Networks Thunder, F5 BIG-IP и Cisco ASR 9000. Также приводим небольшую инструкцию, как самостоятельно настроить NAT и управлять им.

Unsplash / Nathan DumlaoUnsplash / Nathan Dumlao

Почему шифрование DNS не всегда эффективно обсуждаем экспертные мнения. Обзорный материал о том, почему DoH и DoT не оказывают положительного влияния на защищенность подключений и даже могут вредить ей. В этом хабрапосте мы обсуждаем уязвимые места протоколов Server Name Indication (SNI) и ответы Online Certificate Status Protocol (OCSP) а также новые кибератаки, использующие DNS-over-HTTPS.

Как масштабировать BRAS ключевые требования. Рассказываем, как расширить возможности сетевой инфраструктуры в частности, говорим о вертикальном и горизонтальном масштабировании для схем L3 и L2 BRAS. В первом случае система взаимодействует с абонентами через промежуточные маршрутизаторы, а во втором напрямую. Кейсы разбираем с примерами на базе серверов Intel и AMD и схемами подключения.


Дополнительное чтение у нас в блоге и на Хабре:


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru