Запуск Мультиплекса Dab Дома

Привет, Гиктаймс.

Цифровое радиовещание постепенно внедряется в различных странах.

Это стандарт в Европе и Австралии.

ДАБ/ДАБ+ , в США HD-радио , в Китае CDR (Китайское цифровое радио).

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

по сравнению с ФМ.

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

Россия пока официально не присоединилась ни к одному стандарту, но если и присоединится, то, скорее всего, это будет DAB. Его тестовая эксплуатация уже проведена в Москве, а ресиверы на европейском рынке географически более доступны для РФ, чем американские.

Новые европейские автомобили (которых опять же больше, чем американских) зачастую уже оснащены DAB-ресивером.

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

Запуск мультиплекса DAB дома

(Источник изображения/Getty) Подробности под катом (будьте внимательны, там много длинных и скучных конфигов).



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

К сожалению, разные стандарты несовместимы друг с другом.

Европейский ДАБ — поток MP2 или AAC, передаваемый с использованием ODFM в каналах с частотами от 174 до 239 МГц.

Как можно больше более 30 каналов , ширина каждого около 1,5 МГц; в канале может одновременно передаваться несколько станций.

В соответствии с Википедия , использование DAB с битрейтом 192кбит/с в 3 раза эффективнее по количеству станций, чем обычное FM. Спектр одного канала DAB на экране SDR выглядит так:

Запуск мультиплекса DAB дома

Для сравнения, так выглядят FM-станции в том же масштабе:

Запуск мультиплекса DAB дома

По-американски HD-радио мы пошли по другому пути – к уже существующим FM-станциям «в сторону» добавлялись цифровые каналы.

Это позволило не выделять новые частоты и сохранить совместимость со старыми приёмниками.

Минус в том, что в крупных городах FM-эфир уже занят. С другой стороны, даже максимальное количество FM-станций в 50 — это вполне неплохо; слушателям, скорее всего, большего и не нужно.

Спектр HD Radio выглядит так (скриншот с YouTube):

Запуск мультиплекса DAB дома

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

Что касается ресиверов, то их цена на Amazon колеблется от 30 долларов за самые простые модели до более 100 долларов за более продвинутые с сенсорным, Wi-Fi или цветным экраном.



Запуск мультиплекса DAB дома

Но «чукча не читатель», поэтому тестовое радио в формате DAB/DAB+ мы запустим сами.

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

Запустить DAB/DAB+

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

Для теста нам понадобится Linux и SDR с возможностью передачи, например HackRF или USRP.

1. Компилируем проект

Linux необходим для компиляции кодировщика.

Я использовал Ubuntu, готовый образ для VirtualBox скачал с http://www.osboxes.org/ubuntu/ .

Компиляция ODR-AudioEnc Для начала необходимо скомпилировать аудиокодер DAB/DAB+, его можно найти на странице github.com/Opendigitalradio/ODR-AudioEnc .

  
  
  
  
  
  
   

git clone https://github.com/Opendigitalradio/ODR-AudioEnc.git cd ODR-AudioEnc/ .

/bootstrap .

/configure --enable-alsa --enable-vlc make sudo make install

Компиляция ODR-DabMux ODR-DabMux объединяет цифровые потоки в один мультиплекс.

Подробности на странице github.com/Opendigitalradio/ODR-DabMux .



git clone https://github.com/Opendigitalradio/ODR-DabMux.git cd ODR-DabMux/ .

/bootstrap.sh .

/configure make sudo make install

Компиляция ODR-DabMod Это модулятор, который фактически отправляет данные на передатчик.

Принцип сборки тот же, команда для скачивания такая:

git clone https://github.com/Opendigitalradio/ODR-DabMod.git

Если какие-либо библиотеки отсутствуют во время сборки, их необходимо установить с помощью apt-get. Теперь все части проекта собраны, и со всем этим попробуем взлететь.



2. Конфигурация

К сожалению, USRP в виртуальной машине не работал, а устанавливать на диск полноценный Linux мне было лень.

Поэтому стриминговый режим я не рассматривал — мультиплекс собирался из заранее подготовленных mp3 файлов, а полученный IQ-файл запускался под Windows. Да, в целом стриминг дома не нужен; задачи создать «пиратскую станцию» не было.

Более подробно различные настройки описаны здесь: http://opendigitalradio.github.io/mmbtools-doc/mmbtools.pdf .

Подготовка данных В нашем мультиплексе будет 2 канала, для чего я скачал с YouTube 2 mp3 файла и назвал их (кто бы мог догадаться) sound01.mp3 и sound02.mp3 соответственно.

Конвертируйте файлы в WAV с битрейтом 48000: ffmpeg -i sound01.mp3 -ar 48000 sound01.wav ffmpeg -i sound02.mp3 -ar 48000 sound02.wav Давайте конвертируем их в формат DAB: odr-audioenc --dab -b 128 -i sound01.wav -o prog1.mp2 odr-audioenc --dab -b 128 -i sound02.wav -o prog2.mp2 На выходе должно быть 2 файла prog1.mp2 и prog2.mp2. Создание мультиплекса Для начала нам необходимо создать файл, описывающий конфигурацию нашей «радиостанции».

Напомню, что один канал DAB может содержать множество станций, каждая со своими параметрами.

Создайте файл «config.mux» со следующим текстом:

general { dabmode 1 nbframes 2000 ; Set to true to enable logging to syslog syslog false ; Enable timestamp definition necessary for SFN ; This also enables time encoding using the MNSC. tist false } remotecontrol { telnetport 0 } ensemble { id 0x4fff ecc 0xec ; Extended Country Code local-time-offset auto international-table 1 label "mmbtools" shortlabel "mmbtools" } services { srv-p1 { label "Station1" } srv-p2 { label "Station2" } } subchannels { sub-p1 { type audio inputfile "prog1.mp2" bitrate 128 id 10 protection 4 } sub-p2 { type audio inputfile "prog2.mp2" bitrate 128 id 11 protection 4 } } components { comp-p1 { service srv-p1 subchannel sub-p1 } comp-p2 { service srv-p2 subchannel sub-p2 } } outputs { output1 " file://output.etiЭtype=raw " }

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

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

Когда файл сохранен, создайте мультиплекс:

odr-dabmux config.mux

Результатом должен быть файл выход.eti , в моем случае его размер был 12МБ.

Транслировать Здесь есть две возможности.

В «настоящем» Linux odr-dabmod может напрямую передавать данные на трансивер, но под ВМ он не работал.

Поэтому в качестве выходного параметра я указал необработанный файл, который будет содержать данные, совместимые с Gnu Radio. Создайте файл config.ini:

[input] transport = file source = output.eti loop=0 [modulator] digital_gain=0.9 rate=2048000 [output] output = file [fileoutput] format = complexf_normalised ;format = s8 filename = output.iq

Ключевым моментом здесь является формат вывода и его тип.

Для USRP я использую формат complexf_normalized; для HackRF по идее подойдет 8-битный s8. Сохраняем конфиг и запускаем конвертацию:

odr-dabmod config1.ini

Все! Выходные данные должны быть config.iq, в моем случае размером около 700 МБ для одной минуты записи (формат IQ с плавающей запятой).

Копируем его на «основной» компьютер, и Linux можно закрывать.



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

Как я уже говорил ранее, DAB-приемника у меня нет, чукчи не читалка, радио вообще не слушаю :) Для тестирования использовал "свисток" RTL-SDR и бесплатную программу Welle.io .

Первым делом подключаем ресивер, запускаем Welle.io и находим свободный канал.

В моем случае на них повлиял 12B:

Запуск мультиплекса DAB дома

Запоминаем частоту и создаём простой график для передачи в Gnu Radio:

Запуск мультиплекса DAB дома

Запускаем, ждем несколько секунд и.

слышим записанную музыку через welle.io.

Запуск мультиплекса DAB дома

Убеждаемся, что количество каналов и их названия соответствуют указанным в конфиге.

Да, весь «трансмиссионный комплекс» выглядит так:

Запуск мультиплекса DAB дома



Заключение

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

Антенну, конечно, не настроили на нужную частоту (а антенного анализатора у меня нет), максимальная мощность от USB3 наверное не более 1 Вт, да и то она распределяется по полосе 1,5 МГц.

.

Таким образом, максимальная дальность передачи составила примерно 0,5м.

Если кто-то захочет повторить эксперименты с большей мощностью, поиск на ebay по запросу «RF Power Amplifier» выдаст множество полезных ссылок (официально для вещания, конечно, нужна лицензия, и стоит убедиться, что оно не мешает работе других сервисов).

.

Теги: #Сделай сам или Сделай сам #Периферия #радио #DAB #цифровое радио #радиовещание #FM

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.