В этой статья я расскажу о том, как, потратив совсем небольшие деньги и немного времени, получить радиоприемник, способный принимать что угодно в диапазоне 60-1700 МГц (радиостанции, звуковое сопровождение ТВ, радиолюбителей, карманные радиостанции и многое другое). Для этого
мы используем DVB-тюнер на чипе RTL2832, работающий в специальном режиме, который можно приобрести за $20 или даже дешевле.
Радиоволны
Люди используют радиоволны для самых разных целей. Радиолюбители общаются друг с другом, диспетчерская служба отдает указания пилотам самолетов, таксисты берут заказы, о которых узнают по радио, брелок автосигнализации переговаривается с автомобилем, чтобы подтвердить свою подлинность и открыть двери. Поэтому прослушивание эфира всегда было интересно многим.
Software-defined Radio
Раньше построение приемника, способного принимать в широком диапазоне частот и декодировать разные виды модуляций сигнала было сложной задачей, поэтому готовые приемники стоили дорого, а самостоятельно собрать такой мог далеко не каждый. С появлением производительных процессоров появилась возможность заменить значительную часть электронных узлов программной обработкой — точная настройка частоты приема, демодуляция, фильтрация шумов и помех — все это отлично реализуется программно, да еще и получает возможности по тонкой настройке без необходимости переделки.
Аппаратной части остаются лишь задачи предварительного выделения желаемого участка радиодиапазона и его оцифровка. Такая концепция получила название SDR — Software-defined Radio.
Подробнее о SDR можно прочитать в Википедии.
ТВ-тюнео RTL2832
Теперь познакомиться с технологией SDR может любой желающий. Этим мы обязаны компании Realtek, выпустившей чип RTL2832. Его исходное предназначение — USB декодер DVB-T для приема цифровых телеканалов. Аналоговую часть (настройку на частоту телеканала) реализует твердотельный тюнер Elonics E4000, для управления которым у RTL2832 предусмотрены выходы. Таким образом, на основе этих двух микросхем и небольшого числа других деталей производители могут собирать USB DVB-T тюнеры.
У этого чипа был обнаружен режим, который отключает все встроенные функции декодирования и переводит его в режим быстрого АЦП, оцифровывающего все, что выдает E4000 с частотой до 3 млн. восьмибитных выборок в секунду. В свою очередь, E4000 может быть настроен на частоту от 60 до 1700 МГц, выдавая на вход RTL2832 выбранный «кусок» радиодиапазона шириной в 3 МГц для оцифровки. Добавив к этому программу обработки на ПК, мы получаем вполне рабочий SDR-приемник.
Как это все работает
Попробую описать простыми словами:
- Антенна, подключенная к тюнеру, принимает сигналы с эфира.
- Чип E4000 выделяет участок радиодиапазона, начинающийся там, где мы ему указали и шириной 3 МГц, усиливает его.
- Чип RTL2832 оцифровывает этот участок и передает по USB на компьютер.
- Программа (GnuRadio, HDSDR или другая) «настраивается» на выбранную частоту в пределах выбранных ранее 3 МГц, выполняет демодуляцию указанным способом и отправляет получившийся звук на звуковую карту. Также она может отправлять команды чипу E4000 на перестройку на другой участок диапазона.
Покупаем тюнер
Без ТВ-тюнера на основе RTL2832 нам не обойтись.
Вот тут есть список устройств, которые нам подходят.
Проще и дешевле всего купить тюнер на eBay. Найти его просто — достаточно использовать название чипов в качестве запроса. Особой разницы между конкретными моделями тюнеров нет, можно выбрать самый дешевый или в понравившемся корпусе.
Устанавливаем и настраиваем
Рассмотрим настройку ПО под Windows.
- Скачиваем установщик, содержащий драйвер для RTL2832, плагин для программы HDSDR и саму программу HDSDR. Если ссылка умрет, ищите новую версию у автора.
- Запускаем, при выборе компонентов отмечаем, что нам надо скачать HDSDR.
- Указываем желаемый путь и запоминаем его.
- Запустится программа Zadig для установки драйвера Winusb. В меню выбираем «List all devices».
- Наш тюнер будет выглядеть примерно так: «Bulk-In, interface 0» (для других случаев читаем тут). Выбираем тюнер, выбираем также «WinUSB», нажимаем «Install».
- Запустится программа установки HDSDR. Выбираем тот же путь, что указывали ранее.
- Установили, запускаем. Открывается главное окно HDSDR. Нажимаем кнопку ExtIO.
- Открывается окно плагина RTL2832. Пишем в поле Device Hint слово «RTL», в поле Sample Rate — «2», нажимаем «Create».
- Нажимаем «Start» в главном окне. Работа началась!
Видим панораму выбранного участка диапазона вверху.
Перетаскиванием шкалы под панормаой или кнопкой «Tune» — выбираем другой участок.
Щелчком по панораме — частоту точной настройки.
Кнопками под ней — вид модуляции.
Для лучшего качества нажимаем «Bandwidth» и выбираем Output — «48000» или «96000».
На картинке — участок вещательного УКВ диапазона от 102 до 104 МГц и три радиостанции на нем, на одну из которых мы настроены. - Экспериментируем, слушаем эфир. Иногда может потребоваться отключить и снова включить тюнер. Также желательно найти антенну посерьезнее, чем та, что идет с ним в комплекте.
Что дальше?
Понравилось? Тогда процесс совершенствования почти бесконечен. Существует большое количество гораздо более чувствительных и функциональных SDR-приставок. Некоторые из них обеспечивают полосу оцифровки и обзора до 100 МГц, некоторые — умеют работать на передачу, почти все более дорогие приставки оцифровывают сигнал с дискретностью в 16 или 24 бита вместо 8. Обратите внимание на проект USRP.
Более сложные программные средства позволяют декодировать цифровые радиостанции, принимать сигналы от разнообразных беспроводных датчиков и даже декодировать сигналы аналогового и цифрового телевидения. Обратите внимание на проекты PowerSDR и GnuRadio.
Ссылки
- Русская википедия: SDR.
- Английская википедия: SDR.
- Osmocom — первая утилита для RTL2832.
- Spench.net — драйвер RTL2832 и дистрибутив ПО.
Автор: Bluewolf