Хабрахабр

Software Defined Radio — как это работает? Часть 1

Привет Хабр.

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

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

Мы все же попробуем разобраться.

История

Идея software defined radio базируется на двух китах:
— Передача широкополосного сигнала с радиоприемника в компьютер. Ширина обрабатываемой полосы может быть от 48КГц (звуковая карта ПК) до 50МГц (сверхбыстрый АЦП с передачей сигнала по Gigabit Ethernet или USB3.0).
— Демодуляция сигнала — все то, что «обычный» радиоприемник (AM, FM, фильтры и пр) делает в «железе» — в SDR делается на компьютере, математическими алгоритмами. Сам радиоприемник конечно, все равно нужен, но только его «половина» — та часть, которая собственно принимает радиосигнал.

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

Первая версия Winrad датируется 2007м годом, и выглядела она примерно так (можно обратить внимание на системные требования:).

По сравнению с шириной полосы обычного выхода для наушников любого приемника это был… ну почти прорыв. Как можно видеть, интерфейс весьма минималистичный, но программа уже умела воспроизводить AM, FM, USB и LSB, и показывать спектр сигнала. системах панорамные приставки существовали и раньше, но «простым смертным» оно было практически недоступно, а звуковая карта у каждого в ПК и так есть. Разумеется, в проф.

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

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

6МГц (в принципе, параметры вполне достаточные и на сегодня). Стали появляться и профессиональные решения, тогда же в 2010м появился Perseus SDR — приемник с 14-битным DDC АЦП, частотным диапазоном 10КГц-30МГц и шириной полосы пропускания 1.

Цена приемника составляла 825Евро, что для тех лет было не так уж мало.

Кстати, страница http://microtelecom.it/perseus/ существует до сих пор, и на ней также висят скриншоты под XP, хотя продается приемник или нет, непонятно.

Следующим прорывом в любительской технике стало появление приемника на чипе rtl-sdr. Начало было положено, дальше уже как говорится, дело техники — стали появляться разные модели, чипы стали дешеветь и так далее. Сообщение с форума radioscanner за 2012й год можно процитировать дословно, как говорится, не убавить, не прибавить:

Оказалось, что DVB донглы на базе чипа Realtek RTL2832U, рекламируемые иногда также как поддерживающие FM, DAB(+), способны передавать на компьютер поток 8ми битных квадратур при частоте дискретизации около 3-х MSPS.

Этот тюнер используется также в FunCube донгле, только с дополнительным МШУ. Принимаемый диапазон ограничивается использованным в определенной модели донгла тюнером, например у Elonics E4000 от 64 до 1700 МГц.

Уже успешно были приняты TETRA (~430 МГц) и сигналы спутника Турaйя (~1550 МГц), что для 8-ми битных квадратур весьма и весьма неплохо. По этому поводу основан проект.

Сами приемники выглядели вот так:
В общем, как оказалось, дешевые USB-ТВ приемники ценой 10-20$ после замены драйвера могут отдавать IQ-поток, что позволяет использовать их с уже существующим программным обеспечением для SDR.

Потом появился SDR#, разные плагины, стало расти сообщество энтузиастов, и сейчас rtl-sdr наверное самый популярный (прежде всего, в силу цены) SDR-приемник. Первые 1-2 года толку от rtl-sdr было довольно мало — под них просто не было интересного софта. Как работает RTL SDR на КВ, можно посмотреть на видео. Современные версии RTL SDR V3 умеют принимать уже и КВ (хотя и с небольшой чувствительностью и динамикой), но при цене в 30$ и это весьма неплохо.

Виды SDR

Существующие SDR можно разделить на 3 вида:

Сейчас они давно сняты с производства, но иногда могут появиться на барахолке. — Уже устаревшие модели на базе звуковой карты — оцифровка сигнала в них происходит в ПК, а сигнал передается на линейный вход по аудиокабелю. Интересующиеся «цифровой археологией» могут почитать сообщения на cqham за 2010год о выборе звуковой карты для SDR. Брать по большому счету, смысла никакого, разве что отдадут даром — цена хорошей звуковой карты превысит цену самого SDR.

Это большинство современных устройств среднего ценового диапазона. — SDR, имеющие встроенный АЦП и передающие сигналы в ПК в цифровом формате. Такие приемники имеют ширину полосы пропускания от 2 до 10МГц, есть разные модели на разные частоты и диапазоны (rtl sdr, SDRPlay, Airspy). Они построены по принципу гетеродинного приема, только после переноса частоты вместо НЧ-блока стоит АЦП. Даже если фильтры более-менее неплохие, сигналы мощных станций все равно могут «пролезать» и воспроизводиться в виде помех. Недостаток любого супергетеродинного приемника — наличие зеркальных каналов приема — поскольку фильтры неидеальны, станции принимаются там где реально их нет.

Это самая современная технология на сегодняшний день. — DDC (direct down conversion) SDR. в нашем примере до 50МГц. Суть в том, что гетеродин здесь не нужен — сверхбыстрый АЦП с частотой оцифровки порядка 100млн семплов/с оцифровывает непосредственно входной сигнал с эфира, что позволяет (согласно теореме Котельникова/Шеннона) иметь прием до частоты, равной половине частоты дискретизации, т.е. Такой приемник не имеет зеркальных каналов, и в нем все хорошо (кроме цены:). Битовый поток желающие могут прикинуть самостоятельно — на компьютер оно разумеется, не передается, а обрабатывается в быстродействующей ПЛИС прямо на плате, и нужная полоса (обычно до 6МГц) передается в компьютер.

более быстродействующих АЦП в продаже либо нет, либо они стоят космических денег (кстати, сверхбыстрые АЦП вроде попадают в американские ограничения по поставке высокотехнологичных электронных компонентов в страны третьего мира, но это не точно). Верхний предел частоты DDC-приемников обычно ограничен 30-50МГц, т.к. 76Msps АЦП стоит порядка 4000$, т.е. Их самого топового, что доводилось видеть в прайсах — Flex 6600 с 16bit 245. Вряд ли мы в скором времени увидим DDC-приемники до гигагерца, хотя хотелось бы. им можно принимать в режиме DDC до частоты 122МГц. Есть ли что-то быстрее, например для военки — наверно есть, кто знает, напишите в комментариях.

Большинство SDR подключаются по USB, но есть модели и с LAN-портом (Afedri, Colibri): Другой важный параметр — тип подключения.

KiwiSDR делает даже готовые устройства, зайти на которое можно непосредственно через web-интерфейс. Это может быть удобно для организации удаленного приема или передачи — приемник или трансивер можно разместить на даче/в деревне, и использовать его из города. Свой приемник владельцы KiwiSDR даже могут «расшарить» другим, посмотреть список доступных устройств можно на https://sdr.hu.

Дешевые RTL SDR имеют всего 8бит АЦП, и этого мало, приемник легко перегружается сильными сигналами, ему крайне желателен аттенюатор и преселектор. Последний, но не менее важный параметр — разрядность АЦП. Топовыми являются 16-бит АЦП, и в принципе, не каждая антенна способна выдавать диапазон сигналов, способных перегрузить такой приемник. SDRPlay имеют 12-бит АЦП, более дорогие модели имеют 14-бит, что достаточно для большинства случаев.

Их диапазон весьма варьируется, от 30$ за RTL SDR v3, 150$ за SDRPlay RSP2 до 600$ за ELAD FDM-S2. И наконец, о ценах. SDR-трансиверы (способные работать не только на прием, но и на передачу) дороже, SunSDR2 стоит порядка 1500$, FLEX-6400 стоит 2000$.

Это например, HackRF, LimeSDR, USRP, Red Pitaya. Отдельно стоит упомянуть платы для цифровой обработки сигналов. Ловить что-то они будут, но весьма плохо, либо потребуется «доработка напильником». Эти устройства изначально предназначались для опытов с радиосигналами в пределах «рабочего стола», и на дальний прием просто не рассчитаны — ни регулируемого усилителя, ни аттенюатора, ни фильтров в схеме зачастую просто нет. Они также могут работать на передачу, но с мощностью порядка 100мВт (где «м» это милли а не мега;), и зачастую никакого софта кроме пары DLL и SDK для них просто нет.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть