SDR приёмник из китайского USB свистка. Передача данных на компьютер

Как вы знаете, я интересуюсь тематикой раций, и даже иногда делаю обзоры на некоторые свои девайсы.
Вот и сегодня я решил рассказать про довольно интересную штуку. Приёмник сигналов RTL-SDR построенный на базе R820T 8232.
Также расскажу, как настроить этот приёмник для работы на компьютере и на android телефоне\планшете.
Итак, про SDR приёмники уже есть несколько обзоров. Поэтому я не буду подробно рассказывать, что это.
Скажу лишь что можно купить более дешевый вариант приёмника, и доделать его паяльником.
Типа такого:


Можно купить kit-набор. Типа такого:


()
И собрать приёмник, потратив на это несколько вечеров, заодно прокачав скилл паяльщика.
Или же сделать как я: купить уже готовое к приёму всего нужного изделие, которое можно использовать без танцев с бубном. Разница в цене не сильно большая, поэтому я купил готовый приёмник, с дополнительной платой, всеми нужными перемычками в нужных местах, и даже двумя выходами под антенны.
Данный конкретный приемник может принимать сигналы и охватывать все ВЧ любительских диапазонов:
охватывает УКВ и увч 24-1766 МГц
до 3.2 М частота Дискретизации (~ 2.8 МГц стабильный)
приемник режимов, МСЧ, FM, ПРОИЗВОДСТВО USB, LSB и CW
Что это значит? А это значит, что мы можем слушать передачи на следующих диапазонах:
13-15Мгц это дальние вещалки на подобии голоса америки.
15-28МГц можно услышать любительскую радиосвязь.
27.135МГц это канал дальнобойщиков (удобно слушать в дальних поездках).
30-50МГц может находиться скорая помощь.
87.5-108МГц это обычное фм радио.
109-500МГц самое интересное)
108-136МГц это авиадиапазон (тут разговаривают пилоты, не без шуток и приколов)
137-138МГц это диапазон спутников NOAA (погода со спутника в низком разрешении)
144МГц опять же радиолюбители
150МГц это жд диапазон.
433МГц тоже радиолюбители, рации-болтушки, брелки сигналок, шлагбаумов и прочего эфирного мусора
446МГц тоже болтушки
дальше уже зависит от города, кстати, полиция тоже где-то тут) но где- не скажу)
~900МГц сотовая связь.

Еще больше инфы можно почерпнуть на сайте
Теперь непосредственно про приёмник.
Приёмник был заказан на банггуде. (там он был в наличии, на момент покупки. И цена была хорошей.) Заказывал 2 приёмника:


Доставка заняла 30 дней. На почте получил посылку с двумя коробками. Одна коробка с приёмником пока лежит до лучших времен (позже поставлю в машину) а первая используется для тестирования и настройки.
Приёмник приходит в обычной коробке. Которая еще и малость пострадала:


Внутри находятся приёмник, антенна, mini-usb кабель:


Больше по сути ничего и не надо.
Подробности.
Кабель:




Кабель самый обычный mini-usb. Я его кстати даже не стал использовать. Так как у меня есть свой, более длинный и качественный.
Антенна:




Имеет магнитную площадку. Магнит довольно крепкий. Хорошо держится на вертикальных металлических поверхностях.


Сам приёмник:
Ничем не примечательная коробочка.




Имеет размеры 90*50*22мм:





С одной стороны, имеются разъемы для подключения двух антенн:


С другой стороны, разъём mini-usb для подключения к компьютеру и светодиод индикации питания:


Если не знать наверняка, даже и не понять, что это за устройство такое. Тем более что никаких опознавательных надписей на коробке нету. (да и они не нужны )
Пара фоток в интерьере, вместе с рацией wouxun:




В комплекте идёт только 1 антенна, несмотря на наличие двух разъёмов для разных частот.
Для работы на частотах 100khz-30MHz нужно докупать вторую антенну. При условии, что вы хотите чтото слушать в этом диапазоне.
Перед тем как использовать, я решил разобрать приёмник. Причина проста. Внутри что-то как-то странно болталось. (болтанка присутствует на обоих экземплярах приобретенных мной приемников)


Весь процесс разбора состоит из выкручивания 4 винтиков:








Даже на фото видно, что распаяно всё аккуратно. Следов флюса или прочего криминала не видно.
Видно, что это DVB приёмник распаянный на плате. Основные чипы R820T и 8232:


Больше рассказать ничего не могу. Так как не силён в схемотехнике. На фото всё итак видно.
Теперь про то что гремело внутри. Это сама плата. Она немного меньше пазов корпуса и немного короче. Потому и болталась внутри. Я этот вопрос решил просто. Приклеил вспененный 2-сторонний скотч внутри корпуса, и вставил плату на место:


Всё закрутилось плотненько. Люфт и болтание ушли.
Теперь расскажу про настройку и тестирование:
Для работы с приёмником на Windows комплютере, нам нужно использовать программу sdrsharp

Для установки правильных драйверов, нужно запустить программу zadig.exe
Если в сборке с шарпом у вас ее нет,
Запускаем, выбираем options - list all devices
Выбираем пункт Builk-In, Interface (interface 0) и нажимаем кнопку Reinstall Driver:


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




Частоты можно вводить как вручную, так и использовать различные плагины для сканирования.
(работа с программой потянет на отдельную статью, уж очень много в ней возможностей. Поэтому я показываю поверхностно, а заинтересованные могут уже найти в интернете подробности)
Для чего нужен подобный приёмник?
Несмотря на комментарии про всякие злодеяния, и про то что посодють, этот приёмник на самом деле вполне легален. И использовать его можно в легальных целях. Да и к тому же слушать эфир у нас НЕ ЗАПРЕЩАЕТСЯ. А передать что-то в эфир с помощью этого приёмника невозможно. Поэтому с помощью приёмника мы можем послушать радио. Да, обычное радио. Вдруг у вас нет ни одного устройства умеющего принимать сигналы местных радиостанций, а радио послушать ужасть как хочется-приёмник поможет.
Еще с помощью приёмника можно послушать радиолюбителей, вещающих на частотах 15-28МГц
Но нужна более мощная антенна. Та что идёт в комплекте позволит принимать сигнал только находясь недалеко от источника этого самого сигнала.
Еще с помощью приёмника можно проверять рации. Классическая ситуация: принесли старую рацию без дисплея. Рабочую, но неизвестно на какой частоте. Можно данный приёмник использовать для выявления. (конечно есть отдельные приборы для замера частоты и мощности, но если есть приёмник, можно обойтись им)
Ну и, например, поехали мы в дальнюю дорогу. Своим ходом на машине. Почему бы нам не настроить приёмник на частоту дальнобойщиков СВ (27.135 МГц ), чтобы послушать переговоры? Чтобы знать, что творится на дороге? Где засада ГАИ, где аварии, где объезд и т.д.
Кстати именно для прослушивания CВ диапазона не обязательно подключать приёмник к ноутбуку. Можно использовать телефон на android. И не только для этого диапазона.
Я подключил приёмник к своему Xiaomi Mi5 через копеечный OTG-адаптер. Тут настройка еще проще чем на компьютере:
Идём на 4PDA.ru и качаем программу
Вместе с программой качаем Rtl-sdr driver 3.06 и ключ для получения полного функционала. (можно конечно купить ключ на маркете, но я старый пират, которому претит платить за софт )
Устанавливаем на телефон:

Скриншоты с приложения:









Как видим всё прекрасно работает, и также позволяет слушать эфир.


Я проверял этот приёмник с моими рациями Baofeng, Wouxun, WLN. Всё прекрасно ловится.
Также при помощи сканера смог найти несколько частот, на которых шли разговоры. Что подтверждает работоспособность приёмника.
Приёмник у меня в основном для хобби, но есть интерес послушать коротковолновиков из других стран, поэтому сейчас выбираю антенну к этому приёмнику (буду благодарен если в комментариях предложите свои варианты)
Заключение:
Этот приёмник отличный вариант для людей, интересующихся радио. Он позволяет узнать много нового, а также слушать эфир без покупки дорогого оборудования.
Отговаривать или рекомендовать к покупке этот товар я не могу. Слишком специфичный товар. Я лично покупкой прям очень доволен. И это самое главное.
В следующем месяце у меня планируется дальняя поездка на машине, и я ее жду не столько ради цели поездки, сколько ради возможности послушать переговоры и протестировать приёмник в полевых условиях.

Планирую купить +102 Добавить в избранное Обзор понравился +107 +195

Программно-зависимые приёмники SDR на самом деле достаточно несложны и малогабаритны. Размером от спичечного коробка до пачки сигарет. Но как говорится, мал золотник, да дорог. При всей своей простоте, с компьютером и соответствующей программой, подобный приёмник превращается в достаточно серьёзное приёмное устройство. Вполне может использоваться как по прямому назначению, так и служить в качестве анализатора спектра. На сегодняшний день наиболее популярны приёмники разработанные YU1LM и различные варианты приёмникаSoftRock 40. Как правило, для упрощения конструкции, в качестве задающего генератора используется кварцевый генератор. С таким расчётом, чтобы центральная частота находилась в середине интересующего участка диапазона. Хотя ничего не мешает использовать и синтезатор частоты.

Рис.1 - Внешний вид простого SDR приемника


Для работы с такими приемниками создано несколько программ (например, Rocky, SDRadio, KGKSDR), которые обеспечивают перестройку по частоте путем изменения низкой промежуточной частоты (т.н. перестраиваемая ПЧ).


Рис.2 - Экранная форма программы для работы с SDR приемником


Блок-схема очень простого аналогового приемника для SDR на диапазон 40 м SoftRock40, который разработалиTony Parks, KB9YIG, и Bill Tracey, KD5TFD, приведена ниже. Он состоит из диапазонного полосового фильтра, квадратурного детектора Tayloe , малошумящего предварительного НЧ усилителя, кварцевого генератора на частоту 28,224 МГц, формирователя прямоугольных импульсов и делителя частоты на D-триггерах. Квадратурный детектор на быстродействующих ключах, предложенный D.Tayloe, N7VE, обладает большой перегрузочной способностью, низкими потерями, а также очень хорошими фильтрующими свойствами, т.к. этот детектор фактически включает в себя фильтр на коммутируемых конденсаторах. Частота кварцевого генератора в 4 раза превышает частоту принимаемого сигнала. С помощью D-триггеров частота кварцевого генератора делится на 4, а сигналы, подаваемые на квадратурный детектор, сдвинуты по фазе на 90о. Используя кварцевый генератор на частоту 28,224 МГц, можно принимать сигналы в диапазоне 40 м, находящиеся как выше, так и ниже частоты 7056 кГц.


Рис.3 - Структурная схема SDR приемника


Если частота дискретизации звуковой карты составляет 48 кГц, то на вход звуковой карты можно подавать сигналы частотой до 24 кГц. Следовательно, с упомянутым приемником перекрывается полоса частот от (7056 – 24) до (7056 + 24) кГц, т.е. 7032 - 7080 кГц. Прием в этой полосе ведется с использованием фазового метода подавления нерабочей полосы. Сигналы I и Q, сдвинутые по фазе на 90о, позволяют программному обеспечению отличать, как следует обрабатывать сигналы боковых полос в зависимости от того, выше или ниже частоты опорного кварцевого генератора (7056 кГц) ведется прием. При переходе частоты через ноль автоматически программно переключается боковая полоса, и, соответственно, получается удвоенная полоса приема. При частоте дискретизации звуковой карты 96 кГц диапазон перестройки SDR-приемника увеличивается до +/- 48 кГц. В зависимости от выбранной частоты дискретизации (48 или 96 кГц) желательно, чтобы частотная характеристика малошумящего предварительного НЧ усилителя имела завал на частотах выше 25 или 50 кГц соответственно. Любые сигналы, частоты которых расположены выше частоты дискретизации, будут интерферировать с полезными сигналами, вызывая появление побочных сигналов в потоке данных. Применив в опорном генераторе синтезатор частоты, формирующий сетку частот через 48 кГц или 96 кГц, на основе программы Rocky и аппаратной части SoftRock40 можно изготовить всеволновый всережимный SDR-приемник. Такой приемник имеет панорамный спектральный дисплей, DSP-фильтры с различной полосой пропускания и коэффициентом прямоугольности вплоть до 1,05 (!), традиционные для современных трансиверов и приемников функции подавления помех и снижения шума, автоматический notch-фильтр и т.д. Как правило, SDR-приемник обеспечивает демодуляцию практически всех распространенных видов излучения - CW, LSB, USB, AM, FM, а с помощью дополнительного программного обеспечения и цифровых видов - как радиолюбительских, так и коммерческих (например, DRM - цифрового радиовещания). Итак, какие же практические преимущества предлагает в настоящее время SDR по сравнению со стандартным радиолюбительским приёмником или трансивером? Первое и основное ключевое преимущество заключается в том, что программная часть SDR позволяет “увидеть” радиосигналы - не только тот, который принимается на определенной частоте, но и сигналы, которые присутствуют в определенном участке любительского диапазона. Это стало возможным благодаря очень высокой чувствительности и разрешающей способности панорамного спектрального дисплея. Steve Ireland, VK6VZ - “фанат” диапазона 160 м - построил SDR приемник на свой любимый диапазон. Тестируя Rocky и SoftRock на слабых телеграфных DX сигналах в диапазоне 160 м, VK6VZ отмечает, что, по сравнению с трансивером Yaesu FT-1000MP, из каждого четвертого сигнала, который он видит на экране компьютера, на слух, при перестройке FT-1000MP по диапазону, можно было заметить только один из них. А вот панорамный спектральный дисплей Rocky позволяет увидеть сигналы всех любительских передатчиков в полосе частот около 48 кГц, и кликом мышки настроиться на прием любого из них. Кстати, имея более 200 подтвержденных стран на диапазоне 160 м, VK6VZ считает, что стран было бы гораздо больше, если бы он в предыдущие годы использовал SDR-приемник. Спектральный дисплей в программе можно растянуть на всю ширину экрана монитора. Располагая самый интересный для радиолюбителя участок спектра перед глазами, можно действительно сказать: “Вижу, что диапазон представляет сегодня”. Кроме того, для работы спектрального дисплея используется полифазное быстрое преобразование Фурье, что позволяет отчетливо различать даже очень слабые сигналы на экране компьютера, которые при стандартном преобразовании просто сливаются. VK6VZ нашел, что слабые CW сигналы (S2 - S3) в диапазоне 160 м отчетливо отображаются даже летом, когда уровень шума на этом диапазоне очень велик. Кроме панорамного спектрального дисплея, который имеет очень высокое разрешение по частоте, в SDR-программах часто встроен дисплей с высоким разрешением по времени (“водопад”). Этот дисплей позволяет видеть даже телеграфные посылки, передаваемые со скоростью до 40 слов в минуту. Кроме того, с помощью “водопада” можно оценить спектральную чистоту принимаемых сигналов, в частности, увидеть выбросы на фронтах телеграфных посылок. Еще одно ключевое преимущество SDR заключается в том, что благодаря компьютерной обработке сигнала, когда селективность обеспечивается цифровыми методами, а не кварцевыми и электромеханическими фильтрами, у оператора появляется возможность непрерывной коррекции требуемой селективности. Например, в программе Rocky простым кликом мышки на “бегунке” управления шириной полосы пропускания фильтра и перетаскиванием бегунка можно плавно изменять ширину полосы пропускания выбранного фильтра (для телеграфного фильтра - от 600 до 20 Гц). Это означает, что можно действительно оптимизировать полосу пропускания для принимаемого сигнала с точки зрения получения наилучшего отношения сигнал/шум. Кроме того, фильтрация и подавление шума в SDR значительно лучше, чем в любом аналоговом трансивере, даже оборудованном дополнительными устройствами DSP. Говоря о SDR, также нельзя не отметить программную реализацию автоматической регулировки усиления, которая, в отличие от классической (аппаратной), обеспечивает оптимальный динамический диапазон выходного сигнала. Кроме того, в SDR автоматическая регулировка усиления имеет не только привычные состояния “быстрая”, “медленная” и “выключена”, но и позволяет регулировать такие параметры как время атаки, задержки включения и восстановления, порога срабатывания и т.д. Как правило, радиолюбители достаточно скептически относятся к S-метрам промышленных трансиверов, не говоря уже о самодельных конструкциях. И это вполне заслуженно, ведь традиционно S-метр зависим от напряжения системы АРУ. Да и калибровка в различных моделях трансиверов оставляет желать лучшего.


Рис.4 - S-meter


В SDR приёмнике, а точнее в программе, измерения никак не связаны с АРУ. Панорама замеряет уровни доDSP фильтра основной селекции, S-метр после. До этой части нет никаких регулируемых каскадов, способных изменить уровни сигналов. Достаточно откалибровать программу одним известным напряжением на антенном входе, например 50 мКв, хотя это значение не принципиально. Математика в дальнейшем безошибочно будет определять уровни сигналов на входе приёмника, начиная от уровня собственных шумов приёмной части, до максимально возможных. Это значит, что и S-метру и панорамному анализатору SDR радио вполне можно доверять не только при работе в эфире, но и использовать как измерительный прибор или анализатор спектра. Один американский радиолюбитель метко высказался по этому поводу, SDR - это измерительный комплекс с возможностями радио. Попробуйте собрать SDR приёмник, думаю он вас не разочарует и будет настоящим помощником в шэке.

Software Defined Radio -программно определяемое радио, новое течение в построении радиолюбительских конструкций, где часть функций приёмника (местами и передатчика) переложены на компьютер (микропроцессор, микроконтроллер). Взглянем на структурную схему:

Сигнал с антенны поступает на входные цепи, где отфильтровывается от ненужных сигналов, может усиливаться или делиться, всё зависит от задач устройства. В смесителе полезный сигнал смешивается с сигналами гетеродина. Да да, именно сигналами! Их два, и они сдвинуты по фазе на 90 градусов один относительно другого.

На выходе смесителя мы уже имеем сигналы звуковой частоты, спектр которых лежит от частоты гетеродина выше и ниже. К примеру: гетеродин равен 27,160мегагерц, а частота полезного сигнала 27,175мегагерц, на выходе смесителя мы имеем сигналы частотой 15килогерц. Да! Снова два. Их ещё называют IQ сигналами. Аудио усилителем уровень доводится до нужного уровня и подаётся на АЦП. По сдвигу фаз IQ сигналов, программа определяет выше или ниже гетеродина был полезный сигнал и подавляет ненужную зеркальную полосу приёма.
Примерно на тех же принципах кстати, работает и SDR передатчик: сдвинутый по фазам низкочастотный сигнал из ЦАП, смешивается с гетеродином в смесителе, на выходе мы имеем уже модулированный высокочастотный сигнал, годный для усиления по мощности и подаче на антенну.
Также следует отметить, что появились ещё более современные SDR системы, в них полезный сигнал напрямую подаётся на быстродействующий АЦП.

В радиолюбительской технике нижнего и среднего сегмента в основном, в качестве АЦП используется звуковые карты компьютера. Как встроенные в материнскую плату, так и внешние, подключаемые по USB или вставляемые в PCI разъём материнской платы. Причина этому проста: обычно встроенные в материнскую плату звуковые карты не блистают хорошими характеристиками и это компенсируют установкой внешних. Полоса обзора (полоса, в которой sdr способен принять полезный сигнал без перестройки гетеродина) напрямую зависит от звуковой карты: чем выше частота которую способна оцифровать звуковая карта, тем шире полоса обзора. Обычно это значения 44 килогерца(полоса обзора 22), 48 килогерц(полоса 24), 96 килогерц(48)и даже 192(96) килогерца. В технике высокого сегмента применяют качественные и дорогостоящие АЦП, сигнал с которых преобразуют встроенным в SDR микропроцессором к понятному компьютеру.
Основное примущество SDR технологии в радиолюбительской практике: это большое количество видов модуляций, регулируемые параметры трансивера (ведь обработка сигналов идёт программно) и панорамный обзор диапазона.

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

В этой статье я расскажу о том, как на базе отладочной платы DE0-nano сделать достаточно простой КВ SDR приёмник.
Пример принимаемых сигналов:

Про технологию SDR можно почитать . Вкратце - это методика приёма радиосигнала, в которой большой объем обработки информации производится в цифровом виде. Благодаря использованию ПЛИС и высокоскоростного АЦП, можно сделать приёмник, в котором даже перенос частоты «вниз» производится цифровым способом. Такой метод называется DDC (Digital Down Conversion), подробнее про него можно прочитать и . Используя эту методику, можно сильно упростить приёмник, в котором единственной аналоговой частью становится АЦП.

А теперь поподробнее о моем приёмнике.
Его основой является ПЛИС производства компании Altera, установленная на отладочной плате DE0-Nano. Плата относительно дешевая (60$ для студентов), правда, с достаточно дорогой доставкой (50$). Сейчас она становится все более популярной у радиолюбителей, начинающих знакомство с ПЛИС.
Главная задача ПЛИС - «захватить» цифровой сигнал с АЦП, перенести его в область низких частот, отфильтровать и отправить результат на компьютер. Структурная схема приёмника, реализованного мной, имеет такой вид:

Рассмотрим последовательно компоненты, которые проходит радиосигнал и цифровая информация.

Антенна

У радиолюбителей есть поговорка «Хорошая антенна - лучший усилитель». Действительно, от антенны зависит очень многое. Большинство наиболее интересных сигналов на коротких волнах нельзя принять на простую антенну (например, на кусок провода). За городом особых проблем нет - достаточно длинный провод может работать хорошей антенной (на приём). В городе, особенно внутри крупных железобетонных домов все значительно хуже - длинную антенну не растянуть, при этом мешающих шумов очень много (бытовые приборы способны создавать в эфире очень большой уровень шума), так что выбор антенны становится непростым делом.
Для приёма радиосигналов я пользуюсь активной рамочной антенной, конструкция которой описана .
Моя антенна выглядит так:

Фактически антенна представляет собой большой колебательный контур (конденсатор находится внутри коробки на столе). Установлена она на балконе, и достаточно неплохо работает. Основное достоинство рамочной антенны - за счет использования явления резонанса она позволяет подавлять шумы на неиспользуемых частотах, однако есть и недостаток - при переходе с одного диапазона частот на другой антенну нужно перестраивать.

АЦП

Выбор АЦП тоже непрост. АЦП должен обладать большой разрядностью для повышения динамического диапазона, а для DDC приёмника - еще и высоким быстродействием. Обычно в хорошие DDC приёмники ставят АЦП с разрядностью 16-бит и быстродействием >50 MSPS. Однако стоимость таких АЦП больше 50$, и в экспериментальную конструкцию хотелось поставить что-нибудь попроще.
Я выбрал AD9200 - 10-битный 20 MSPS АЦП стоимостью 200 руб. Это очень посредственные характеристики для DDC приёмника, однако, как показала практика, АЦП вполне пригоден для приёма сигналов.
АЦП установлен на отдельной плате, которая вставляется в отладочную:

Снизу плата металлизирована, слой металла соединен с землей АЦП, что тоже защищает от помех.

Схема подключения АЦП


Опыта разводки ВЧ конструкций у меня нет, так что возможно, что схему и разводку можно улучшить.


Так как АЦП оцифровывает только сигналы положительного уровня, а сигнал с антенны биполярный, то сигнал приходится смещать на половину опорного напряжения (для этого служат резисторы R1 и R2). Искусственно созданная постоянная составляющая затем вычитается уже из цифрового сигнала в ПЛИС.

Вся дальнейшая обработка сигнала после АЦП идет в ПЛИС.
Поток данных с АЦП составляет 200 Мбит (10-bit x 20 MSPS). Передать такой поток напрямую в компьютер, а потом его еще и обработать очень сложно, поэтому частоту сигнала нужно специально понизить. При переносе на более низкую частоту возникает явление «зеркального канала», для борьбы с которым используют квадратурное преобразование частоты - сигнал преобразовывают в комплексную форму (происходит разделение на два канала I/Q). Перенос на более низкую частоту производится путем умножения исходного сигнала на сигнал генератора. В используемой ПЛИС достаточно аппаратных умножителей, так что это не представляет проблемы.

NCO

Для того, чтобы переносить входной сигнал на нужную частоту, ее нужно создать. Для этого используется готовый компонент Quartus - NCO (numerically controlled oscillator). На генератор подается тактовая частота, такая же как и у АЦП (20 МГц), на его вход управления подается значение, определяющее частоту, и на его выходе формируется цифровой синусоидальный сигнал нужной частоты, дискретизованный с частотой 20 МГц. NCO способен параллельно формировать и косинусный сигнал, благодаря чему можно формировать квадратурный сигнал.

CIC-фильтр

После смешивания с сигналом генератора с выхода умножителей сигнал выходит уже перенесенный на более низкую частоту, но все еще с высокой частотой дискретизации (20 MSPS). Сигнал требуется децимировать , то есть отбросить часть выборок. Просто так отбросить лишние выборки нельзя, так как это приведет к искажению выходного сигнала. Поэтому сигнал нужно пропустить через специальный фильтр (CIC-фильтр). В данном случае я хотел получить на выходе приёмника частоту дискретизации сигнала 50 кГц. Из этого следует, что частота должна быть понижена в (20e6 / 50e3 = 400) раз. Децимацию придется производить в 2 этапа - сначала в 200, затем в 2 раза.
Первый этап выполняет именно CIC-фильтр. Я использовал 5-каскадный фильтр.
В результате работы CIC-фильтр за счет понижения полосы сигнала разрядность выходного сигнала увеличивается. С своем приёмнике я искусственно ограничил ее 16 битами.
Так как каналов в приёмнике два, то и фильтров потребуется тоже два.
К сожалению, CIC-фильтр имеет довольно крутую АЧХ, стремящуюся к 0 при приближении к выходной частоте дискретизации (100 кГц). Для компенсации ее кривизны служит следующий фильтр.

Компенсационный FIR-фильтр

Этот фильтр нужен для того, чтобы компенсировать спад АЧХ CIC-фильтра и выполнить еще один этап децимации (в два раза). В Altera уже позаботились о методике расчета этого фильтра - при создании CIC-фильтра автоматически формируется программа для Matlab, запустив которую, можно сформировать коэффициенты для компенсационного фильтра.
Вид АЧХ CIC, FIR и получающегося результата (графики строит та же программа для Matlab):


Видно, что на частоте 25 кГц CIC-фильтр ослабит сигнал на 20 Дб, что очень много, однако с использованием FIR-фильтра ослабление всего 10 Дб, а на более низких частотах ослабление практически отсутствует.
На выходе FIR-фильтра с учетом децимации будет частота дискретизации сигнала будет 50 кГц.
Почему нельзя сразу было произвести децимацию сигнала в 400 раз? Это связано с тем, что частота среза FIR-фильтра должна составлять 1/4 от его выходной. В данном случае частота дискретизации на выходе фильтра без децимации, как и на его входе, составляет 100 кГц. В результате этого частота среза будет как раз 25 кГц, что и видно на графиках выше.
Оба фильтра являются готовыми компонентами Quartus.

Передача данных на компьютер

Полученный поток данных ((16+16)bit x 50 KSPS = 1.6 Mbit) нужно передать на компьютер. Данные я решил передавать через Ethernet. На отладочной плате нет такого интерфейса. Наиболее правильно было бы сделать отдельную плату с контроллером PHY, запустить soft-процессор Nios, и передавать данные через них. Однако это значительно усложняет конструкцию. Я пошел более простым путем - Ethernet пакеты можно формировать на самой ПЛИС, таким образом можно передавать данные со скоростью 10 Mbit. В данном случае Ethernet кабель через разделительный трансформатор соединяется с выводами ПЛИС. Проекты с таким принципом работы можно посмотреть и .
В качестве основы я выбрал первый проект, частично его доработав. В изначальном проекте ПЛИС посылает на компьютер с заданным IP и MAC адресом определенный UDP-пакет. После переделки модуль Ethernet передатчика мог передавать 1024 байта, считывая их из RAM. В результате на компьютер в одном пакете отправляются 256 пар 16-битных значений сигнала, взятого с выходов фильтров. Так как данные поступают от АЦП непрерывно, а отправлять их на компьютер нужно пакетами, то пришлось реализовать двойную буферизацию памяти - в то время, пока одна RAM заполняется, данные из другой RAM передаются по Ethernet. После того, как первая RAM заполнится, обе RAM «меняются местами», за что отвечает довольно простой управляющий модуль.
Так как на выходе фильтров данные передаются потоком из пары 16 битных величин, а по Ethernet передаются отдельные байты, то для преобразования потоков в конструкцию введен модуль, который преобразует поток 32 бит 50 KSPS в 8 бит 200 KSPS.

Как оказалось, если передавать поток данных со скоростью 1.6 Mbit, то устройство, к которому подключен приёмник, даже не обнаруживает его (нет линка). Это связано с тем, что пакеты данных при этом передаются с периодом примерно 5 мс, а для того, чтобы сообщить другому сетевому устройству скорость подключения (10 Mbit), нужно каждые 8-24 мс передавать специальный короткий импульс (NLP). Из-за высокой частоты передачи пакетов, модуль Ethernet не успевает передавать эти импульсы, и Autonegotiation не происходит.
Поэтому, для того, чтобы противоположное устройство все же могло определить скорость соединения, достаточно при включении приёмника временно уменьшить частоту передачи пакетов (у меня - в 4 раза), благодаря чему модуль Ethernet успевает передать импульсы NLP.

Приём данных от компьютера

Для того, чтобы управлять приёмником (устанавливать частоту настройки), на него нужно передавать определенную величину, которая будет использоваться для задания частоты NCO.
Для приёма этой величины так же используется компонент с вышеуказанного сайта, модифицированный для приёма данных, и выдачи их в виде 24 битного числа. Так как модули приёмника и передатчика никак не связаны друг с другом, то реализовать ARP нельзя, и фактически это значит, что приёмник не будет иметь IP и MAC адреса. Передать информацию на него можно, если отправить в сеть широковещательный пакет.
Физически, как и в случае с передатчиком, сетевой провод соединяется с отладочной платой через трансформатор. Однако здесь уже нельзя подключаться к произвольным выводам ПЛИС, так как сигнал достаточно мал. Нужно использовать выводы, поддерживающие интерфейс LVDS - он является дифференциальным.

Ресурсы, используемые программой ПЛИС:
- 5006 LE
- 68 9-bit умножителей (64 из них используются в FIR -фильтре).
- 16,826 bit памяти (8 блоков M9K).

Вид проекта проекта в Quartus:

Обработка данных на компьютере

После того, как компьютер принял данные, их нужно обработать. Лучше всего взять готовую программу. Обычно в SDR программах реализовывают нужные цифровые фильтры, алгоритмы, предназначенные для формирования звука и его фильтрацию, БПФ принятого сигнала, построение его спектра и «водопада».
Я использую программы HDSDR и SDRSharp, они обе поддерживают ввод данных при помощи одинаковых библиотек ExtIO (формат программы Winrad). Требования программ к библиотеке хорошо документированы .
Вот есть пример создания такой библиотеки. Я переделал этот пример, добавил в него приём данных из сети, склеивание двух пакетов (программа за раз приминает минимум 512 пар I/Q выборок), отправку их в программу, и передачу широковещательного пакета с вычисленным значением для NCO при смене частоты в программе. До этого мне никогда не приходилось создавать библиотеки, да и в C++ я не силен, так что в библиотека может быть написана совсем не оптимально.
Так как частота дискретизации I/Q сигналов на выходе фильтров приёмника составляет 50 кГц, то в программе при приёме для обзора будет доступна полоса 50 кГЦ. (± 25 кГц от частоты, формируемой NCO).

Собранный приёмник выглядит так:


Резистор соединяет средние точки трансформатора с 3.3 В платы - это улучшает приём и передачу данных по сети.

После того, как приёмник был полностью собран и все программы написаны, оказалось, что чувствительности не хватает. Даже на активную антенну принимались только вещательные радиостанции и сигналы радиолюбителей, работающих на больших мощностях.
Насколько я понимаю, это связано с низкой разрядностью АЦП. Для повышения чувствительности пришлось сделать дополнительный усилитель на транзисторе BF988 (находится внутри маленькой металлической коробочки). Усилитель смог заметно поднять чувствительность приёмника.
Внешний вид всей конструкции:

Блок питания обеспечивает напряжение 12 В для питания усилителя антенны, в металлической круглой коробке находятся несколько диапазонных полосовых фильтров, которые снижают внедиапазонные сигналы, что улучшает прим сигналов. Отмечу, что во многих случаях приём возможен и без ДПФ.

Теперь о том, что же удается принять на КВ. Несмотря на достаточно высокий уровень шумов, удается принять достаточно много сигналов, хорошо принимаются вещательные радиостанции, неплохо принимаются радиолюбители.
Пример приема сигналов в программе HDSDR (приём велся во время CQ WW DX Contest):


Видео приёма:

Удается принять сигналы WSPRnet. WSPRnet - сеть радиолюбительских маяков, которые автоматически обмениваются короткими сообщениями друг с другом. Данные от маяков автоматически публикуются в интернете. В данном случае, установив специальную программу, можно декодировать принятые сигналы и отправлять их в сеть. На сайте есть возможность посмотреть карту, на которой показываются связи между маяками за определенный интервал времени.
Вот что получилось у меня за полдня приема:


Важная особенность WSPR - очень маленькая мощность передатчиков (меньше 5 Вт), узкая полоса передаваемого сигнала, и большая длительность передачи одного сообщения (2 мин). Благодаря цифровой обработке в программе-декодере удается принимать очень слабые сигналы. Мне удавалось принять сигнал маяка мощностью 100 мВт, находящегося на расстоянии ~2000 км.

Радиолюбители, работающие с использованием JT65. JT65 - это один из протоколов цифровой связи между радиолюбителями. Как и в WSPR, в нем используются маленькие мощности и длительные передачи (1 мин). Принимаются сообщения автоматически, так что можно оставить приемник на длительное время, а потом смотреть, кого удалось принять.
Пример приема:

Цифровое радиовещание (DRM). Некоторые вещательные радиостанции передают звук в цифровом виде. Принять такие сигналы непросто в условиях города - не хватает уровня сигнала. Одну станцию принять удалось:

Существует множество других радиосигналов, которые было бы интересно принять. Есть еще погодные факсы, станция точного времени RBU (на чудной частоте 66.6 кГц), и другие.

Теги:

  • SDR
  • DDC
  • ПЛИС
  • FPGA
  • DE0-Nano
Добавить метки

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

Такой приемник можно купить на AliExpress или на eBay уже в собранном виде. Но лично я паять люблю и решил не отказывать себе в таком удовольствии, поэтому заказал разобранную версию приемника. Плюс, она дешевле долларов на 20. Брал Kit у этого продавца (ссылка на AliExpress).

Чем же это устройство замечательно и отличается от обычного «свистка» вставляющегося в USB? А отличается оно тем, что может принимать еще и КВ путем прямого оцифровывания ВЧ сигналов. Лично мне очень не хватало панорамного приемника на коротких волнах. На КВ он работает, на уровне обычного бытового КВ приемника. Чувствительность КВ входа не высока, примерно такая же как и у обычных китайских всеволновых балалаек, около 30 мкВ. Хитрые китайцы про это знают, но не пишут. Однако при желании можно встроить дополнительный УВЧ тем самым сильно подняв чувствительность, на плате есть места для организации узлов расширяющих возможности приемника. Но лучше просто озаботиться хорошей КВ антенной. Кроме того, в отличие от «свистка» этот приемник хорошо экранирован.

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

В комплекте идут корпус из алюминиевого профиля, плата для монтажа приемника и конвертера, набор деталей (конденсаторы, резисторы), провода для намотки трансформатора и индуктивностей, разъемы для подключения приемника по USB и к приемным антеннам, сама антенна не понятно на какой диапазон и хороший USB кабель.

Сама плата сделана довольно аккуратно, здесь придраться не к чему. Приемник дешевый, наверное самый дешевый из тех что продаются на AliExpress.

Монтаж

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

Для начала собираем стенд для припаивания ВЧ разъемов к плате приемника. Для этого прикручиваем пластину с отверстиями к профилю и вставляем плату с установленными разъемами на место. Это позволит нам избежать ошибок с перекосами, и как следствие не нужных нам механических напряжений на плате.

Вставляем и прихватываем разъемы сверху.

Далее начинаем монтаж SMD компонентов на плату. В принципе, на плате все подписано и компоненты из комплекта тоже, так что тут проблем возникнуть не должно. Единственный совет, будьте предельно аккуратны, поскольку компоненты идут с запасом в одну штуку, и потеря сразу двух каких-нибудь мелких компонентов может свести на нет всю работу.

После монтажа SMD монтируем USB разъем.

Основа почти готова, осталось только намотать трансформатор, индуктивности и установить плату приемника на ее законное место. С нее и начнем. Освобождаем плату приемника от разъемов.

И спаиваем в наши платы с обеих сторон.

Затем наматываем на оправке диаметром 5 мм две катушки по 8-10 витков.

И впаиваем их в плату.

Теперь пришло время для самого сложного. Это изготовление трансформатора и его монтаж.

Для этого необходимо взять обмоточный провод идущий в комплекте и сложить его втрое скрутив между собой. Так, чтобы получилась скрутка трех проводов одной длины. После этого наматываем этот тройной провод на ферритовое колечко, так, чтобы получилось около 9-10 витков.

При помощи тестера определяем начало и конец всех трех обмоток и помечаем их, например A, B, C и A1, B1, C1.

И самое сложное. Концы соединенных вместе обмоток С и В1 необходимо припаять к 4 и 5 ножкам микросхемы RTL2832U (Q branch). Как вариант, можно паяться и к ножкам 1 и 2 (I branch), это не принципиально.

Будьте предельно внимательны. Концы обмотки тонкие. Ножки микросхемы маленькие. Не смотря на свое вполне приличное зрение делать это мне пришлось под лупой. Такая операция уже больше напоминает ремонт сотовых телефонов.

Ну вот вроде бы и все. Можно упаковывать наш приемник в корпус.

Теперь необходимо все проверить. Для этого подключаем приемник через USB к компьютеру, устанавливаем драйвера и скачиваем SDRSharp. В общем, все как я уже описывал в статье « ». Если все установилось правильно и заработали водопад и спектр, пришло время испытать наше устройство.

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

Для прослушивания УКВ необходимо выбирать режим квадратурного семплирования и соответствующую антенну.

Испытания

Исследуем чувствительность приемника. Для исследования чувствительности, приемник был подключен к ноутбуку Asus R510C. Принимаемый сигнал снимался со встроенной звуковой карты. В качестве источника сигнала и анализатора использовался прибор Rohde&Schwarz CMS 52.

Параметры для SSB: Тон 1кГц. Режим демодуляции приемника USB, RTL-AGC – On. Чувствительность приемника при SINAD 12дБ

Параметры для AM: Тон 1кГц. Режим демодуляции приемника AM, глубина модуляции 80%. RTL-AGC – On. Чувствительность приемника при SINAD 10дБ

Параметры для FM: Тон 1кГц. Режим демодуляции приемника NFM, девиация частоты 2кГц. RTL-AGC – On. Чувствительность приемника при SINAD 12дБ

КВ вход

80 метров
Частота 3.600 МГц

  • USB: 22,78 мкВ
  • AM: 39,72 мкВ

40 метров
Частота 7.100 МГц

  • USB: 21,68 мкВ
  • AM: 38,81 мкВ

30 метров
Частота 10.130 МГц

  • USB: 26.98 мкВ
  • AM: 46,24 мкВ

20 метров
Частота 14.200 МГц

  • USB: 23,5 мкВ
  • AM: 35,11 мкВ

17 метров
Частота 18.120 МГц

  • USB: 20,7 мкВ
  • AM: 32,4 мкВ

15 метров
Частота 21.225 МГц

  • USB: 22,18 мкВ
  • AM: 32,77 мкВ

12 метров
Частота 24.940 МГц

  • USB: 17,42 мкВ
  • AM: 26,7 мкВ

Си-Би (11 метров)
Частота 27.200 МГц

  • USB: 49,26 мкВ
  • AM: 97,95 меВ
  • FM: 63,68 мкВ

10 метров
Частота 28.550 МГц

  • USB: 0,11 мВ
  • AM: 0,155 мВ
  • FM: 0,126 мВ

УКВ вход

12 метров
Частота 24.940 МГц

  • USB: 0,58 мкВ
  • AM: 0,64 мкВ

Си-Би (11 метров)
Частота 27.200 МГц

  • USB: 0,4 мкВ
  • AM: 0,67 мкВ
  • FM: 0,58 мкВ

10 метров
Частота 28.550 МГц

  • USB: 0,38 мкВ
  • FM: 0,5 мкВ

2 метра
Частота 145.000 МГц

  • FM: 0,51 мкВ

70 сантиметров
Частота 433.000 МГц

  • FM: 1,78 мкВ

30 сантиметров
Частота 900.000 МГц

  • FM: 1.45 мкВ

Выше измерить уже не смог, прибор позволяет работать только до 1ГГц. Вот собственно и все. Если есть вопросы, пишите, постараюсь ответить.

Статьи по теме: