sdr радиоприемник что это такое

Начинающий радиолюбитель

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Что такое SDR приемник и для чего он нужен

Всем привет! На связи Александр Белый. Автор блога radiohooligan.ru! )

На этот раз я хочу вам представить свой любимый и неповторимый, всеволновый, приемник-радиосканер RTL SDR V.3! Это универсальный приемник с огромным диапазоном принимаемых частот, последняя версия которого V.3 практически не имеет никаких глюков и недостатков — что говорит о серьезном отношении создателей.

Что такое SDR приемник

По версии Википедии, SDR приемник — это

Программно определяемая радиосистема (англ. Software-defined radio, SDR) — радиопередатчик и/или радиоприёмник, использующий технологию, позволяющую с помощью программного обеспечения устанавливать или изменять рабочие радиочастотные параметры, включая, в частности, диапазон частот, тип модуляции или выходную мощность, за исключением изменения рабочих параметров, используемых в ходе обычной предварительно определённой работы с предварительными установками радиоустройства, согласно той или иной спецификации или системы.

Приемник подключается к компьютеру через USB порт (может подключаться к смартфону), абсолютно не нуждается в интернете, работает с живым эфиром!

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Корпус приемника очень качественный (как и сам приемник), естественно покупать его стоит только у официального производителя, который имеет свой магазин на Алиэкспресс:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

С одной стороны корпус заканчивается USB разъемом,с другой стоит антенный SMA разъем.

История создания сканера

История создания этого сканера — просто мистическая: приемник собран на микросхеме RTL2832U предназначенной для приема цифрового телевидения формата DVB-T, казалось бы ничего необычного,все смотрят телевизор, но неожиданным образом в 2012 году происходит утечка информации от производителя Realtek о недокументированных режимах работы микросхемы. Выяснилось, что микросхема может оцифровывать радиосигнал из антенного входа, а фильтровать и выделять полезный сигнал может процессор ПК. Радиолюбители всего мира просто обалдели: в один момент они получили радиосканер стоимостью в 20 долларов,практически идентичный тем, которые стоили свыше 500- 700 долларов!

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

Вот так выглядит плата приемника:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Все четко и аккуратно, как на материнских платах компьютера.

Вот такая антенка идет в комплекте:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Также в комплекте идет кабель с разъемами SMA длиной около 3 метров.

Постепенно осваивая программное обеспечение и совершенствуя антенну услышите:

Вот скрин работы с программой SDRSharp

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Всем огромное спасибо за просмотр,хорошего настроения, удачи!

Источник

Что такое SDR приёмник, советы по выбору

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

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

Какой SDR приёмник выбрать и где приобрести.
SDR приёмников выпускается великое множество. Больше всего их производится в Китае, но, так же есть и отечественные. Отечественные, бесспорно более высокого качества и класса, но, и цена у них, не очень, конечно интересная)). Для примера: https://store.eesdr.com/receivers

Поэтому для начинающих радиолюбителей самый лучший вариант – приобрести простой и дешевый китайский SDR приёмник. Рекомендовать к приобретению будем только тот, который лично используем. Вот этот: http://ali.pub/55m0dq

Согласитесь, это бесспорно дешевле, чем обычный SSB приёмник? http://ali.pub/1swq1b

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

Минусы:
— для работы SDR приёмника нужен компьютер (ноутбук, планшет)
— необходимо устанавливать драйвера и программу управления, что может вызвать сложности у тех, кто плохо владеет компьютером.
— для приёма радиолюбителей на коротких волнах необходимо приобрести или самому спаять конвертер, поскольку дешёвые SDR приёмники плохо или вообще не работают ниже 24-30МГц.

В следующих статьях подробно расскажем, как установить драйвера и программу для SDR приёмника, а так же, как приобрести, или самому спаять конвертер.

Источник

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

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

История

Идея software defined radio базируется на двух китах:

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

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

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

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

По этому поводу основан проект. Уже успешно были приняты TETRA (

430 МГц) и сигналы спутника Турaйя (

1550 МГц), что для 8-ми битных квадратур весьма и весьма неплохо.

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Виды SDR

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

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

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

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

И наконец, о ценах. Их диапазон весьма варьируется, от 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, будет рассказано во второй части.

Источник

Software Defined Radio руками шестнадцатилетнего подростка

SDR, или программно-определяемая радиосистема – это устройство для работы с радио, в котором работает мини-компьютер со специальным программным обеспечением. Он заменяет традиционные аппаратные компоненты: фильтры, усилители, модуляторы и демоуляторы. Это позволяет создать радиоприемник, работающий с самыми разными протоколами. Вообразите себе радиолу, которая кроме «ХитFM» может принимать аналоговое и цифровое телевидение, связываться по Wi-Fi, Bluetooth и GPS, а также засекать излучение пульсаров.

А теперь представьте себе американского девятиклассника, который решил сделать такую радиолу, заказал через интернет ПЛИС, радиомодуль, развёл шестислойную плату, а потом своими руками смонтировал на неё почти 300 компонентов. И через три ревизии это всё у него заработало!

Что такое SDR

Кому может понадобиться такая радиола? Радиолюбителям, которые здорово эволюционировали! Двадцать лет назад увлеченный человек покупал сложный приёмник и часами сидел в наушниках, вращая частоты в поисках интересных сигналов. В современном мире радиоэфир переполнен информацией, но вся она цифровая. Слушать в наушниках пакеты Wi-Fi не представляет никакого интереса. Сегодня радиолюбитель находит в эфире интересные цифровые радиостанции, а потом подбирает софт, который разбирает протокол передачи и преобразует информацию. К примеру, можно принимать данные телеметрии гражданской авиации – на основе такого рода информации от множества радиолюбителей по всему миру сайт flightradar публикует данные о воздушных судах.

Вы можете прямо сейчас своими глазами увидеть работу Software Defined Radio. Университет Твенте содержит увлекательный проект онлайн SDR-приёмника, который принимает сразу кусок спектра шириной в 29MHz, после чего радиолюбители могут параллельно прослушивать различные несущие этого диапазона. Каталог подобных радиопроектов собран на сайте

Большую роль в популярности любительского SDR играет небольшая стоимость минимального комплекта оборудования. Обнаружились недорогие TV-тюнеры, реализованные на Software-Defined Radio, и в интернете немедленно появились инструкции о том, как использовать такие тюнеры, чтобы прослушивать с их помощью не только телевизионный сигнал. Специализированный комплект на китайском рынке стоит всего 35$ правда, он приходит разобранным (в необходимости предварительно спаять и заключается его шарм) и поддерживает диапазон только 100KHz-1.7GHz. Конечно, аппетит приходит во время еды, и очень скоро радиолюбитель начинает смотреть в сторону оборудования, которое может принимать широкие частотные диапазоны на высокой скорости. Давайте рассмотрим, какие серьёзные приборы сейчас наиболее популярны.

НазваниеДиапазонМакс. ширина каналаADC Sample RateЦена
hackRF One1MHz — 6GHz20MHz20MSPS$299
bladeRF x40300MHz — 3.8GHz28MHz38.4MSPS$420
USRP B205mini-i70 MHz — 6 GHz56MHz61.44MSPS$750
LimeSDR (coming soon)100 kHz — 3.8 GHz61.44MHz61.44MSPS$299
RTL-SDR (receive only)22 MHz — 3.8 GHz (24 – 1766 MHz для R820T2)3.2MHz3.2MSPS$10
Per Vices Crimson0 MHz — 6 GHz1200MHz370MSPS$6500

В двух словах: начинать знакомство с SDR можно с дешёвых вариантов типа RTL-SDR. Когда аппетит исследователя превысит небольшие возможности устройства, придётся искать замену подороже. Устройства типа Per Vices Crimson используются очень серьёзными специалистами, чьи компьютеры достаточно производительны для обработки таких потоков информации. LimeSDR на данный момент только-только закончил сбор средств на Kickstarter. Выглядит очень заманчиво: частота семплирования максимальна для USB3.0, а ширина канала достаточна для поднятия шести 10MHz сот LTE.

«Да что эти американские школьники себе позволяют!» — кричат в комментариях к статье Лукаса. Люди годами совершенствуют своё мастерство, а этот мальчишка сделал всё между уроками! Мы решили, что так это оставлять нельзя, и связались с Лукасом. В этой серии статей мы рассмотрим все аспекты создания подобного устройства, чтобы российские школьники перенимали опыт и делали не менее восхитительные вещи. Начнём с перевода на русский язык дневника Лукаса, в котором можно пронаблюдать ход проекта и его переживания в связи с ним. Затем мы разберём выбранные решения и попробуем изготовить такое устройство в российских условиях.

Разработка аппаратной части

Из дневника Лукаса Лао Байер
FreeSRP – доступная программно-определяемая радиосистема. Я ее разработал, потому что не нашел устройств с более высокой пропускной способностью, чем HackRF за 300$, но дешевле более производительной USRP за 700$. Некоторые компоненты еще требуют доработки, но система будет полностью соответствовать философии Open Source.

FreeSRP основана на трансивере Analog Devices AD9364. Ключевые возможности:

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

Я начал работу над системой два года назад, летом 2014, когда мне было 16. На тот момент у меня не было опыта серьезной работы с железом, не считая низкопроизводительных плат для моего проекта High Altitude Balloon. Поэтому я понимал, что разработка FreeSRP будет непростой во всех аспектах: скоростные шины (100MHz), USB3.0, сигнальные дорожки с производительностью до 6GHz, сложные схемы питания с семью различными напряжениями… Очень хотелось собрать компактную систему на современных компонентах, так что пришлось познакомиться с такими компонентами, как BGA или QFN.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Сравните мою предыдущую плату и нынешнюю

Что и говорить, амбициозность проекта колоссальна. Однако, меня это нисколько не пугало, и я начал с чистого листа, исходя лишь из того, что я точно буду использовать трансивер AD9346, а мост между трансивером и USB3.0 реализую на ПЛИС. Недолгие поиски привели меня к Xilinx Artix 7 и контроллеру Cypress EZ-USB FX3. Эти игрушки показались мне оптимальными рещениями в плане цены.

На основе даташитов и референсных дизайнов я постепенно подготовил принципиальную схему, в которой решил вопросы по всем остальным компонентам. Для разработки я использовал Altium Designer. Хотя он и не open source, для меня это был наиболее интуитивно понятный пакет дизайна печатных плат. Многие его прекрасные функции весьма помогли мне в разработке: жизнь становится гораздо проще, если у тебя есть инструменты для отрисовки параллельных шин или дорожек с конкретным сопротивлением. Впрочем, когда я закончу устранение недочётов в дизайне, я перерисую всё в KiCad, чтобы большему числу людей было удобнее пользоваться моими разработками.

От дизайна к прототипу

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Когда схема готова, пора выпускать шаблон платы. Для прототипа очень важна цена изготовления, и в мой бюджет еле-еле умещалась четырёхслойная плата от нашего американского сервиса OSH Park, который славится низким ценником на штучные заказы. Пусть у них есть только четырёхслойки, параметры изготовления весьма хороши — дорожки 5 mil с такими же промежутками, 10 mil для отверстий, а также прекрасный субстрат Isola FR408, от качества которого зависит радиосигнал.

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Изготовление прототипа
После долгих треволнений, я всё же заказал три платы, и в январе 2015 они — УРА! — приехали. Я намеревался самостоятельно собирать плату, поэтому дополнительно заказал шаблон монтажа на пленке для паяльной пасты. Для монтажа я использовал галогеновую печку и контроллер собственной разработки.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Частичная сборка
У меня было три печатные платы, поэтому я сначала собрал прототип лишь частично. На одной плате установил только регуляторы напряжения, и благодаря этому обнаружил проблему с регулятором на 1.8В. Ничего страшного, я заменил его внешним источником питания. А вот проблему с регулятором на 1.3В я устранить не смог, потому что здесь уже проблема заключалась в ошибке проектирования, так что в первой ревизии я не смог запустить радио.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Первое включение

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Тест на дым был пройден успешно, и лампочки загорелись. Ни ПЛИС, ни USB на ощупь не нагревались. Я подключил USB в компьютер, и операционка обнаружила чип Cypress. Затем я запустил приложения Xilinx, и они подключились к ПЛИС через JTAG. Похоже, всё заработало! Рассмотрев детальней, я конечно нашёл ошибку: криво развёл разьём USB3.0, так что заработала только вторая версия. Ничего страшного, начнём тестировать в таком виде, и исправим проблему позже.

Вторая ревизия
Во второй ревизии мне понадобилось устранить проблемы с питанием и разводкой USB3.0. В результате, я получил полностью рабочую цифровую часть платы, и пора было переходить к радиочасти.
Сначала я не стал трогать трансивер, и собрал все остальные компоненты. Параллельно, началась разработка программной части проекта. До этого я никогда не программировал ПЛИС, поэтому мне пришлось изучать Verilog с нуля. На этом этапе я решил реализовать параллельный интерфейс к USB-контроллеру. Хотя все части проекта были не тривиальны, разработка ПЛИС для меня стала самой жуткой частью проекта. Очень сложно найти документацию для чайников по использованию инструментов и IP-блоков. Сообщения, которые писала Vivado Design Suite, были для меня китайской грамотой, а включение готовых IP-блоков приводило к сотням непонятных уведомлений. Скорее всего, я просто не умею пока правильно готовить на этой кухне.Даже самые минимальные изменения в дизайне требовали мучительно долгого обсчёта программой, поэтому всё необходимо симулировать — а это еще больше усложняет вход в чудесный мир ПЛИС. А отладка! Без Integrated Logic Analyzer отлаживать что-либо совершенно невозможно, а он стал бесплатным только в 2016 году– до этого прайс был очень высоким. Поэтому пришлось при отладке передавать часть тестовой информации морганием диода, а часть — на ножки GPIO и смотреть сигнал осциллоскопом.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

В вопрос по тактированию я вник до конца не сразу – только к третьей попытке пришло осознание, что тактовый сигнал трансивера нужно было обязательно завернуть в clock-inputs на ПЛИС.
Наигравшись с Verilog, я решил, что самое время впаивать трансивер. Я взял третью плату, вновь установил на неё три сотни компонентов, как и ранее, начав с нижней стороны. Но когда я паял верхнюю сторону, контроллер моей печки объявил забастовку и не выключил печь. Я не мог получать показания по температуре в печи, а контролировать агрегат удавалось только включая-выключая его или открывая дверцу. Никакие мои молитвы не помогли: на дорожках появилось КЗ. Я попытался починить, но тщетно: при включении ПЛИС нагревался. Увы, я только что сжег в печи четыре сотни баксов, и этот факт совсем не придавал мне уверенности.

Тем не менее, я был решительно настроен закончить проект, поэтому разбил копилку, вновь заказал компоненты и через несколько недель предпринял еще одну попытку всё собрать. Вы не представляете, как я потел в этот раз, словно в финале турнира по покеру! К счастью, всё прошло без сюрпризов.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Оказывается, я по ошибке последовательно включил два резистора — 698Ом и 536ОМ (в сумме 1234Ом) вместо 14.3 килоомного резистора из документации! Я заменил резисторы, и чип перестал греться, но он всё равно не работал. Похоже, я его спалил.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

В результате долгих экспериментов, я прикрутил драйвер трансивера и справился с генерацией тестовых сигналов. У меня заработала цепочка передачи сигнала от ПЛИС к USB, так что дальше я мог управлять своей SDR с компьютера с помощью библиотеки на более знакомом мне C++. Затем я реализовал совместимость моей платы с GNURadio, так что теперь с этой платой могли работать все полезные программы, реализованные на базе GNURadio.

Третья ревизия

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

В какой-то момент я нашёл силы на ещё один рывок и сделал третью ревизию. Я исправил досадную ошибку с 14.3 килоомным резистором, соединил clock-inputs с FPGA, и заменил осциллятор трансивера на кристалл, чтобы упростить раздачу тактового сигнала и исключить дальнейшие проблемы.

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

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

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Раз софт у меня уже был готов, я сразу смог запустить трансивер на прием, и вот они долгожданные первые сэмплы в GNURadio!

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Постановка задачи
Большое спасибо Лукасу за его подробный отчёт, а сейчас давайте рассмотрим его решения.
Итак, Лукас хотел сделать широкополосную программно-определяемую радиосистему с характеристиками лучше, чем у hackRF, и дешевле USRP. Давайте рассмотрим, как устроено оборудование конкурентов.

USRP

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое
sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

hackRF

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Последнее изображение выглядит наиболее лаконично, однако все три устройства имеют одинаковую архитектуру: сигнал принимается из эфира, оцифровывается и передаётся в USB. Есть различия в деталях. В hackRF радиочасть реализована в виде нескольких компонент: сигнал после приёма с помощью миксера сдвигается в промежуточную частоту диапазона 2.3-2.7GHz, затем преобразуется в синфазную и квадратурную составляющую сигнала, которая уже оцифровывется. Другие устройства решают эту задачу одним компонентом — трансивером. Преобразование цифрового сигнала для передачи в USB, а также управление радиотрактом, осуществляется при помощи ПЛИС (FPGA) либо микроконтроллера.

Проектируя систему сверху вниз, мы разделим её на три части: RF, FPGA и USB, и сначала проработаем каждый блок по отдельности, а затем разберёмся, как связать их вместе.

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

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

2.5GHz (это называется LO-синтез), затем этот сигнал попадает в узкополосный трансивер MAX2837, превращается в baseband и в таком виде идёт в MAX5864 — это как раз цифро-аналоговый (и обратно) преобразователь.

AD9364
Analog Devices выпускают отличные трансиверы, которые часто используются в различных SDR-проектах. Выше на схеме видно, что такой чип, к примеру, комфортно себя чувствует на устройствах USRP. У производителя можно купить чип на демонстрационной плате AD-FMCOMMS4-EBZ, которая в принципе является готовой примитивной SDR.

LMS6002D
Чипы Lime Micro используются во множестве систем (bladeRF, например), в том числе и в российской SDR-разработке umTRX, а в этом году они замахнулись на собственную SDR-систему и успешно собрали на Kickstarter средства для запуска LimeSDR в продакшн. В целом, Лукас вполне имел право использовать этот чип в своей работе, он прекрасен, и главный его недостаток — диапазон принимаемых частот вполовину уже, чем у AD9364.

Поэтому в итоге Лукас выбрал вариант с AD9364, и немедленно заказал его.

Выбор FPGA
Самое сложное при выборе ПЛИС — это определиться Altera или Xilinx. Эти компании словно Sony и Nintendo производят одинаково крутое железо, и дьявол лишь в деталях. Какая же разница между Altera и Xilinx?

Altera славится очень долгой поддержкой своих микросхем. Среда разработки Xilinx Vivado работает только с последней (седьмой) серией микросхем, тогда как Altera’s Quartus поддерживает даже Flex 10K, которому пятнадцать лет исполнилось с момента первого выпуска. На момент старта проекта, софт для отладки Xilinx стоил 700$ (и стал бесплатным только в этом году), а у Altera он бесплатен. IP-блоки (готовые программные библиотеки) в Altera можно попробовать во время демо-периода с ограничениями. В итоге, для новичка-любителя Altera выглядит предпочтительней. Зато в Xilinx умнее DSP часть, в ней есть не только умножение (как в Altera), но и предсложение с аккумулятором, что уменьшает количество необходимых логических блоков для решения задачи.

Но Лукаc выбрал Xilinx. Он утверждает, что из-за цены, но я думаю, что наугад (сравните, Xilinx Aritx-7 и Altera Cyclone V).

Как выбрать конкретную модель микросхемы у Xilinx? Два года назад выбор стоял между Spartan-6 и Artix-7, которые считаются low-cost предложением Xilinx. Spartan-6 отпадает, потому что его не поддерживает программное обеспечение Vivado.

Все BGA семейства Artix-7 совместимы что называется pin-to-pin, поэтому дальше Лукас просто ткнул в модель 50T, решив определиться с конкретной моделью, когда софт будет готов и точно определятся требования к производительности микросхемы.

Какие FPGA используют в других аналогичных проектах?

SDRМодель FPGALogic Cells
USRP B200Xilinx Spartan 6 LX150150k
USRP B210Xilinx Spartan 6 LX7575k
bladeRF x40Altera Cyclone 440k
bladeRF x115Altera Cyclone 4115k
hackRFCPLDxx

Автор hackRF не стал ставить FPGA, а выбрал более дешёвую технологию — CPLD, что является, скажем так, упрощённой версией FPGA. В результате, он практически ничего полезного не может в ней делать и вообще планирует исключить ПЛИС из своего дизайна, переведя управление трансивером на чип USB-контроллера.

USB3.0
Осталось определиться с решением для USB3.0. Самое популярное решение здесь — микроконтроллер Cypress FX3, и сложно придумать причины не использовать его. Тем не менее, рассмотрим альтернативы.

Первым на ум приходит FTDI FT60x — микроконтроллер в корпусе QFN. Компания FTDI знаменита тем, что любит выпускать драйвера, которые намеренно убивают твой чип, если он является подделкой. Если для USB2.0 чипы этой компании считались стандартом де-факто, то в USB3.0 они, к сожалению, упустили свой рынок таким странным отношением к оборудованию конечного пользователя и низким качеством софта.

Другой вариант — взять трансивер от Texas Instruments TUSB1310A, а MAC-уровень реализовать в ПЛИС. Трансивер стоит на 20$ дешевле, чем микроконтроллер от Cypress FX3, и я затрудняюсь прокомментировать, почему Лукас не сделал именно так.

Изготовление печатной платы
Если вам больше хочется программировать, чем развлекаться с паяльником, я бы рекомендовал делать прототип на готовой плате. Хороший список готовых плат на разных ПЛИС можно найти на специальном сайте. Для этого конкретного проекта есть идеальный вариант готовой платы с USB3.0 и FPGA Artix 7 остаётся только скоммутировать трансивер и можно немедленно приступать к экспериментам.

Однако, Лукасу в этом проекте были интересны все этапы. Более того, он даже монтировать плату хотел сам. Прототипы Лукас изготовил в OSH Park — это очень популярный сервис среди американских студентов. Цена у них идёт от площади платы (10$ за квадратный дюйм), и с учётом расположения в США вся процедура занимает весьма короткий промежуток времени. Однако, сейчас, когда на плату есть заказы и её нужно изготавливать десятками, имеет смысл поискать самый оптимальный вариант для её изготовления. Ниже в таблице я привёл сравнение российских и зарубежных сервисов по изготовлению плат без монтажа на них.

Сравнение цен на изготовление печатной платы. Требования:

ПредприятиеСтоимость за пять штук шестислойкиПять штук четырёхслойки
OSH ParkШестислойную не делают123$ за три штуки, опт — от 150 квадратных дюймов
PCB tech614$
Резонит153$
EasyEDA284$
seeedstudio.com158$
pcbwing348$299$
PCB Offshore280$ / 4pcs140$ / 4pcs
PCBCart191$93$

Часть российских заводов ответили отказом или выставили заградительные цены: не хотят связываться с мелкосерийным заказом. Хочу обратить внимание, что при текущем курсе доллара услуги российской компании Резонит оказываются даже предпочтительней китацев. Плюс, они готовы сами смонтировать платы, если вы предоставите им комплектующие. На данный момент, из этого списка я лично работал только с EasyEDA, и нареканий нет. Цены Резонита приятно удивили Лукаса, и сейчас мы планируем разместить там заказ платы по его проекту. Когда у нас всё получится, я обязательно расскажу вам детали взаимодействия с заводом, а также подготовлю статью о процессе проектирования печатной платы и подготовке проекта к изготовлению.

Пишем ПО

Из дневника Лукаса Лао Байер
Чтобы эта плата начала приносить пользу, необходимо разработать несколько компонент:

Для персонального компьютера я написал C++ библиотеку на основе libusb. Однако, чтобы не изобретать велосипед, я решил интегрироваться в какой-нибудь популярный фреймворк, и очевидным выбором была GNU Radio.

Сначала я собирался просто написать собственный блок для GNU Radio, но затем я натолкнулся на проект gr-osmosdr, который осуществляет поддержку многих популярных SDR. В комплекте с ним идёт анализатор спектра, генератора сигнала. Плюс, эта библиотека уже используется другими приложениями (например, Gqrx, AirProbe/gr-gsm). Соответственно, если я сделаю патч в этот проект, то моя плата автоматически появится в этих приложениях.

Потому я скопировал себе актуальную версию gr-osmosdr, и дальше просто смотрел какие правки делались для поддержки других SDR. В итоге, потребовались очень небольшие правки, чтобы библиотека увидела мою плату. Дальше появились функции для настройки частоты, ширины спектра и т.д. Ключевая функция — work — производит или потребляет данные из потока GNU Radio. Сначала я реализовал простую очередь, чтобы как можно быстрее начать играть с платой, но, конечно, это неэффективно. Сейчас я обновил алгоритм и сделал, как делают все папы: через обратные вызовы и синхронизацию с помощью условных переменных

В общем, теперь для работы с моей платой через gr-osmosdr нужно просто указать аргумент freesrp.

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

Чтобы проверить частоту дискретизации платы, я гнал сигнал из блока GNU Radio «probe rate», а на ПЛИС собрал простой счётчик:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Сигнал генерируется в ПЛИС и принимается в GNU Radio. Частота дискретизации вбита прямо в код. Получаемая частота дискретизации выводится в отладочное окно.

Дальше тестировал цепь передачи сигнала. Теперь сигнал генерируется в GNU Radio и сливается в (sink block).

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Теперь проверяем, что ПЛИС правильно декодирует данные: драйвер должен возвращать 32-битное слово, в котором будет два 12-битных сэмпла (I и Q) и выравнивающая пустота. С помощью программы Integrated Logic Analyzer я мог получить доступ к 12-битным сэмплам в ПЛИС и сравнить их с тем, что я вижу на моём компьютере.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

I и Q сигналы на конце цепочки передачи данных в ПЛИС.

GNU Radio генерировал синусы и косинусы, но данные где-то портились. В итоге оказалось, что ошибка была в моей библиотеке freesrp, она неправильно форматировала данные. Когда я её починил, то собрал петлю в ПЛИС:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

И всё почти работало. Только некоторые сэмплы терялись и заменялись на нули. На следующей картинке мы видим сгенерированный синий сигнал I, красный Q и сигнал, который прилетел обратно — зелёный I и чёрный Q:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

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

Весёлые эксперименты с GNU Radio
Теперь мне очень хотелось попробовать декодировать реальные сигналы. Первыми моими жертвами стали GSM и Zigbee, потому что для них есть готовые библиотеки gr-gsm and gr-ieee802-15-4.

GSM
Внешние модули GNU Radio собираются через cmake, потому всё просто:

В пакете gr-gsm идёт некоторое количество пробных приложений. Самые интересные — grgsm_scanner and grgsm_livemon. С помощью первого можно поискать GSM вещание и вычленить из них какие-то идентификаторы, а также получить список базовых станций.

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Поглядите, кстати, я в качестве аргумента указываю код своей платы freesrp — и всё работает. Это очень приятное чувство.

Второе приложение позволяет настроиться на один из GSM каналов, расшифровать данные и отправить их в твою локальную сеть, где их можно послушать через Wireshark. Я добавил в программу модуль gr-fosphor, чтобы скриншот стал более красочным:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

802.15.4 (Zigbee)

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

Установка модуля настолько же проста, как и в случае с gr-gsm. Примеры, которые идут с библиотекой, сделаны для коммуникационного стека Rime, поэтому я отрезал от него всё, что не касается самого Zigbee, и добавил блок TCP Server, чтобы можно было по локальной сети подключаться и отправлять данные:

sdr радиоприемник что это такое. Смотреть фото sdr радиоприемник что это такое. Смотреть картинку sdr радиоприемник что это такое. Картинка про sdr радиоприемник что это такое. Фото sdr радиоприемник что это такое

Для примера я написал два Python-скрипта: один подключается к XBee через USB, а другой цепляется на TCP порты в GNU Radio. И затем я просто передавал текстовые сообщения через протокол 802.15.4, как в чате.

О разработке драйвера
Дизайн ПЛИС и USB-контроллера
Сейчас моя ПЛИС ничего особого не делает, кроме как служит интерфейсом между трансивером и USB. Из-за простоты реализации, я запустил на MicroBlaze драйвер от AD9364, который производит настройку и калибровку. Драйвер взаимодействует с USB через UART. Вскоре я перенесу этот драйвер на контроллер USB.

AD9364 выдаёт семплы в 12-битный порт чередуя I и Q. Есть ещё один 12-битный порт, куда надо отправлять исходящией I\Q значения. Так же трансивер предоставляет DDR-клок в зависимости от выбранной частоты дискретизации. Во входной сигнальной цепи происходит обратное перемежение и складывание в 24битную очередь.

В контроллере USB есть механизм DMA, куда ПЛИС может напрямую писать (и оттуда же читать) данные через 32битную шину. Поэтому когда в очереди ПЛИС накопилось достаточно данных, а FX3 готова к приёму, конечный автомат перебрасывал данные.

Сейчас я использую только 24 бита из доступных 32. Влезает один I\Q семпл, и остальные 8 бит я просто отбрасываю. Но для полнодуплексной передачи данных нужно будет использовать все 32 бита.

USB контроллер предоставляет следующие контрольные точки:

После включения FPGA можно настроить через INTERRUPT OUT.

Libfreesrp
Библиотека взаимодействия с FreeSRP очень проста. Для приёма и отправки используется интерфейс libusb. Это позволяет накапливать в очередь данные для оптимальной обработки операционной системой. Пользователь указывает колбэк, который будет вызван если поступили новые данные или буферы отправки освободились.

Планы
Дмитрий Стольников из gr-osmosdr уже связался со мной и предложил слить мои изменения в основную ветку библиотеки. Я вскоре закончу её полировать и сделаю это.

Когда я избавлюсь от MicroBlaze и перенесу драйвер на FX3, ПЛИС почти полностью освободится. Я бы хотел воспользоваться этим для экспериментов с обработкой сигналов в реальном времени прямо на ПЛИС.

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

Выпуск продукта

В апреле Лукас запустил краудфандинг для своего продукта и получил первую партию заказов на 20000$ (то есть, порядка пятидесяти экземпляров).

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

Источник

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

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