- Описание задачи
- Введение
- Allied hyperdry down
- Testing the connection
- Windows server 2021 r2 remote desktop – сертификаты
- Включаем поддержку кластеров – failover clustering
- Включаем сервера в ферму rd connection broker
- Демодуляция
- Использование сертификата let’s encrypt для remote desktop services
- Клиент wacs для установки tls сертификата let’s encrypt в iis на windows server
- Модуляция rds
- Настраиваем кластерные ресурсы
- Настраиваем сетевые параметры
- Ошибка сертификата при подключении по rdp: а как его обновить/заменить?
- Спальные мешки и палатки – cпальный мешок makalu ii
- Среда исполнения
- Стандарт ответственного производства пуха
- Устанавливаем роль remote desktop services
- Шаг 1. wfm-декодер
- Шаг 2. выделение пилот-тона и rds-сигнала.
- Шаг 3. выделение низкочастотного сигнала.
- Шаг 4. демодуляция низкочастотного сигнала
Описание задачи
Не будем заострять внимания на описании функций служб Remote Desktop Services, так как этой информации более чем достаточно в официальных источниках Microsoft. Предметом этой заметки будет пошаговое практическое описание процесса создания фермы из трёх виртуальных серверов, на каждом из которых будут совмещены компоненты RD Session Host и кластеризованная служба RD Connection Broker.
По информации доступной из блогаTechNet Blogs > Mark Ghazai’s Blog > Windows Server 2008 R2 Highly Available (Clustered) Remote Desktop Connection Brokerна каждом из серверов в кластере RD Connection Broker будет использоваться локальная база с информацией о всех пользовательских сессиях в ферме и лишь одна из нод кластера будет иметь активный экземпляр этой БД, который будет использоваться при обслуживании пользовательских запросов всей этой фермы.
Введение
Радиостанции FM-диапазона существуют и пользуются популярностью довольно-таки давно. Но со временем стало ясно, что помимо звука, не хватает текстовой информации — названия станции, трека, исполнителя песни. Добавить такую возможность можно было только одним способом — помимо звука передавать дополнительный цифровой канал.
Причем передавать так, чтобы с одной стороны, данные было несложно декодировать (вычислительные возможности микросхемы в радиоприемнике довольно ограничены), с другой стороны, чтобы не нарушить совместимости с уже имеющимися в продаже приемниками. Задача была решена, так появился стандарт RDS, принятый в 1990м году.
Спектр современной FM-станции выглядит так:
На картинке можно видеть (слева-направо) 4 основных компонента.— Звук в формате «моно» (L R). Вероятно был оставлен для совместимости со старыми приемниками (интересно наблюдать как в подобных стандартах разные технологии «накладываются» друг на друга для обеспечения обратной совместимости).
— Пилот-тон 19КГц. Используется для декодирования стерео-сигнала, для чего частота пилот-тона умножается на 2, и относительно полученной частоты 38КГц разделяются стерео-каналы.— Стерео звук, второй канал (L-R), находящийся на картинке симметрично относительно 38КГц.
Allied hyperdry down

Allied Platinum
Являясь одним из ключевых игроков на рынке высококачественного пуха, компания Allied работает с широким диапазоном пуховых смесей добиваясь оптимального результата в каждой категории – от пуха со средними функциональными характеристиками, до уникальных по своим параметрам пуховых смесей, доступных в ограниченном объеме. В зависимости от Fill Power пуха Allied использует систему дополнительных торговых марок. Слева направо от более массового продукта к уникальным смесям: Silver, Titanium, Platinum.
Семейство Platinum включает в себя пуховые смеси с Fill Power от 850 единиц и более. Такой пух используется исключительно брендами высокого класса в сверхлегком снаряжении и профессиональной экипировке. Сивера для ряда моделей топ-класса новой коллекции выбрала пуховые смеси с Fill Power в 900 единиц, которые еще реже встречаются на рынке, а также для изделий ограниченной серии ‘Quark’ абсолютно уникальный пух с Fill Power в 1000 единиц (IDFB Fill Power). Такой пух существует в очень ограниченном объеме и встречается буквально в считанном по пальцам руки количестве серийных изделий на планете.

RDS
Важным достоинством пуха Allied является его полное соответствие новейшему независимому западному стандарту RDS (Responsible Down Standart), контролирующему все этапы производства пуховой смеси и гарантирующего подобающее обращение с птицами в течении их жизни, оптимальные условия их содержания и отсутствие жестокости в обращении с ними.
Track My Down
Всем изделиям, произведенным с применением пуха Allied присваиваются номера, позволяющие владельцу получить развернутую информацию об утеплителе в приобретённом изделии. Отчет включает в себя информацию о стране происхождения пуха, стране обработки смеси, а также данные нескольких независимых тестов конкретной пуховой смеси по основным современным стандартам. Для получения подобной информации необходимо ввести соответствующий номер, указанный на вашем изделии с пухом Allied или бумажном ярлыке от него, в поисковую строку на домашней странице сайта trackmydown.com.
HyperDRY
Эффективная влагозащитная обработка без использования тефлона. Технология производства HyperDRY основана на использовании реагентов являющихся производными натурального воска, благодаря чему обработка работает по тому же принципу, что и классические DWR реагенты, создавая углеводородные гидрофобные цепочки по всей поверхности каждой пушинки, снижая тем самым поверхностное натяжение. Такая обработка при контакте пуха с водой ведёт к ее агрегации в крупные капли и скатыванию с поверхности пуха. В тоже время, используемый для обработки полимер не содержит фторуглеродов и наносится по оригинальной технологии без вреда окружающей среде. Это выгодно отличает его от основанных на тефлоне реагентов, которые попав в экосистему нашей планеты практически не разрушаются.
Зачастую влагозащитные обработки на натуральной основе обладают существенно меньшей эффективностью, чем традиционные, однако HyperDRY не только не уступает тефлоновым обработкам, но и устанавливает новые стандарты в индустрии.
Уникальная технология нанесения с одной стороны минимизирует расход воды и самого реагента, а с другой стороны обеспечивает необычайно прочную его адгезию к пуху.
Пух с обработкой HyperDRY выдерживает более 1000 минут без погружения в подвергающейся тряске емкости с водой (IDFB IDFB 18-A Hydrophobic Shake Test), что в десятки раз превосходит результат необработанного пуха и существенно (от 20 раз до 80%) превосходит результат, достигаемый с помощью подавляющего большинства иных гидрофобных обработок. Более того, HyperDRY пух проходит тот же тест с сохранением этого невероятного результата даже после нескольких стирок. Данная обработка также уменьшает время высыхания пуха после его частичного намокания и способствует сохранению теплоизолирующих свойств при контакте с водой.
www.youtube.com/watch?v=8ndKcYhaRj8
Особенности
– Эффективный метод защиты пуха от влаги;
– В 30-40 раз лучше защищает от влаги, в сравнении с необработанным пухом;
– Существенно эффективнее большинства конкурирующих влагозащитных обработок;
– 95% закрепление гидрофобного агента по сравнению с обычными 60%-80%;
– Не использует фторуглероды, что способствует сохранению биосферы.
Модели в которых используется Allied HyperDry Down:
Testing the connection
And we got tothe final section of the article where we can test our work.
Open the web portal and see if you get any certificate errors in the web browser. I already showed this in the RD Web Access section of the article, but it doesn’t hurt to show it again. The connection is secured and trusted, so this one passed the test.
Windows server 2021 r2 remote desktop – сертификаты
Как я уже писал WindowsServer 2021 R2 RemoteDesktop – теперь две модели есть два способа настройки RemoteDesktopServices. Это также касается сертификатов.
Как мы настраиваем сертификаты в классической модели. Когда стартует сервис RDS, он проверяет наличие сертификата, если его нет, то либо получает сертификат из CertificationAuthority леса, либо создает самоподписанный сертификат. И наконец, мы можем получить сертификат из внутреннего CA вручную, либо взять коммерческий сертификат и назначить такой сертификат сервису RDSвручную. Автоматический и ручной методы описаны в статье Configuring Remote Desktop certificates. В WindowsServer 2021 R2 отсутствует GUIдля настройки RDS в классической модели. Это касается и сертификатов: нужно использовать командную строку для назначения сертификатов сервису RDS.
Теперь рассмотрим практические сценарии. Если у вас один-два терминальных сервера, то совсем не трудоёмко назначить им сертификат вручную. Даже можно использовать самоподписанный сертификат: только его необходимо будет распространить на клиентские компьютеры с помощью GPO. Если терминальных серверов больше, чем один-два, то хорошо помогает автоматическое назначение сертификатов внутреннего CA: клиенты им доверяют по умолчанию. А вот если у вас не просто терминальные серверы, а несколько ферм из нескольких серверов, то сертификаты не могут быть автоматически установлены: либо их надо копировать на все серверы и вручную назначать сервису RDS, либо делать тоже самое, но скриптом; ни о каком автоматическом продлении сертификата речи быть не может.
Таким образом, в классической модели есть некоторые проблемы назначения и контроля за сертификатами и эти проблемы разрастаются в случае множества терминальных ферм.
Что нам предлагает новая модель.Сертификаты больше не нужно ставить на терминальные серверы! В любом развертывании (deployment) есть брокер – сертификат (сертификаты) устанавливаются только на нем (или на двух брокерах, если они сконфигурированы в режиме HighAvailability). В новой модели сертификаты могут быть назначены брокеру через GUI или с помощью Powershell.
Почему так и как это работает.В новой модели брокер, коллекции и серверы в коллекциях это единое целое с точки зрения установления доверия. Клиент подключается к брокеру, производятся все проверки (аутентификация, авторизация, NLA), формируется токен подключения к конкретному серверу, после чего выполняется подключение к этому серверу без необходимости дополнительных проверок.
Можете оценить насколько это удобно. Вы настраиваете сертификат(-ы) один раз на брокере, после чего можете создавать любое количество коллекций с любым количеством серверов, на лету включать в коллекции дополнительные серверы – и все это без заботы о сертификатах.
Теперь собственно о сертификатах.
Новая модель требует 4 сертификата.
1. RD Connection Broker – Single Sign On
– используется для аутентификации серверов. Точнее сказать в нем указывается FQDNимя развертывания (при одном брокере по умолчанию это его FQDN).
2. RD Connection Broker – Publishing
– используется для подписи RDPфайлов, чтобы пользователи не получали дополнительный вопрос о доверии. Соответствующее свойство сертификата должно быть включено при его создании. (В локальной сети для исключения окна уведомления о доверии нужно к тому же настроить GPO«Specify SHA1 thumbprints of certificates representing trusted .rdp publishers».)
3. RD Web Access
– используется для аутентификации сервера RDWeb и для включения RemoteAppandConnectionSubscription– доставка на клиентские компьютеры ярлыков. Это типичный Webсертификат для IIS. В качестве FQDNуказывается имя сервера или фермы RD Web Access.
4. RD Gateway
– используется для аутентификации сервера RDGateway.
Варианты использования сертификатов.
На практике все эти сертификаты это обычно один и тот же сертификат.
Использовать самоподписанные сертификаты неудобно: клиенты получают много дополнительных предупреждений и вопросов при подключении.
Сертификаты внутреннего CA. Если все клиенты внутри домена, то все работает прозрачно и удобно. Если клиент подключается извне, то корневой сертификат должен быть установлен на компьютере и должен быть опубликован CRLво внешнюю сеть. Иначе клиенты вообще не смогут подключаться (последние версии RDPклиента очень жестко и бескомпромиссно выполняют все проверки сертификатов).
Сертификаты публичного CA. Клиенты внутри домена должны иметь возможность проверять CRL. Внешние клиенты и внутренние клиенты работают прозрачно и удобно.
Можно ли внутри использовать сертификаты внутреннего CA, а наружу опубликовать RD Web Access и RD Gateway с публичным сертификатом? Можно, но это усложнение решения и к тому же прозрачной работы пользователей все равно не будет: можно опубликовать RD Web Access как вэб-сервер с публичным сертификатом, например, на TMG, и он будет прозрачно работать, теоретически тоже самое можно сделать с RD Gateway, но клиент в результате подключения все равно неявно получит RDPфайл, который подписан внутренним сертификатом и ссылается на внутренние ресурсы с внутренним сертификатом, которому нужно доверять и который нужно проверять на отзыв – доверие к пограничным серверам не распространяется на ресурсы. Иначе говоря, число предупреждений и вопросов к клиенту будет меньше, чем при использовании только внутренних сертификатов, но они все равно будут.
Рекомендуемый (мной) сценарий – если нужен доступ извне, то использовать внутри и снаружи публичные сертификаты. Как частный случай, когда много клиентов работают извне – использовать один wildcardсертификат и SplitDNSдля RD Web Access и RD Gateway. Во-первых, клиенты работают прозрачно без лишних запросов. Во-вторых, используют для подключения одно и тоже имя.
В место заключения.
Новая модель управления RDSв WindowsServer 2021 R2 сильно упрощает настройку сертификатов особенно для решений с большим числом терминальных серверов. При этом она работает удобным образом и для небольших развертываний. Классическая модель сохранена, но настройка поддерживается только через командную строку.
Filed under: Remote Desktop | Tagged: Certificates, Remote Desktop, Windows |
Включаем поддержку кластеров – failover clustering
На каждом из серверов выполняем установку компоненты для возможности работы с кластером – Failover Clustering. Для этого в оснастке Server Manager (ServerManager.msc) в разделе Features вызываем мастер добавления возможностей действием Add Features
В открывшемся окне мастера добавления возможностей выбираем Failover Clustering
Включаем сервера в ферму rd connection broker
На каждом сервере с службой RD Connection Broker добавляем все наши сервера RD Session Host в локальную группу безопасности Session Broker Computers. В нашем случае это нужно сделать на всех трёх серверах.
Демодуляция
Теперь, поняв как получается сигнал, мы можем приступить к демодуляции сигнала с реальной FM-станции. Для этого нужен SDR-приемник, я использовал HackRF, но подойдет и гораздо более дешевый
, купить который можно за 10$ с бесплатной доставкой на eBay.
Использование сертификата let’s encrypt для remote desktop services
Если вы используете для подключения внешних пользователей в корпоративную сеть шлюз Remote Desktop Gateway/ RD Web Access, вы можете использовать нормальный SSL сертификат Let’s Encrypt вместо обычного самоподписанного сертификата. Рассмотрим, как корректно установить сертификат Let’s Encrypt для зажиты служб Remote Desktop Services в Windows Server.
Если на Remote Desktop Gateway сервере поднята также роль RDSH, нужно запретить пользователям Read доступ к каталогу, в котором у вас хранится WACS (в моем примере это c:inetpubletsencrypt ) и к каталогу с сертификатами сертификат Let’s Encrypt (C:
Затем на сервере RDP GW, запускаете wacs.exe, как описано выше, и вы выбираете нужный сайт IIS (обычно, Default Web Site). Let’s Encrypt выдает вам новый сертификат, который устанавливается для веб-сайта и в планировщике появляется задание на автоматические обновление сертификата.
Вы можете вручную экспортировать данный сертификат и привязать его к нужным службам RDS через SSL binding. Но вам придется выполнять эти действия вручную каждые 60 дней при перевыпуске сертификата Let’s Encrypt.
Нам нужен скрипт, который бы сразу после получения (продления) сертификата Let’s Encrypt применял бы его для RD Gateway.
Клиент wacs для установки tls сертификата let’s encrypt в iis на windows server
Самый простой способ получить SSL сертификат от Let’s Encrypt — воспользоваться консольной утилитой Windows ACME Simple (WACS) (ранее проект назывался LetsEncrypt-Win-Simple).
Модуляция rds
Для того, чтобы декодировать сигнал, сначала надо понять как он формируется, и здесь довольно-таки много «подводных камней». Основным документом, описывающим RDS, является «EUROPEAN STANDARD EN 50067», eго-то мы и будем изучать.
RDS-кодер, согласно стандарту, выглядит так:
Как можно видеть, сигнал в кодере проходит 5 стадий:
1) Исходный битовый поток. Для его получения RDS-сообщения сначала кодируются в 16-битные пакеты, потом к ним дописывается 10-битный блок контрольной суммы с коррекцией ошибок, в итоге получаются 26-битные блоки, которые и посылаются в кодер. Казалось бы, берем и посылаем? Все сложнее.
2) Битовый поток преобразуется с помощью дифференциального кодирования по следующей таблице:
Единицей кодируется изменение бита, отсутствие изменения кодируется нулем. Это нужно для простой цели — полученный код является независимым к инверсии. Мы можем не знать, что считать «0», а что считать «1», данное кодирование устраняет этот пробел.Рассмотрим простой пример, пусть передаваемое сообщение — 0010100. Кодируем его по данной таблице, получаем 0011000.
Для декодирования используется другая таблица:
Воспользовавшись ей, получаем исходное сообщение 010100. Смысл действия в том, что если исходное сообщение инвертировано (т.е. 1100111), то декодируя его, все равно получаем тот же результат.
Теперь берем сигнал и посылаем? Еще нет, все сложнее.
3) На предыдущем шаге мы получили битовый сигнал, но проблема состоит в том, что этот сигнал вполне может иметь вид вроде 011000000000011. Электромагнитная волна такой «формы» будет плохо как передаваться, так и декодироваться. Надо получить сигнал как можно ближе к «классической» синусоиде нужной частоты.
Для этого используется так называемое «бифазное кодирование» (в русскоязычной литературе часто встречается название «манчестерское кодирование»).Алгоритмически, оно записывается довольно-таки просто:0 -> 011 -> 10С его помощью, приведенный выше сигнал 011000000000011 будет представлен как 0110100101010101010101011010, как можно видеть, от длинных одинаковых последовательностей мы избавились.
Сигнал, показанный под номером «5» на схеме кодера — это фактически и есть наши биты после манчестерского кодирования, только кодер в стандарте рассматривался аппаратный. Он работает следующим образом:— Битовый поток превращается в последовательность коротких импульсов (цифра «3» на картинке)
— Манчестерское кодирование выполняется с помощью задержки сигнала на пол периода и сложения его с противоположным знаком (цифра «4»).— Полученный сигнал в виде «всплесков» положительных и отрицательных импульсов, подается на ФНЧ (фильтр низких частот), который выделяет огибающую, показанную под цифрой «5».
Вот теперь-то сигнал можно передавать? Да можно. Но не сразу. Исходная частота цифрового сигнала RDS составляет 1187.5Гц, что слишком мало. Полученный сигнал умножается на другой сигнал с частотой 57КГц, что переносит его на заданную частоту, вспоминаем школьную формулу умножения косинусов:
Полученный сигнал имеет как раз необходимую нам частоту 57КГц, он суммируется с «основным» (звуковым) сигналом, который и транслируется в эфир. Как можно видеть из верхней картинки, добавление частоты 57КГц не затрагивает каналов звука, соответственно не добавляет никаких искажений даже в не имеющие поддержки RDS-приемники.
Настраиваем кластерные ресурсы
После того как экземпляр кластера создан, нам нужно настроить кластерные сети, чтобы один сетевой интерфейс использовался для клиентских подключений, а второй был ограничен исключительно для использования межузлового кластерного обмена. В свойствах кластерной сети, предназначенной для Cluster Heartbeat (в нашем случае это Cluster Network 2) должна быть отключена опция Allow clients to connect through this network.
Теперь в нашем кластере мы можем создать службу RD Connection Broker. Для этого в разделе Services and applications выберем пункт Configure a Service or Application
В открывшемся мастере высокой доступности из списка доступных для кластеризации служб и приложений выберем службу Remote Desktop Connection Broker
Обратите внимание на то, что в официальной документации есть информация об ограничениях в ситуации когда вы хотите создать кластеризованный экземпляр службы RD Connection Broker в уже существующем кластере и при этом в этом кластере есть настроенные ранее службы типа Generic Service.
На следующем шаге мастера введём имя и IP адрес точки доступа к службе. Именно эти данные в дальнейшем и будут нами использоваться для настройки фермы RD Connection Broker
На этапе создания службы в кластере в домене также будет создана дополнительная учетная запись и будет произведена регистрация имени в DNS
После окончания работы мастера в консоли управления кластером мы можем убедиться в том что кластеризованный экземпляр службы успешно создан, запущен и его активным владельцем является сервер KOM-AD01-RDS02. Также обращаем внимание на то, что по умолчанию включён режим автозапуска данной службы при начале работы кластера.
Нужно проверить то, что адрес кластерного ресурса службы RDCB корректно зарегистрировался в DNS и доступен в сети.
Настраиваем сетевые параметры
Итак, на каждом сервере мы имеем по два сетевых интерфейса. Назовём их NIC1 – Public и NIC2 – Cluster и условимся, что согласно нашей схемы, NIC1 будет отвечать за управление самим сервером (будет зарегистрирован в DNS на FQDN имя сервера) а NIC2 будет отвечать за работу сервера в кластере Windows Failover Cluster.
Выполним описанные ниже настройки на каждом из трёх серверов.
Откроем окно настройки сетевых подключений и в меню Advanced > Advanced Settings и проверим порядок использования подключений (Connections).
NIC1 должен иметь приоритет над NIC2, то есть в списке подключений должен стоять первым.
Интерфейс NIC1 настроим обычным образом, задав ему IP адрес (согласно нашей схемы), маску подсети, IP адрес шлюза, адреса DNS серверов. Несколько иначе будет настроен интерфейс NIC2.
В свойствах кластерного интерфейса NIC2 можно отключить все компоненты, за исключением TCP/IP:
В свойствах компонента TCP/IP зададим только выделенный IP адрес и маску подсети. Кластерная подсеть должна отличаться от от подсети интерфейса NIC1 иначе в дальнейшем при создании кластера могут возникнуть проблемы с автоматическим созданием кластерных сетей.
Здесь же, по кнопке Advanced откроем окно дополнительных настроек
В окне дополнительных настроек TCP/IP на закладке DNS отключаем опцию регистрации этого подключения в DNS – Register this connection’s addresses in DNS
Как было сказано ранее, указанные настройки сетевых интерфейсов нужно сделать по аналогии согласно нашей схемы на всех трёх серверах.
Ошибка сертификата при подключении по rdp: а как его обновить/заменить?
Добрый день друзья!
Имеется сервер RDP на базе раскуроченной Windows 7.
Так уж вышло, что на сервере, для правильной работы одного хитрого приложения, пришлось выставить системную дату на 2021 год (дабы избавиться от назойливых попапов с просьбой обновиться).
В связи с этим, поскольку системная дата на сервере отстает аж на 3 года, при подключении по RDP клиент ругается, что сертификат бука бяка, просрочен и так далее. Собственно если взглянуть на сертификат, принимаемый от сервера, то да: выпущен в 2021 году. заканчивается в 2021 году, а в реальности на клиенте 2020 год… Просрочен.
Вопрос: как на сервере перекурочить сертификат (и где он вообще лежит и как генерируется) таким образом, чтобы он жил не тужил хотя бы лет 5…? Возможно ли это?
Другой вариант извращений – если предложте, буду рад и благодарен!
Спальные мешки и палатки – cпальный мешок makalu ii
Среда исполнения
Три виртуальных сервера на базе Windows Server 2008 R2 Enterprise EN. Корпоративная редакция ОС потребуется нам из-за необходимости использования средств Windows Failover Clustering.
Каждый из серверов имеет по два сетевых интерфейса.
Серверам присвоены имена – KOM-AD01-RDS01 , KOM-AD01-RDS02 и KOM-AD01-RDS03.
Создаваемый в процессе описания кластерный экземпляр Windows Failover Clustering будет иметь имя KOM-AD01-RDSCL.
Кластеризованный экземпляр службы RD Connection Broker будет иметь имя KOM-AD01-RDCB
С точки зрения сетевого взаимодействия, упрощённая схема отказоустойчивой фермы RDS в нашем случае будет выглядеть так:
Стандарт ответственного производства пуха

Мы стали первой компанией-держателем международного сертификата ответственного производства пуха RDS (Responsible Down Standard) в России.
Стандарт Ответственного производства пуха гарантирует благополучное содержание гусей и уток, которые обеспечивают нас пухом и перьями для товаров, которые мы все любим.
Цели стандарта
Стандарт RDS гарантирует, что пух и перья получают от гусей и уток, с которыми ответственно обращались. Это означает, что им позволили прожить здоровую жизнь, выражать врожденное поведение, а не страдать от боли, страха или стресса. Стандарт отслеживает полный путь от фермы до готового продукта для того, чтобы покупатели могли быть уверены, что пух и перья, которые они приобретают действительно соответствуют стандарту Ответственного производства пуха.
Основные составляющие стандарта:
- Запрещено получение пуха и перьев от живых гусей (прижизненное ощипывание или линька)
- Запрещено принудительное вскармливание
- Благополучие птиц обеспечивается все время: от вылупления до убоя
- Вся цепочка поставок отслеживается ответственной независимой сертифицирующей организацией
Компания BELASHOFF, ее поставщики и производство были сертифицированы по стандарту RDS международной компанией Control Union в 2021г. Номер сертификата C858670-01.2021.
ПОСМОТРЕТЬ СЕРТИФИКАТ

Устанавливаем роль remote desktop services
На каждом из серверов выполняем установку необходимых нам компонент роли Remote Desktop Services. Для этого в оснастке Server Manager (ServerManager.msc) в разделе Roles вызываем мастер добавления ролей действием Add Roles
В открывшемся окне мастера выбираем роль Remote Desktop Services
Далее нам будет предложено выбрать соответствующие службы роли. Отмечаем Remote Desktop Session Host и Remote Desktop Connection Broker
На следующем шаге нужно выбрать режим аутентификации. Учитывая то, что в нашем окружении нет устаревших клиентов не поддерживающих NLA, выбираем рекомендуемый метод – Require Network Level Authentication
Значение этой настройки, как и всех других в этом мастере можно будет в изменить позже в любое время после установки роли с помощью оснасток управления RDS
На шаге выбора режима лицензирования выбираем опцию Configure later , так как для конфигурирования параметров режима лицензирования наших терминальных серверов мы в дальнейшем будем использовать возможности доменных групповых политик.
Шаг 1. wfm-декодер
Т.к. исходный сигнал частотно-модулирован, сначала мы должны получить его в демодулированном виде. Чтобы не писать еще и ЧМ-декодер, воспользуемся пакетом GNU Radio. Запустим GNU Radio Companion и соберем схему, как показано на рисунке.

Мы собираемся принимать FM-станцию на частоте 100.4МГц, для этого мы настраиваем приемник на частоту 99МГц, и программно «сдвигаем» сигнал вверх по частоте на 1.4МГц, домножая его на сигнал с такой частотой. Это сделано потому, что SDR-приемник имеет пик на нулевой частоте относительно центра, и настроиться сразу на станцию мы не можем.
Запускаем «схему», и видим картинку как в учебнике в начале статьи.
Хорошо видны пилот-тон на 19КГц, стерео-сигнал на 38КГц и 2 пика RDS-сигнала вокруг 57КГц.
Шаг 2. выделение пилот-тона и rds-сигнала.
Следующим шагом является выделение пилот-тона и сигнала RDS. Для этого используем полосовой фильтр на соответствующие частоты.


Хорошо видны пилот-тон с частотой 19КГц, и 57КГц-сигнал, модулирующий более низкочастотный сигнал с частотой 1187.5Гц.
Шаг 3. выделение низкочастотного сигнала.
Для получения НЧ-сигнала необходимы 2 шага:
3.1) Получение сигнала 57КГц (3й гармоники пилот-тона).
Мы имеем выделенный фильтром сигнал 19КГц, а как получить из него 57КГц? Для этого вспоминаем школьную математику, формулу куба синуса:

Как нетрудно видеть, куб синуса содержит 2 компоненты: sin(a) и sin(3*a). Т.к. мы работаем с «аналоговыми» блоками, берем в GNU Radio 2 блока — умножитель, и фильтр высоких частот. Убрав sin(a) фильтром на 38КГц, получаем искомые 57КГц.
Готовый результат можно видеть на осцилограмме:

3.2) Обратный перенос частоты
При кодировании сигнал переносился с частоты 1187.5Гц вверх, умножением на 57КГц. Теперь выполняем обратную операцию, переносим сигнал «вниз». Для этого еще раз умножаем его на 57КГц-сигнал. По формуле произведения синусов (школьная программа вещь полезная)
Все это делается добавлением блоков в GNU Radio, готовый результат показан на картинке:

Зеленым цветом показан «образцовый» сигнал с частотой 1187.5Гц, чтобы видеть что преобразование выполнено правильно.
Шаг 4. демодуляция низкочастотного сигнала
Принцип этой части проще всего проиллюстрировать картинкой из стандарта (блок «biphase symbol decoder»).

Демодуляция бифазного сигнала состоит из 2х частей.— «Переворачивание» сигнала инвертором. Это нужно для возврата от бифазного кодирования, которое рассматривалось выше, к исходному сигналу. Фактически нужно «перевернуть» каждый второй бит, поэтому процесс синхронизирован с тактовым сигналом.
— Суммирование сигналов за период. Положительная сумма соответствует биту «1», отрицательная «0». Кстати, период 1187.5Гц тоже выбран не случайно — это частота пилот-тона 19КГц, деленная на 16. Все сделано для того, чтобы аппаратная реализация декодера в приемнике была как можно проще и соответственно, дешевле.
После демодуляции сигнал поступает на дифференциальный декодер, который рассматривался выше. Дальше сигнал поступает на модуль коррекции ошибок, но это уже как говорится, другая история, соответствующая второму уровню модели OSI.
Если кому интересно, теоретическую часть можно будет продолжить, и рассмотреть формирование пакетов. Если же кто захочет поэкспериментировать самостоятельно, один из вариантов работающего декодера для RTL-SDR можно найти на github. При желании использовать аппаратный тюнер в своих проектах, можно купить на eBay плату Si4703 FM RDS Tuner, ее цена около 6$.
