Обзор лучших SDR для хакера
Мы часто рассказываем об использовании устройств SDR, но многие наши читатели еще не приобрели свой SDR. В этой статье рассмотрим лучшие SDR для хакера, от дорогих до сравнительно дешевых.
Обзор лучших SDR для хакера
Давайте рассмотрим характеристики, преимущества и недостатки популярных устройств для программно-определяемой радиосвязи SDR и попробуем выбрать лучший вариант для радиохакинга.
USRP имеет несколько моделей, которые различают интерфейсами габаритами. Серия USRP X использует интерфейс 10g Ethernet, серия USRP N использует iG Ethernet, серия USRP B использует интерфейс USB 2.0 (старый) и интерфейс USB 3.0 (новый), а серия USRP E имеет встроенный процессор ARM и не требует хост-компьютер.

Серия USRP B является фаворитом, поскольку в ней используется USB 3.0, а USRP B200mini имеет размер визитной карточки.

RTL-SDR
RTL-SDR — это один из самых популярных устройств среди хакеров. Это недорогое, но функциональное устройство старта в области радиохакинга. Устройство можно приобрести за 40 долларов.
RTL-SDR основан на DVB-T, в котором используется чип RTL2832U. Этот ключ изначально использовался для просмотра ТВ на компьютерах. RTL-SDR поддерживает множество программ, основанных на библиотеке librtlsdr.

RTL-SDR можно использовать для анализа сигналов. Сильной стороной RTL-SDR является его низкая стоимость. К недостаткам RTL-SDR можно отнести то, что он не может передавать сигналы, например, при повторных атаках.
HackRF
HackRF — отличный выбор для начинающих, которые ищут недорогое оборудование SDR, которое может как передавать, так и принимать. Многие проекты «SDR для хакеров» требуют передачи, например повторных атак.

HackRF имеет открытый исходный код, включая принципиальную схему, схему печатной платы, код драйвера и прошивку для одного чипа. HackRF поддерживает частоты от 1 МГц до 6 ГГц. HackRF может передавать и принимать данные только в полудуплексном режиме, что является серьезным недостатком высокопроизводительных систем.
BladeRF
BladeRF — это высокопроизводительное оборудование для SDR для хакеров. В отличие от HackRF, он является полнодуплексным, что делает его идеальным для высокопроизводительных приложений, таких как OpenBTS (OpenBTS — базовая станция сотовой связи с открытым исходным кодом).

Единственным его недостатком является диапазон частот. BladeRF может отправлять и принимать радиочастоты только до 3,8 ГГц.
LimeSDR
LimeSDR — это платформа SDR с открытым исходным кодом и приложениями. Он способен принимать и передавать UMTS, LTE, GSM, LoRa, Bluetooth, Ziggbee, RFID, цифровое вещание и многое другое.

Одной из сильных сторон LimeSDR является поддержка приложений. LimeSDR интегрирован в ядро Snappy Ubuntu, и любой, кто может загрузить и использовать приложение, может использовать LimeSDR.
Это делает его возможности доступными для гораздо более широкой аудитории. EE, крупнейший оператор мобильной связи Великобритании, распространяет LimeSDR среди образовательных учреждений для обучения и развития.
Приложения, доступные для LimeSDR, включают в себя;
- Радиоастрономия
- РАДАР
- Базовая станция сотовой связи от 2G до 4G
- Потоковая передача мультимедиа
- Шлюз Интернета вещей
- Радиолюбитель
- Эмуляция и обнаружение беспроводной клавиатуры и мыши
- Системы контроля давления в шинах
- Авиационные транспондеры
- Коммунальные счетчики
- Управление дроном
- Испытания и измерения
- Сравнение спецификаций
Выбор SDR для хакера
Эти пять аппаратных платформ предлагают широкий спектр возможностей и цен для хакера, который хочет проникнуть в SDR и радиохакинга.
Мы рекомендуем RTL-SDR для тех, кто только начинает и имеет ограниченный бюджет. Для тех, кто хочет взломать радиосигналы, вам, вероятно, понадобится трансивер, а HackRF One — отличная платформа по разумной цене.
Те, кому нужна высокая производительность и полный дуплекс, скорее всего, захотят потратить немного больше и купить BladeRF или LimeSDR. Для тех, кто ищет простую в использовании настройку и приложение, LimeSDR может быть вашим лучшим выбором.
Software Defined Radio руками шестнадцатилетнего подростка
SDR, или программно-определяемая радиосистема – это устройство для работы с радио, в котором работает мини-компьютер со специальным программным обеспечением. Он заменяет традиционные аппаратные компоненты: фильтры, усилители, модуляторы и демоуляторы. Это позволяет создать радиоприемник, работающий с самыми разными протоколами. Вообразите себе радиолу, которая кроме «ХитFM» может принимать аналоговое и цифровое телевидение, связываться по Wi-Fi, Bluetooth и GPS, а также засекать излучение пульсаров.
Что такое SDR
Кому может понадобиться такая радиола? Радиолюбителям, которые здорово эволюционировали! Двадцать лет назад увлеченный человек покупал сложный приёмник и часами сидел в наушниках, вращая частоты в поисках интересных сигналов. В современном мире радиоэфир переполнен информацией, но вся она цифровая. Слушать в наушниках пакеты Wi-Fi не представляет никакого интереса. Сегодня радиолюбитель находит в эфире интересные цифровые радиостанции, а потом подбирает софт, который разбирает протокол передачи и преобразует информацию. К примеру, можно принимать данные телеметрии гражданской авиации – на основе такого рода информации от множества радиолюбителей по всему миру сайт flightradar публикует данные о воздушных судах.
Вы можете прямо сейчас своими глазами увидеть работу Software Defined Radio. Университет Твенте содержит увлекательный проект онлайн SDR-приёмника, который принимает сразу кусок спектра шириной в 29MHz, после чего радиолюбители могут параллельно прослушивать различные несущие этого диапазона. Каталог подобных радиопроектов собран на сайте
Большую роль в популярности любительского SDR играет небольшая стоимость минимального комплекта оборудования. Обнаружились недорогие TV-тюнеры, реализованные на Software-Defined Radio, и в интернете немедленно появились инструкции о том, как использовать такие тюнеры, чтобы прослушивать с их помощью не только телевизионный сигнал. Специализированный комплект на китайском рынке стоит всего 35$ правда, он приходит разобранным (в необходимости предварительно спаять и заключается его шарм) и поддерживает диапазон только 100KHz-1.7GHz. Конечно, аппетит приходит во время еды, и очень скоро радиолюбитель начинает смотреть в сторону оборудования, которое может принимать широкие частотные диапазоны на высокой скорости. Давайте рассмотрим, какие серьёзные приборы сейчас наиболее популярны.
| Название | Диапазон | Макс. ширина канала | ADC Sample Rate | Цена |
|---|---|---|---|---|
| hackRF One | 1MHz — 6GHz | 20MHz | 20MSPS | $299 |
| bladeRF x40 | 300MHz — 3.8GHz | 28MHz | 38.4MSPS | $420 |
| USRP B205mini-i | 70 MHz — 6 GHz | 56MHz | 61.44MSPS | $750 |
| LimeSDR (coming soon) | 100 kHz — 3.8 GHz | 61.44MHz | 61.44MSPS | $299 |
| RTL-SDR (receive only) | 22 MHz — 3.8 GHz (24 – 1766 MHz для R820T2) | 3.2MHz | 3.2MSPS | $10 |
| Per Vices Crimson | 0 MHz — 6 GHz | 1200MHz | 370MSPS | $6500 |
В двух словах: начинать знакомство с SDR можно с дешёвых вариантов типа RTL-SDR. Когда аппетит исследователя превысит небольшие возможности устройства, придётся искать замену подороже. Устройства типа Per Vices Crimson используются очень серьёзными специалистами, чьи компьютеры достаточно производительны для обработки таких потоков информации. LimeSDR на данный момент только-только закончил сбор средств на Kickstarter. Выглядит очень заманчиво: частота семплирования максимальна для USB3.0, а ширина канала достаточна для поднятия шести 10MHz сот LTE.
Однако, ещё недавно выбор не был так велик, и если не устраивал hackRF за $300, то следующим вариантом был USRP сразу за $750, и никакого компромисса. В связи с этим, шестнадцатилетний Лукас Лао Бейер решил самостоятельно разработать SDR-плату и недавно опубликовал отчёт о своём проекте. Сказать, что мы были поражены – ничего не сказать, лучше просто промолчать.
«Да что эти американские школьники себе позволяют!» — кричат в комментариях к статье Лукаса. Люди годами совершенствуют своё мастерство, а этот мальчишка сделал всё между уроками! Мы решили, что так это оставлять нельзя, и связались с Лукасом. В этой серии статей мы рассмотрим все аспекты создания подобного устройства, чтобы российские школьники перенимали опыт и делали не менее восхитительные вещи. Начнём с перевода на русский язык дневника Лукаса, в котором можно пронаблюдать ход проекта и его переживания в связи с ним. Затем мы разберём выбранные решения и попробуем изготовить такое устройство в российских условиях.
Разработка аппаратной части
Из дневника Лукаса Лао Байер
FreeSRP – доступная программно-определяемая радиосистема. Я ее разработал, потому что не нашел устройств с более высокой пропускной способностью, чем HackRF за 300$, но дешевле более производительной USRP за 700$. Некоторые компоненты еще требуют доработки, но система будет полностью соответствовать философии Open Source.
FreeSRP основана на трансивере Analog Devices AD9364. Ключевые возможности:
- Полоса в 56MHz
- Частотный диапазон 70MHz — 6GHz
- Полнодуплексный режим работы.
Несмотря на то, что есть другие альтернативы типа LimeSDR, я считаю, что FreeSRP будет востребован. Разработка, как и ожидалось, была невероятно познавательной.
Я начал работу над системой два года назад, летом 2014, когда мне было 16. На тот момент у меня не было опыта серьезной работы с железом, не считая низкопроизводительных плат для моего проекта High Altitude Balloon. Поэтому я понимал, что разработка FreeSRP будет непростой во всех аспектах: скоростные шины (100MHz), USB3.0, сигнальные дорожки с производительностью до 6GHz, сложные схемы питания с семью различными напряжениями… Очень хотелось собрать компактную систему на современных компонентах, так что пришлось познакомиться с такими компонентами, как BGA или QFN.
Сравните мою предыдущую плату и нынешнюю
Что и говорить, амбициозность проекта колоссальна. Однако, меня это нисколько не пугало, и я начал с чистого листа, исходя лишь из того, что я точно буду использовать трансивер AD9346, а мост между трансивером и USB3.0 реализую на ПЛИС. Недолгие поиски привели меня к Xilinx Artix 7 и контроллеру Cypress EZ-USB FX3. Эти игрушки показались мне оптимальными рещениями в плане цены.
На основе даташитов и референсных дизайнов я постепенно подготовил принципиальную схему, в которой решил вопросы по всем остальным компонентам. Для разработки я использовал Altium Designer. Хотя он и не open source, для меня это был наиболее интуитивно понятный пакет дизайна печатных плат. Многие его прекрасные функции весьма помогли мне в разработке: жизнь становится гораздо проще, если у тебя есть инструменты для отрисовки параллельных шин или дорожек с конкретным сопротивлением. Впрочем, когда я закончу устранение недочётов в дизайне, я перерисую всё в KiCad, чтобы большему числу людей было удобнее пользоваться моими разработками.
От дизайна к прототипу
Когда схема готова, пора выпускать шаблон платы. Для прототипа очень важна цена изготовления, и в мой бюджет еле-еле умещалась четырёхслойная плата от нашего американского сервиса OSH Park, который славится низким ценником на штучные заказы. Пусть у них есть только четырёхслойки, параметры изготовления весьма хороши — дорожки 5 mil с такими же промежутками, 10 mil для отверстий, а также прекрасный субстрат Isola FR408, от качества которого зависит радиосигнал.
Самое важное в разработке платы — удобно расположить компоненты. Я старался сделать так, чтобы соединения между компонентами были как можно меньше. Конечно, я изо всех сил стремился сделать плату минимального размера, что сильно влияет на цену. Я начал рисовать прохождения сигнала с одной стороны — от USB — и постепенно добавлял компоненты по ходу этого пути, пока не дошёл до радиоинтерфейса. Компоненты вне этого пути (регуляторы напряжения) были добавлены в оставшиеся свободные места на плате.
С первого раза, разумеется, вышло не идеально, и довольно долго я увлеченно переделывал плату, пока наконец не понял, что уже всё хорошо. Самая сильная боль наступила, когда я начал разводить BGA на своей четырёхслойной плате. Тем не менее, я справился. Дизайн прошёл все проверки, и я ещё на несколько раз проверил всё вручную. Совершенно не хотелось рвать на себе волосы после изготовления платы с ошибкой, потому что это, конечно, было бы уже никак не исправить.
Изготовление прототипа
После долгих треволнений, я всё же заказал три платы, и в январе 2015 они — УРА! — приехали. Я намеревался самостоятельно собирать плату, поэтому дополнительно заказал шаблон монтажа на пленке для паяльной пасты. Для монтажа я использовал галогеновую печку и контроллер собственной разработки.
Так как FreeSRP основан на двухсторонней плате, я сначала монтировал нижний слой. В дизайне я расположил снизу только маленькие компоненты: когда я буду запекать плату второй раз при монтаже верхнего слоя, маленькие компоненты удержатся на плате даже вверх ногами.
Частичная сборка
У меня было три печатные платы, поэтому я сначала собрал прототип лишь частично. На одной плате установил только регуляторы напряжения, и благодаря этому обнаружил проблему с регулятором на 1.8В. Ничего страшного, я заменил его внешним источником питания. А вот проблему с регулятором на 1.3В я устранить не смог, потому что здесь уже проблема заключалась в ошибке проектирования, так что в первой ревизии я не смог запустить радио.
На второй плате я собрал всю цифровую часть: USB и FPGA. Впервые мне довелось монтировать BGA, и я делал это вручную. После долгих часов напряжённого и кропотливого монтажа дорогущих компонентов без права на ошибку, я дрожащими руками аккуратно положил плату в печь. Ожидание было мучительным, и как же я ликовал, когда всё прошло идеально!
Первое включение
Конечно, я невероятно страшился первого включения платы. Хотя цепи питания были проверены на первой плате, я всё равно не исключал, что сейчас мои драгоценные компонентики вспыхнут синим пламенем. Возможно есть какой-то безопасный способ включать не тестированную плату. Мне ничего лучше не пришло в голову, как плавно повышать ток на блоке питания, и молиться, чтобы нигде не пошёл дым.
Тест на дым был пройден успешно, и лампочки загорелись. Ни ПЛИС, ни USB на ощупь не нагревались. Я подключил USB в компьютер, и операционка обнаружила чип Cypress. Затем я запустил приложения Xilinx, и они подключились к ПЛИС через JTAG. Похоже, всё заработало! Рассмотрев детальней, я конечно нашёл ошибку: криво развёл разьём USB3.0, так что заработала только вторая версия. Ничего страшного, начнём тестировать в таком виде, и исправим проблему позже.
Вторая ревизия
Во второй ревизии мне понадобилось устранить проблемы с питанием и разводкой USB3.0. В результате, я получил полностью рабочую цифровую часть платы, и пора было переходить к радиочасти.
Сначала я не стал трогать трансивер, и собрал все остальные компоненты. Параллельно, началась разработка программной части проекта. До этого я никогда не программировал ПЛИС, поэтому мне пришлось изучать Verilog с нуля. На этом этапе я решил реализовать параллельный интерфейс к USB-контроллеру. Хотя все части проекта были не тривиальны, разработка ПЛИС для меня стала самой жуткой частью проекта. Очень сложно найти документацию для чайников по использованию инструментов и IP-блоков. Сообщения, которые писала Vivado Design Suite, были для меня китайской грамотой, а включение готовых IP-блоков приводило к сотням непонятных уведомлений. Скорее всего, я просто не умею пока правильно готовить на этой кухне.Даже самые минимальные изменения в дизайне требовали мучительно долгого обсчёта программой, поэтому всё необходимо симулировать — а это еще больше усложняет вход в чудесный мир ПЛИС. А отладка! Без Integrated Logic Analyzer отлаживать что-либо совершенно невозможно, а он стал бесплатным только в 2016 году– до этого прайс был очень высоким. Поэтому пришлось при отладке передавать часть тестовой информации морганием диода, а часть — на ножки GPIO и смотреть сигнал осциллоскопом.
В вопрос по тактированию я вник до конца не сразу – только к третьей попытке пришло осознание, что тактовый сигнал трансивера нужно было обязательно завернуть в clock-inputs на ПЛИС.
Наигравшись с Verilog, я решил, что самое время впаивать трансивер. Я взял третью плату, вновь установил на неё три сотни компонентов, как и ранее, начав с нижней стороны. Но когда я паял верхнюю сторону, контроллер моей печки объявил забастовку и не выключил печь. Я не мог получать показания по температуре в печи, а контролировать агрегат удавалось только включая-выключая его или открывая дверцу. Никакие мои молитвы не помогли: на дорожках появилось КЗ. Я попытался починить, но тщетно: при включении ПЛИС нагревался. Увы, я только что сжег в печи четыре сотни баксов, и этот факт совсем не придавал мне уверенности.
Тем не менее, я был решительно настроен закончить проект, поэтому разбил копилку, вновь заказал компоненты и через несколько недель предпринял еще одну попытку всё собрать. Вы не представляете, как я потел в этот раз, словно в финале турнира по покеру! К счастью, всё прошло без сюрпризов.
Цифровая часть в новом прототипе работала идеально. А вот трансивер работать не хотел, его конфигурационный порт просто не отвечал. Потом я заметил, что трансивер на ощупь горячий. Почему он так нагрелся, было непонятно, ведь он должен спать без конфигурации. Я безуспешно пытался найти проблемы в питания. Излазил все схемы, перепроверил все на сто раз. И потом я обнаружил следующую вещь.
Оказывается, я по ошибке последовательно включил два резистора — 698Ом и 536ОМ (в сумме 1234Ом) вместо 14.3 килоомного резистора из документации! Я заменил резисторы, и чип перестал греться, но он всё равно не работал. Похоже, я его спалил.
В общем, в этот момент я решил, что сделано уже достаточно много для такого юного специалиста без глубоких знаний электроники, и пора проект отложить. Но у меня осталась работающая ПЛИС, поэтому я стал развлекаться с ней.
В результате долгих экспериментов, я прикрутил драйвер трансивера и справился с генерацией тестовых сигналов. У меня заработала цепочка передачи сигнала от ПЛИС к USB, так что дальше я мог управлять своей SDR с компьютера с помощью библиотеки на более знакомом мне C++. Затем я реализовал совместимость моей платы с GNURadio, так что теперь с этой платой могли работать все полезные программы, реализованные на базе GNURadio.
Третья ревизия
В какой-то момент я нашёл силы на ещё один рывок и сделал третью ревизию. Я исправил досадную ошибку с 14.3 килоомным резистором, соединил clock-inputs с FPGA, и заменил осциллятор трансивера на кристалл, чтобы упростить раздачу тактового сигнала и исключить дальнейшие проблемы.
Конечно, проект вышел за рамки срока и бюджета, но сейчас мне уже кажется, что иметь всего три ревизии до работающей платы — это совсем неплохо!
Также на этой ревизии я перешёл на шестислойную печатную плату. Прототипы стали стоить дороже, но расстояние между сигнальными дорожками значительно увеличились, и я достиг максимальной тактовой частоты в шинах.
Кроме того, я купил отличные шаблоны из нержавейки, которые, в отличие от каптоновых, гораздо проще использовать.
Раз софт у меня уже был готов, я сразу смог запустить трансивер на прием, и вот они долгожданные первые сэмплы в GNURadio!
Наконец-то вся тяжелая работа дала свои плоды. Еще через несколько недель я смог запустить передатчик, и убедился, что полнодуплексный режим у меня взлетел, пусть и не в полную ширину. И тут я нашёл новую проблему с усилком на передаче, поэтому сигнал получился очень слабым.
В любом случае, у меня есть полнофункциональная SDR-плата, ребята! Да, ещё много нужно доделать. Я хочу тщательно измерить производительность приемника и передатчика. Очень хочется запустить мелкосерийное производство, но перед этим мне нужно ещё немного оптимизировать дизайн и быть на 100% уверенным, что я не оставил в плате ещё каких-то сюрпризов.
Постановка задачи
Большое спасибо Лукасу за его подробный отчёт, а сейчас давайте рассмотрим его решения.
Итак, Лукас хотел сделать широкополосную программно-определяемую радиосистему с характеристиками лучше, чем у hackRF, и дешевле USRP. Давайте рассмотрим, как устроено оборудование конкурентов.
USRP
hackRF
Последнее изображение выглядит наиболее лаконично, однако все три устройства имеют одинаковую архитектуру: сигнал принимается из эфира, оцифровывается и передаётся в 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 | Модель FPGA | Logic Cells |
|---|---|---|
| USRP B200 | Xilinx Spartan 6 LX150 | 150k |
| USRP B210 | Xilinx Spartan 6 LX75 | 75k |
| bladeRF x40 | Altera Cyclone 4 | 40k |
| bladeRF x115 | Altera Cyclone 4 | 115k |
| hackRF | CPLD | xx |
Автор 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$ за квадратный дюйм), и с учётом расположения в США вся процедура занимает весьма короткий промежуток времени. Однако, сейчас, когда на плату есть заказы и её нужно изготавливать десятками, имеет смысл поискать самый оптимальный вариант для её изготовления. Ниже в таблице я привёл сравнение российских и зарубежных сервисов по изготовлению плат без монтажа на них.
Сравнение цен на изготовление печатной платы. Требования:
- 5 mil=0,127 мм минимум дорожки
- 5 mil=0,127 мм минимум промежутки
- 10 mil=0,254 мм минимальное отверстие
- Субстрат для платы с хорошими характеристиками
- Размеры платы: 74 * 108mm
| Предприятие | Стоимость за пять штук шестислойки | Пять штук четырёхслойки |
|---|---|---|
| OSH Park | Шестислойную не делают | 123$ за три штуки, опт — от 150 квадратных дюймов |
| PCB tech | 614$ | — |
| Резонит | 153$ | — |
| EasyEDA | 284$ | — |
| seeedstudio.com | 158$ | — |
| pcbwing | 348$ | 299$ |
| PCB Offshore | 280$ / 4pcs | 140$ / 4pcs |
| PCBCart | 191$ | 93$ |
Часть российских заводов ответили отказом или выставили заградительные цены: не хотят связываться с мелкосерийным заказом. Хочу обратить внимание, что при текущем курсе доллара услуги российской компании Резонит оказываются даже предпочтительней китацев. Плюс, они готовы сами смонтировать платы, если вы предоставите им комплектующие. На данный момент, из этого списка я лично работал только с EasyEDA, и нареканий нет. Цены Резонита приятно удивили Лукаса, и сейчас мы планируем разместить там заказ платы по его проекту. Когда у нас всё получится, я обязательно расскажу вам детали взаимодействия с заводом, а также подготовлю статью о процессе проектирования печатной платы и подготовке проекта к изготовлению.
Пишем ПО
Из дневника Лукаса Лао Байер
Чтобы эта плата начала приносить пользу, необходимо разработать несколько компонент:
- Логика ПЛИС, которая послужит интерфейсом между AD9364 и USB
- Прошивку для USB контроллера
- Драйвер для PC, который выступит интерфейсом между платой и традиционными библиотеками.
Для персонального компьютера я написал 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», а на ПЛИС собрал простой счётчик:
Сигнал генерируется в ПЛИС и принимается в GNU Radio. Частота дискретизации вбита прямо в код. Получаемая частота дискретизации выводится в отладочное окно.
Дальше тестировал цепь передачи сигнала. Теперь сигнал генерируется в GNU Radio и сливается в (sink block).
Теперь проверяем, что ПЛИС правильно декодирует данные: драйвер должен возвращать 32-битное слово, в котором будет два 12-битных сэмпла (I и Q) и выравнивающая пустота. С помощью программы Integrated Logic Analyzer я мог получить доступ к 12-битным сэмплам в ПЛИС и сравнить их с тем, что я вижу на моём компьютере.
I и Q сигналы на конце цепочки передачи данных в ПЛИС.
GNU Radio генерировал синусы и косинусы, но данные где-то портились. В итоге оказалось, что ошибка была в моей библиотеке freesrp, она неправильно форматировала данные. Когда я её починил, то собрал петлю в ПЛИС:
И всё почти работало. Только некоторые сэмплы терялись и заменялись на нули. На следующей картинке мы видим сгенерированный синий сигнал I, красный Q и сигнал, который прилетел обратно — зелёный I и чёрный Q:
Периодичность потери сигнала натолкнула меня на мысль, что проблема где-то в моём конечном автомате, который управляет чтением и записью в USB-контроллер: переход в состояние записи происходило за цикл до попадания данных в регистры, которые нужно записать. Я сдвинул этот переход на один такт, и всё стало гладенько:
На третьей ревизии платы я повторил все тесты, чтобы убедиться в полной работоспособности. Для лупбэка я использовал внутреннюю петлю AD9364, таким образом покрыв тестом всю цифровую часть прототипа.
Весёлые эксперименты с GNU Radio
Теперь мне очень хотелось попробовать декодировать реальные сигналы. Первыми моими жертвами стали GSM и Zigbee, потому что для них есть готовые библиотеки gr-gsm and gr-ieee802-15-4.
GSM
Внешние модули GNU Radio собираются через cmake, потому всё просто:
В пакете gr-gsm идёт некоторое количество пробных приложений. Самые интересные — grgsm_scanner and grgsm_livemon. С помощью первого можно поискать GSM вещание и вычленить из них какие-то идентификаторы, а также получить список базовых станций.
Поглядите, кстати, я в качестве аргумента указываю код своей платы freesrp — и всё работает. Это очень приятное чувство.
Второе приложение позволяет настроиться на один из GSM каналов, расшифровать данные и отправить их в твою локальную сеть, где их можно послушать через Wireshark. Я добавил в программу модуль gr-fosphor, чтобы скриншот стал более красочным:
802.15.4 (Zigbee)
У меня дома было несколько XBee модулей, и я решил с ними взаимодействовать. На этом примере я хотел проверить отправку данных.
Установка модуля настолько же проста, как и в случае с gr-gsm. Примеры, которые идут с библиотекой, сделаны для коммуникационного стека Rime, поэтому я отрезал от него всё, что не касается самого Zigbee, и добавил блок TCP Server, чтобы можно было по локальной сети подключаться и отправлять данные:
Для примера я написал два 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 контроллер предоставляет следующие контрольные точки:
- INTERRUPT OUT — отправляет команды в MicroBlaze на драйвер AD9364
- INTERRUPT IN — принимает ошибки или ответы на эти команды
- BULK OUT — для отправляемых данных
- BULK IN — для приёма данных
После включения FPGA можно настроить через INTERRUPT OUT.
Libfreesrp
Библиотека взаимодействия с FreeSRP очень проста. Для приёма и отправки используется интерфейс libusb. Это позволяет накапливать в очередь данные для оптимальной обработки операционной системой. Пользователь указывает колбэк, который будет вызван если поступили новые данные или буферы отправки освободились.
Планы
Дмитрий Стольников из gr-osmosdr уже связался со мной и предложил слить мои изменения в основную ветку библиотеки. Я вскоре закончу её полировать и сделаю это.
Когда я избавлюсь от MicroBlaze и перенесу драйвер на FX3, ПЛИС почти полностью освободится. Я бы хотел воспользоваться этим для экспериментов с обработкой сигналов в реальном времени прямо на ПЛИС.
Очень хочется получить более точные характеристики производительности радиочасти. Я не приблизился к этому ни на шаг, потому что у меня нет приборов, да и других дел полно.
Выпуск продукта
В апреле Лукас запустил краудфандинг для своего продукта и получил первую партию заказов на 20000$ (то есть, порядка пятидесяти экземпляров).
После отгрузки этой партии можно будет с уверенностью сказать, что прототип превратился в продукт, и это замечательный финал длинной трёхлетней истории шестандцатилетнего пацана, собравшего своими руками настоящее Software Defined Radio.
The 5 Best Software-defined Radios (SDR) for 2023 – A Radio Engineer reviews products
There are many software-defined radios on the market today and it’s not easy to pick one. We’ve tested SDRs, analyzed many confusing specifications and simplified the selection process to present you with our recommendations.
After extensively researching Software-defined Radios (SDR), we have picked five of the best products. Our choices are well-differentiated in features and functionality. Depending on your budget and application, we’re confident that these products will meet your requirements.
Here is our table of the best software-defined radios for 2023. Below we have also reviewed each of our top picks and outlined our research methodology.

10 — 6000 MHz
Transmit & Receive
10-bit ADC/DAC

325 — 3800 MHz
Transmit & Receive
12-bit ADC/DAC

0.5 — 1700 MHz
Receive
8-bit ADC

0.001 — 2000 MHz
Receive
14-bit ADC

70 — 6000 MHz
Transmit & Receive
12-bit ADC/DAC
Table of Contents
Best Software-defined Radio Transceiver – HackRF One
The HackRF One covers a broad frequency range from 10 MHz to 6000 MHz to include the most popular bands of operation. It has both a transmitter and a receiver to enable true standalone operation as a radio system. The HackRF has a sampling rate of 20 million samples per second which allows the user to process waveforms that are 10 MHz wide. The product has a USB 2.0 interface which allows for high speed data throughput into a host processor. The antenna port can provide up to 50 mA of current at +3.3 V to enable the operation of a low noise amplifier for noise reduction and greater sensitivity.

The HackRF is fully open source with support for GNU Radio, SDR# and a large community of users with an active mailing list and support. The HackRF provides excellent value for money and is the best SDR on the market today.
PROS
- Completely open source
- Many online learning resources including how-to videos
- Excellent accessories like the PortaPack
- Frequency coverage and bandwidth
CONS
- The maximum input signal power is -5 dBm. Signals stronger than this will damage the HackRF. This is a very low max input level and care must be taken not to inject strong signals into the RF input
- Half-duplex operation so you cannot transmit and receive simultaneously
- The power amplifier in the transmitter is susceptible to damage and repairing it is a non-trivial endeavor
Runner-up software-defined radio transceiver – ADALM Pluto
Our pick for the runner up is the ADALM Pluto from Analog Devices. Like the HackRF this is a transceiver product so you can both transmit and receive signals with it. The ADALM was introduced in 2018 and even though it’s a relatively new product, it has excellent support from MATLAB for education and there’s an entire free education course that has been developed around this hardware. The price of the ADALM Pluto is lower than the HackRF, so it presents very compelling value.

ADALM Pluto
PROS
- Price
- Full Duplex – transmitter and receiver can be operated simultaneously
- Separate transmit and receive ports – signals can be amplified separately
CONS
- Limited Frequency range of 325 MHz to 3.8 GHz. This means that it cannot be used for applications like HF, FM and some of the other popular applications and bands of operation
- Lack of GNU Radio support
- No front-end filtering. This leaves the SDR very susceptible to unwanted, interfering signals
Best Budget Software-defined radio receiver – RTL-SDR
If you are looking for a low cost device to experiment with SDR and get your toes wet, look no further than the RTL-SDR. It is a small USB dongle that is packed with radio receiver electronics! On account of its low cost this is is truly the Arduino of the SDR world. The RTL-SDR is being used in thousands of applications as varied as Airplane tracking, Cellphone identification, Ham Radio and in schools to learn about communication signal processing.
The RTL-SDR has some nice gain control settings that can be adjusted in conjunction with an external low noise amplifier if required, to improve sensitivity and optimize linearity.
PROS
- Price
- Large community of users
- Extensive Software Support – pretty much every software works with this device from GNU Radio to MATLAB
CONS
- Very limited frequency range – that doesn’t cover many popular bands
- Other hardware specifications such as bandwidth and dynamic range are limited as well
Best Software-defined Radio Receiver – SDRPlay RSP1A
The SDRPlay RSP1A is a powerful wideband full featured 14-bit SDR Receiver which covers the RF spectrum continuously from 1 kHz to 2 GHz. This product has a bandwidth of 10 MHz, large enough for most RF signals. It works with the Windows-based SDRuno software that is provided free of charge with the hardware. This is the only receiver product that actually has pre-select filtering built-into the hardware. As we have discussed here, preselect filters help with reducing the impact of interfering, strong out-of-band signals.
The SDRPlay RSP1A provides excellent controls for adjusting and trading off the linearity against the gain and noise figure. The benefit of this is that the user can adjust the receiver depending on the strength and frequency of the signal.
For a more advanced receiver option there is also a slightly more expensive version of this hardware with two software-selectable inputs called the RSPDx.
The RSP ships with a plastic case. For better immunity from RF interference, you can get this metal case.
PROS
- Excellent receiver quality and specifications
- Built-in filters and user controls for signal conditioning
- Includes a well-designed bias tee feature for improving sensitivity
- Price
CONS
- Lack of software maturity and broader community support
Fastest SDR transceiver – USRP B205mini-i
The USRP B205mini-i is a new SDR platform introduced in December 2020. It has a wide frequency range (70 MHz to 6 GHz). The industrial grade Xilinx FPGA is user-programmable. The most significant differentiators of the USRP B205mini-i over others in this list are:
- 56 MHz of instantaneous bandwidth to process wideband LTE and Wi-Fi signals
- High-speed USB 3.0 connection for fast data streaming to the host computer
- Synchronization with a 10 MHz clock reference or PPS time reference input signal.
PROS
- Fast throughput
- Good integration with GNU Radio
CONS
- Does not cover anything below 70 MHz which is an area of interest for many HF and VHF users
- High Cost
Frequently Asked Questions
What is the Best SDR Software?
Here is a list of the best software for Software-defined Radio. All of these are free.
SDR# or SDRsharp
SDR software for Airspy and RTL-SDR dongles. It includes a number of signal processing modules such as a High Performance ADS-B Decoder, A Fast Sweeping SDR Spectrum Analyzer and a Radio Astronomy Utility for Hydrogen Line Spectroscopy.
SDR-Radio
Windows software for Software Defined Radio (SDR) receivers and transceivers. Designed for the commercial, government, amateur radio and short-wave listener communities, this software provides a powerful interface for all SDR users. This software supports radios from most major manufacturers.
GQRX
Gqrx is an open source software defined radio receiver (SDR) powered by the GNU Radio and the Qt graphical toolkit. Some interesting features of GQRX include: AM, SSB, CW, FM-N and FM-W (mono and stereo) demodulators. Special FM mode for NOAA APT. The software also includes a variable band pass filter, Automatic Gain Control, Squelch and Noise blankers, FFT plot and waterfall and a number of other processing blocks.
SigDigger
SigDigger is a graphical, digital signal analyzer written in Qt5 for Unix systems like GNU/Linux or MacOS. Unlike existing alternatives, SigDigger is not based on GNU Radio. Instead, it uses its own DSP library (sigutils) and a realtime signal analysis library (Suscan) that exploits multicore CPUs to distribute load. SigDigger works in x86-64 CPUs running MacOS or GNU/Linux. In terms of performance, it can beat Gqrx by a factor of 20% (measured as saved CPU usage).
HDSDR
HDSDR is a freeware program for Windows 2000/XP/Vista/7/8/8.1/10. Typical applications are Radio listening, Ham Radio, SWL, Radio Astronomy, NDB-hunting and Spectrum analysis. The main features of this software are: separate large spectrum and waterfall display for input and output signals, AM, ECSS, FM, SSB and CW demodulation.
Sigdigger
How does Software-defined Radio work?
Software-defined radio (SDR) is a radio system where traditional analog components are replaced with digital components and software technologies. In traditional radio systems, a radio was designed entirely in analog and for a specific application. By contrast an SDR can be used to process a wide variety of signals from HF to Bluetooth thanks to the flexibility of software. One SDR to process any signal. This is what makes it so compelling! An important aspect of SDR is the host processor that is used to process the raw data that the SDR sends to it. A host processor like one of the single board computers that we have talked about in this post will take this raw data (ones and zeros) and process it further. For instance the binary data can be input to an FFT block so that you can see the spectrum of the signal. Alternatively it can be demodulated and turned to an audio or video signal for further analysis.
What are the Applications of SDR?
Software-defined Radios are used by Academics, Hobbyists and Professionals alike. They are used to track ships and planes, in radio astronomy, to track wild animals, ham radio and for a number of other interesting applications. We have written a longer article on applications here.
What is the Best SDR Dongle?
The best SDR dongle is the RTL-SDR. It’s affordable, has good hardware specifications, works with most SDR software out there and there’s a large community of users so you will always get the support you need.
How we Picked the Best Software-defined Radio
We looked for a wide range of SDRs in four different price ranges: $50, $100, $300 and $1000. While there are a number of factors that can be considered when picking an SDR, the three main considerations are Hardware specifications, Community support and Software support.
HARDWARE SPECIFICATIONS
Frequency Range: An SDR must cover a wide frequency range for it to be considered useful. Since most popular applications are limited to 6 GHz it is important that the SDR be able to operate to this maximum frequency.
Bandwidth and interface speed: Bandwidth which is largely determined by the analog design and digitizer sampling rate enables the SDR to process analog waveforms. The speed of the interface determines how much data can be moved to the host processor. Example interfaces include 10/100 Ethernet, USB 2.0 and USB 3.0.
Sensitivity and Dynamic range: Sometimes a strong signal from a nearby transmitter such as a cell tower can overwhelm a detector and prevent it from detecting a weak signal. As well, sometimes the detector generates a significant amount of internal noise and is therefore unable to detect a weak signal. The ability of the tracker to detect a weak signal in both the absence and presence of a stronger signal is a plus.
COMMUNITY SUPPORT
The larger the community of people using an SDR the better. This results in better support for hardware, more use cases and definitely more collaboration.
ACCESSORIES
We also considered accessories that were available with any particular SDR. Everything from the Portapack that turns the HackRF into a handheld SDR to external amplifiers that increase the range of HackRF or ADALM Pluto.
SOFTWARE SUPPORT
Software makes SDR useful. There is a large ecosystem of SDR software applications and toolkits in areas such as Test & Measurement, Signal Monitoring and R&D. GNU Radio is one example of a software development toolkit that provides signal processing blocks to implement SDRs. For an SDR to be useful it should interface with relevant software applications.
Once we came up with a preliminary list of all the SDRs on the market in our different price categories, we narrowed them down by studying data-sheets, performance for various practical applications, user documentation, Amazon user reviews and professional reviews from other sites focused on SDR. This left us with devices on this list.
The Future of SDR
There’s growing interest in SDR for RF Test, R&D, Education and many other applications. SDRs have been slowly replacing custom, application-specific chipsets with a move toward general-purpose radios and software processing. In the future most of the signal processing in a radio system will be done in software and at lower price points. Also radio hardware will move toward common platforms with a single radio being able to demodulate multiple standards. We’re already seeing this in many smartphones today.
Summary
We have studied a number of products to bring you the best SDRs. We recommend the HackRF as our top pick. Our top software-defined radios for 2021 are:
- The Best Software-defined Radio Transceiver – HackRF One
- Runner-up software-defined radio transceiver – ADALM Pluto
- Best Budget Software-defined radio receiver – RTL-SDR
- Best Software-defined Radio Receiver – SDRPlay RSP1A
- Fastest SDR transceiver – USRP B205mini-i
The field of SDR is changing very rapidly and there continues to be a lot of innovation in hardware chipsets and components. This in turn is driving the development of platforms with increasing capability and decreasing price. With products like the RTL-SDR we have truly entered Arduino-type accessibility. It will be interesting to see the wide range of applications that will emerge as a result of this.

OneSDR is reader-supported. As an Amazon Associate I earn from qualifying purchases. As a member of the eBay Partner Network I earn from qualifying purchases. Thank you for your support.
Статья ‘Вопросы и мифы об SDR’
Один из самых распространенных вопросов на сегодняшний день после покупки SDR-radio – это: «Какой компьютер использовать?» или «Какой компьютер купить, что бы его хватило на несколько лет?» Если ответить коротко, то сегодня – любой. И на этом статью можно было бы закончить. У меня же была возможность протестировать трансивер на нескольких компьютерах с разными параметрами, из которых я решил составить маленькую статью о том «Чего и сколько» в процентах.
На сегодняшний день, если после покупки трансивера вы решите сразу обновить и компьютер, то обратившись в ближайший компьютерный магазин, вы можете собрать любую систему в диапазоне от 10 до 30 тысяч рублей. Любой собранный сегодня системный блок компьютера обеспечит работу программу Power SDR с минимальной загрузкой ресурсов. Но не всем стоит сразу бежать в магазин за новым компьютером. За новым компьютером стоит бежать только в том случае, если у вас достаточно старый системный блок – это от 2007 года и старше. Моё же мнение, что сегодняшние, даже не самые дорогие компьютеры – лучше подходят для SDR, чем самые дорогие, но 3-5 летней давности. Для примера, если взять 2х ядерный процессор частотою 2ГГц выпуска 2007 года и такой же частоты 2011 года, то вычислительная мощность у них будет различаться в разы! А это значит, что программа Power SDR будет на старом процессоре использовать ресурсов так же в разы больше. Сколько это в цифрах – увидите сами минутой позже.

Для опытов я использовал несколько компьютеров разной комплектации и разных годов выпуска, несколько ноутбуков и даже решил опробовать пару нетбуков как особо слабые, но вполне возможные для использования варианты. На сегодня, все продаваемые компьютеры можно разделить на несколько категорий:
1. Компьютер классической конфигурации, включающий системный блок с материнской платой и полноценным процессором – на сегодня самая скоростная система. Ценовая категория 8 – 40 тыс. руб. в зависимости от типа процессора, материнской платы, объёма ОЗУ, винчестера и видеокарты;
2. Миниатюрные системные блоки, неттопы и моноблоки на основе процессоров АТОМ, которые впаяны на материнскую плату. Ценовая категория от 10 до25 т.р;
3. Ноутбуки на основе полноценных процессоров, ценовая категория от 15 до 50 т.р;
4. Нетбуки на основе процессоров АТОМ с ценами от 8 до 15т.р.
5. Планшетные компьютеры с процессорами АТОМ от 15 до 25т.р.
Все эти категории компьютеров сегодня будут работать с программой Power SDR. Отличаться они будут только количеством процентов загрузки системы. Так, нетбуки на основе процессора АТОМ, будут загружать систему от 30% и выше. А компьютеры на основе полноценных процессоров, максимум до 30%, и то, 20-30% будет на самых низкоскоростных процессорах. Следует так же знать, что скорость процессора – не единственный показатель производительности компьютера, отвечающий за всю математику в программе Power SDR. Этот параметр так же зависит от количества оперативной памяти. На сегодняшний день её должно быть минимум 1ГГб. На этом минимуме Power SDR ещё будет сносно работать. И чем слабее процессор, тем более её количество критично для нормальной работы. Ниже по тексту вы это увидите. Т.е. на количестве памяти лучше не экономить, и если есть возможность – укомплектовать материнскую плату памятью по возможному максимуму.
Для тех же, кто размышляет менять или менять компьютер, а так же, если менять – то на какой, представляю тестируемые мной системы:
1. Системный блок на основе процессора AMD Athlon 64 x2 Dual Core Processor 4800+ частотою 2.5ГГц. RAM 4Gb – загрузка 13…16%; (скриншот)
2. Системный блок на основе процессора Intel Pentium 4/800MHz(шина) частотою 2.6ГГц, RAM 1Gb – загрузка 25…30%; (скриншот)
3. Системный блок на основе процессора Intel ATOM D410, RAM 2Gb – загрузка 34…40%; (скриншот)
4. Системный блок на основе процессора Intel АТОМ D525, RAM 4Gb – загрузка 20…25%; (скриншот)
5. Системный блок на основе процессора VIA PV530, RAM 2Gb – загрузка 65…70%; (скриншот)
6. Ноутбук Sony процессор Intel Core 2 Duo T6400 2GHz, RAM 4Gb – загрузка 14…16% (скриншот)
7. Ноутбук HP процессор Core 2 Duo T8400 2.24GHz, RAM 3Gb – загрузка 18..22%; (скриншот)
8. Нетбук Asus EEEPC 900, RAM 2Gb – загрузка 40-45%; (скриншот)
9. Нетбук Asus EEEPC 4G, RAM 1Gb в облегчённом режиме 630МГц – загрузка 80…85%; (скриншот)
10. Нетбук Asus EEEPC 4G, RAM 1Gb в полно скоростном режиме 900МГц – загрузка 55…60%; (скриншот)
Последние данные с применением таких старых нетбуков как EEEPC 900 и EEEPC 4G показывают, что программа Power SDR может работать и на таких слабеньких компьютерах. Причём ЕЕЕПС 4G работал на внешнем 19″ мониторе, и в 2х режимах — 630 МГц и 900 МГц. При обоих режимах программа работала, но с разной величиной загрузки процессора. Сегодня можно приобрести нетбук с более мощным процессором и большим количеством оперативной памяти ОЗУ. Использовать их можно, например, как второй приёмник или трансивер для дачи в связке с трансивером Flex SDR-1500. На ноутбуках и на AMD-компьютере стояла система Windows 7, на всех остальных – Windows XP Sp3. Трансивер использовался SDR Flex-1500.
Все представленные цифры загрузки, имеют усреднённое значение – это мы видим на скриншотах. На каждом компьютере была установлена программа лог-журнала UR5EQF и загрузка возрастала не более чем на 5-7%. Также, хочу отметить, что загрузка процессора практически не зависит от качества применяемой видеокарты и количества памяти на ней. При тестировании программы Power SDR на системном блоке №2 с процессором Intel Pentium 4, я пробовал ставить очень старую видеокарту Riva TNT 2 c 16Mb видео памяти и мощную игровую видеокарту GeForce 6600 с 512Mb видео памяти. Цифра загрузки процессора практически не поменялась. Это говорит о том, что все расчёты DSP блока в программе лежат на плечах применяемого процессора. А разница в цифрах загрузки на ноутбуках показывает, что при расчётах активно используется ОЗУ. Процессор в ноутбуке НР мощнее и быстрее, чем в ноутбуке Sony на 250МГц, но памяти в нём меньше. Соответственно разница в загрузке составила порядка 7-10% в пользу Sony. Исходя из показанных цифр, можно предположить, что полноценные процессоры сегодняшнего дня – Intel i3, i5, i7 дадут еще меньшие цифры загрузки, т.к. они выполнены по более современной технологии и имеют на много большую производительность, чем старые процессоры при тех же значениях частот.
Особый интерес представляет собой связка SDR Flex-1500 с планшетным компьютером на основе процессора Atom N570. К сожалению, у меня не было возможности проверить столь интересную связку, в связи с отсутствием планшета для теста. Если у вас будет возможность, проведите тест и поделитесь впечатлениями… Вероятно стоит ожидать загрузку процессора в районе 20-40% и весьма интересный способ управления программой Power SDR пальцевым методом.
Для набора статистики по степени загрузки компьютера, предлагаю каждому, у кого есть такая возможность, сделать скриншот рабочего стола по образцу приведённых выше скриншотов и с описанием компьютера прислать на почту. По мере накопления информации, она будет выкладываться на сайте.
Второй миф – компьютерное железо глючно и компьютер сложно собрать самому стабильно-работающим.
Времена, когда отдельные компоненты системного блока между собою могли конфликтовать, уже лет 10 как канули в лету. Основные игроки компьютерного рынка давно друг с другом договорились о протоколах и спецификациях. Крупные компании, давно скупили мелкие. Основные элементы компьютера уже в большей мере содержаться на материнской плате и даже есть класс материнских плат, где «всё в одном» в т.ч. и процессор впаян. Но если вы всё же боитесь сами собирать компьютер, то сегодня в магазинах представлен большой выбор уже собранных системных блоков на любой вкус и любой ценовой категории. В основе своей, они уже с установленным программным обеспечением и оттестированы на стабильность работы. Для особо беспокоящихся, можно рекомендовать ноутбук. Эти компьютеры проходят тестирование на заводе изготовителе. Т.е. можно сказать, что на сегодня хороший ноутбук является не только мобильным компьютером, но и одним из самых стабильных.
Мифы о заземлении
Помимо вопросов связанных с выбором компьютера для SDR – трансивера, существует так же несколько мифов о заземлении. На мой взгляд, это самый опасный и наиболее распространённый миф. История не использования заземления показывает, что история никого не учит. И каждый человек, пострадавший однажды достаточно сильно, потом сокрушается «Ну почему я не заземлился?», но поздно – всё сгорело или сам травмировался. В худшем случае, нарушение правил эксплуатации электрооборудования приводит к смертельному исходу. Наиболее частый вариант – это повреждённая аппаратура. И особенно обидно, когда эта аппаратура стоит очень больших денег. Трансиверы SDR – класса больше подвержены выходу из строя из-за нарушения правил эксплуатации и заземления. Связано это со спецификой работы блоков питания. Последствия неправильного радиочастотного заземления проявляются в виде зависаний компьютера и трансивера. В особо тяжелых случаях – это проявляется как «жжение» корпуса компьютера или трансивера.
Рассмотрим два вида заземления. Первое – заземление электротехническое. Второе – заземление радиочастотное.
Заземление электротехническое – это такой провод, через которое стекает постоянный электрический потенциал на землю. Т.е. проводник, имеющий 0-е электрическое сопротивление для постоянного тока между устройством под потенциалом и землёй. В частном случает это провод для электрического тока частотою 50Гц.
Как такое заземление работает?
Если, совершенно случайно, выгорает какой-нибудь элемент усилителя или трансивера, находящийся под высоким напряжением (обычно в блоке питания), или просто отваливается провод питания и предохранитель не сгорает – то корпус устройства, усилителя, блока питания и\или трансивера будет находиться под потенциалом высокого напряжения. Прикоснувшись к нему, вы рискуете получить удар электрическим током. В крайнем случае, вас «пощиплет» за пальцы, а в худшем – может убить. Хороший пример грубого нарушения правил техники безопасности показа тут. Что бы отвести высокий потенциал с корпуса, нужно предоставить ему проводник, который будет иметь существенно меньшее сопротивление, чем тело человека. Им и является провод заземления.
В корпусе любого компьютера находится импульсный блок питания. Схемотехника всех малогабаритных импульсных блоков питания такова, что на корпусе компьютера всегда присутствует потенциал равный половине питания электрической сети между корпусом блока питания компьютера и землей или 0-ым проводом. Иногда и в выключенном состоянии (зависит от блока питания). Т.е. 100 — 120 Вольт всегда присутствует на корпусе. Некоторых, этот потенциал неоднократно «кусал» за пальцы. А теперь представьте себе ситуацию. Подключаем к компьютеру трансивер. Данный трансивер соединен коаксиальным кабелем с антенной, которая на крыше или в огороде\в поле имеет хороший контакт с землей или хорошо заземлена. В данном случае между трансивером и компьютером будет присутствовать электрический потенциал напряжением 100-120 Вольт. И в момент соединения трансивера с компьютером, вы можете заметить искру. А теперь представьте, как себя чувствует трансивер? Если вам повезло, и общие контакты устройств разъёмов коснулись первыми, то разность потенциала снимается с корпуса и подключение проходит нормально. А если общие контакты касаются вторыми, то этот потенциал напрямую прикладывается к элементам порта связи и в итоге мы имеем «дефектный» трансивер или компьютер с выгоревшим портом. Друзья, это не про вас? Ну, слава Богу! Это пока не про вас. А вот тем, кому не повезло, сейчас наверняка грустно вспоминать убитый трансивер или компьютер и головные боли, связанные с ремонтом и последующей продажей бывшего мертвеца. Потому, друзья, обязательно, перед тем как использовать SDR – трансивер совместно с компьютером, найдите любую точку с нулевым потенциалом или заземления, например трубу с холодной водой для тех, кто живет в квартире. Живущие в частном доме, не поленитесь и сделайте контур заземления, и только тогда, заземлив, пользуйтесь на здоровье трансивером и компьютером.
Рассказывающие о том, что они в жизни заземлением не пользуется, и рекомендующие вообще не пользоваться им – находятся в «группе риска» до поры – до времени. Бегите от таких советчиков подальше, ибо они сами не соблюдают технику безопасности, так ещё и вам насоветуют поставить под угрозу свою жизнь, и жизнь вашей аппаратуры.
Особенно это касается пользователей SDR трансиверов!
Заземление радиотехническое — провод, по которому «стекает» не излучившийся антенной, ВЧ потенциал на землю.
Корни любого паразитного ВЧ потенциала идут из антенны. Антенны явной или не явной. В данном контексте это явная антенна. Если антенна спроектирована правильно, собрана и настроена с учётом всех правил ВЧ монтажа, то ВЧ потенциала на корпусе трансивера не будет наблюдаться и вся энергия излучится в пространство, а та энергия, что наводится в ближней зоне от антенны (<0.5…1 3=»» -=»» p=»»>
Представьте себе, что по антенному кабелю бежит горячая бесцветная жидкость и в точке питания антенны она испаряется. А та часть, что не испарилась, стекает обратно по кабелю в трансивер, заодно намочив и трансивер, и провода питания и компьютер. Вот такая это жидкость в сверх текучем состоянии. Мало того, она ещё и горячая, легковоспламеняющаяся и к тому же ядовитая. Затекая в микрофон, она начинает хлюпать, а затекая в усилитель, начинает гореть. В компьютере эта жидкость замыкает все контакты, и он начинает глючить. Протекая по проводам электросети, эта жидкость воняет и щипает глаза.
Решить все эти проблемы в большинстве случаев, помогает правильное ВЧ-заземление и ВЧ экранирование. Первая точка ВЧ-заземления должна находиться на правильно выполненной антенне. Один из главных элементов антенны — это такой известный конструктив как «Симметрирующее устройство». Оно позволяет скомпенсировать ВЧ напряжение на кабеле в точке питания антенны кабелем и тем самым минимизирует проникновение ВЧ по кабелю в помещение, где находится передатчик. Сравнить симетрирующее устройство можно с тазиком, куда излишняя жидкость стекает и ее удаляют. Достаточно часто симетрирующим устройством пренебрегают. А зря. Технически, симетрирующее устройство не является ВЧ заземлением, но в контексте решения проблемы оно играет одну из главных ролей. Правильно выполненный конструктив антенны, имеет качественное ВЧ заземление посредством электрически заземленной мачты или площадки крепления антенны. Так же главным ВЧ заземлением являются хорошие противовесы антенны. Это в большей степени относится к вертикальным несимметричным антеннам. Если их количество достаточно велико (>4..8) и они настроены в резонанс, то ВЧ, гуляющее по кабелю так же будет минимизировано. Избавиться от наводок ВЧ энергии и проникновения ВЧ энергии по кабелю, можно так же с помощью ВЧ барьеров или ВЧ изоляторов. К ним можно отнести ферритовый защелки или ферритовые кольца, например такие как тут. Достаточно намотать несколько витков кабеля на такие кольца, и для ВЧ энергии такой кабель будет иметь высокое сопротивление. Данный способ ВЧ изоляции позволяет эффективно экранировать компьютер и трансивер от ВЧ энергии, но не убирает ВЧ энергию с кабелей и проводов. Этот способ подавления ВЧ энергии наиболее эффективен, если используется мощный SDR трансивер типа Flex SDR-3000 и Flex SDR-5000, а так же в случае использования внешнего усилителя мощности.

Частным случаем ВЧ заземления является электротехническое заземление корпусов усилителя и трансивера. По нему ВЧ потенциал так же будет эффективно стекать на землю. Помните, если ВЧ потенциал есть на проводах и корпусах во время передачи, то он так же есть и на приём! А это значить, что все помехи, что находятся в зоне приёма, вы будете принимать не только антенной, но и кабелем и корпусом трансивера и компьютера. Т.е. вынеся антенну за пределы помещения передатчика, но, не избавившись от ВЧ-наводок, вы будите ловить все помехи из этого помещения.
В радиолюбительской практике существуют такие ситуации, когда отсутствует доступ к электротехническому заземлению и антенна так выполнена, что во время передачи «фонит» буквально вся электропроводка. Например, это может быть полностью изолированный застеклённый балкон и антенна типа «длинная верёвка случайного размера». В этом случае поможет снять потенциал с устройств такая дивная коробочка как «искусственная земля». Что она собою представляет? По сути, это маленькая антенна из короткого провода, (от 1 до 2х метров) настраиваемого в резонанс LC цепями в отдельном корпусе. Эта маленькая антенна отсасывает оставшийся потенциал с корпуса трансивера и переизлучает его в пространство в другом месте от антенны с низким КПД излучения. Аналогия – маленький пылесос, который с корпуса отсасывает ту самую стекшую с кабеля опасную жидкость. Такие устройства можно подключать не только к трансиверу, но и к компьютеру в особо тяжких электромагнитных условиях эксплуатации трансивера. Главное – основную антенну отнести подальше от этих переизлучателей. Американская фирма MFJ выпускает готовую «искуственную землю» под названием MFJ-931.
Таким образом, если вы имеете частые проблемы с компьютером не связанные с его наполнением, а связанные с работой трансивера на передачу, то вероятнее всего – эти проблемы связаны с наличием блуждающих ВЧ токов по антенному кабелю, корпусу трансивера и компьютера. Достаточно правильно выполнить антенну и всё заземлить, и эти проблемы исчезнут. Проверить характер зависаний компьютера можно, подключив вместо антенны на выход трансивера эквивалент нагрузки. Если «подвисания» компьютера прекратились, то делаем заземление и антенну.
