- Самодельный конвертер версии 1.1 на печатной плате для SDR приёмника
- Сдвиг частот для SDR-радиоприемника — Ham it up v1.2 upconverter
- Сам конвертер
- Тривиальные хитрости
- Слушаем
- Простой SDR приёмник на ПЛИС
- Антенна
- CIC-фильтр
- Компенсационный FIR-фильтр
- Передача данных на компьютер
- Приём данных от компьютера
- Обработка данных на компьютере
Самодельный конвертер версии 1.1 на печатной плате для SDR приёмника
Всем привет! Уже много лет простым радиолюбителям доступно изготовление промышленных печатных плат заводского качества. В связи с этим было принято решение перенести наш самодельный конвертер на такую, заводскую плату. И это решение принесло плоды — приём существенно улучшился. Но, обо всём по-порядку.
Эту версию конвертера назвали 1.1. Вот его схема:
В принципе, ничего особого не изменилось. Немного подкорректировали данные ФНЧ, ФВЧ и фильтра по питанию. Изначально мы планировали собрать конвертер, в котором после кварцевого генератора будет стоять ФНЧ на 50МГц, вы его увидите чуть ниже на фотках платы. Однако, как показала практика, он и не особо нужен, да и может внести трудности. Дело в том, что некоторые кварцевые генераторы выдают сигнал всего 0.8В, а ФНЧ его гасит почти в ноль, тем самым, не позволяя конвертеру работать. Поэтому было принято решение от него отказаться.
Конечно, можно было бы собрать усилитель на СВЧ транзисторах, чтобы поднять сигнал с генератора, но, это усложнение, оно не нужно. Смеситель ADE отлично работает и при 0.8В, т.к. в нём — мост на диодах Шотки, которым, как известно нужно меньшее напряжение, чем обычным диодам.
Печатную плату разрабатывали в отечесвтенной программе DipTrace, вот 3D модели платы.
А вот реальные фотки конвертера, что получилось. Конечно, монтаж не заводской, не идеальный))), но, главное, что всё работает.
А теперь видео, как принимает такой конвертер:
Что можно сказать. Мы — очень довольны! Заметно возросла чувствительность. Стал уверенно работать 160м диапазон, и хулиганская «пионерка» на 1.7МГц. Так же, наконец-то заработал и 20м диапазон на 14МГц, со старым конвертером там станции еле-еле прослушивались, а сейчас — очень громко проходят. В общем — всё просто супер!!
Теперь файлы и детали.
1. Печатная плата в формате программы DipTrace, если захотите что-то подправить https://yadi.sk/d/Lk20k4wPcklKaA
2. Гербер архив печатной платы для заказа на заводе https://yadi.sk/d/aqRcgsAyLnZomQ
Как закзать платы. Заходите на сайт завода https://jlcpcb.com регистрируйте аккаунт и загружаете туда гербер архив из п.2. Далее выбираете кол-во плат (по умолчанию минимум 5шт), цвет платы и больше там ничего(!!) не меняйте. И оформляете заказ. Удобнее всего оплачивать через PayPal. Если что-то непонятно, можете посмотреть видео:
1. Сам SDR приёмник. Рекомендуем только две модели, которые сами(. ) лично пробовали и можем их рекомендовать.
Это лучший SDR приёмник из самых дешёвых, всякие чёрные, синие, зелёные — не рекомендуем, у них плохое питание, много спуров («палок») на экране. Только этот, запомните картинку.
RTL SDR V3
базовый комплект (только приёмник) http://ali.pub/4ctkn4
полный комлпект (провода, разъёмы, антенны) http://ali.pub/4ctl1b
Это один из лучших SDR приёмников. Он может принимать КВ частоты даже без конвертера, но с конвертером лучше. Так же, он немного более чувствителен, чем дешёвые приёмники и меньше шумит. Поэтому, если средства позволяют, рекомендуем взять его, чем «Белый». Обратите внимание, что из-за дикой популярности, на Али очень много дешёвых подделок под него, поэтому берите ТОЛЬКО в официальном магазине, по ссылкам выше.
1. Смеситель ADE-1-24, б/у, но рабочие http://ali.pub/42z7qp или http://ali.pub/42z7ue Если же знаете хорошо технический английский, можете попробовать бесплатно получить ADE-R6+ по программе EZ-Sample https://www.minicircuits.com/WebStore/dashboard.html?model=ADE-R6%2B Регистрируетесь на сайте и составляете заявку, для каких целей вам нужны эти смесители. Если уговорите, вам могут бесплатно выслать несколько штук 😉
2. SMD дроссели в фильтр питания, можете взять любые от 2 до 20мкГн. Место на плате разрабывалось именно под них http://ali.pub/3aa16r
3. 50МГц кварцевый генератор http://ali.pub/1spax9 или http://ali.pub/1t0dtk (мы брали по второй ссылке)
4. R2 — 1k, оригинальный Bourns из США http://ali.pub/42z8wp , или китайские http://ali.pub/42z91k Этот резистор можно ставить 2к или 1к. Если будете использовать китайские резисторы, то будьте готовы к тому, что через год-два-три у них начнёт сыпаться резистивный слой, конвертер начнёт барахлить. Поэтому, или сразу поставьте американские, ну или раз в 2-3 года просто замените резистор.
6. ВЧ кремниевые диоды 1N4148 http://ali.pub/4ctr2b это современный аналог отечественных КД522Б
А провод для намотки катушек ФНЧ и ФВЧ рекомендуем брать с дросселя подавления сетевых помех, вот такого:
Провод на нём очень мягкий, не пружинит и легко залуживается паяльником, даже без зачистки от изоляции ножом. Такие дроссели стоят по входу питания в кинескопных старых телевизорах и мониторах.
Не забывайте, что никакой конвертер и приёмник не помогут, если у вас плохая антенна. Чтобы хорошо примнимать сигналы радиолюбителей — нужна только уличная, и только полноразмерная антенна, как можно выше над землёй. Минимум — наклонный луч, а лучше — диполи, треугольники и т.д.
Так же не забывайте, что вокруг нас — тысячи источников импульсных помех, поэтому — ОБЯЗАТЕЛЬНО заземляйте как конвертер, так и корпус системного блока.
Источник
Сдвиг частот для SDR-радиоприемника — Ham it up v1.2 upconverter
Некоторое время назад я писал об универсальных радио-приемниках за 20$ из TV-тюнеров на rtl2832. Самым большим их недостатком было то, что они не могут принимать ничего ниже 50Мгц (e4000 — не работает ниже 50Мгц, R820T — ниже 24Мгц), а в этом диапазоне — 3/4 всего интересного, что можно услышать в радиоэфире за счет того, что короткие волны отражаются от ионосферы — и дальность связи уже не ограничена прямой видимостью.
Устранить этот недостаток можно добавив к нему конвертор частоты. Сделать качественный (со всеми фильтрами) конвертер своими руками — достаточно сложно и дорого, потому пришлось купить готовый: Ham-it-up v1.2 c кварцем на 125Мгц (42.95$, из США шло чуть дольше месяца). Краткие результаты тестирования и несколько хитростей для успешного приема на коротких волнах — под катом.
Сам конвертер
Принцип работы — от входящего сигнала с антенны отрезаем все, что выше 50 Мгц, смешиваем со 125Мгц частотой полученной на кварцевом генераторе, снова отфильтровываем лишнее из сигнала — и получаем наш сигнал сдвинутый вверх на 125Мгц. Т.е. то, что с антенны пришло на 10Мгц — в приемнике мы примем на частоте 135 Мгц.
Выбор кварца именно на 125Мгц очень важен, многие конвертеры используют кварцы на 100Мгц и полученный сигнал получается как раз в районе мощных FM станций, что может быть серьёзной проблемой и придется городить очень аккуратное экранирование абсолютно всего.
Этот конвертер не имеет встроенного усилителя, и потери при конвертировании — около 10dB (т.е. сигнал становится в 10 раз слабее). Однако, как оказалось, это не является проблемой — в эфире так много шума, что усилитель внутри RTL2832 никогда не приходилось выкручивать на максимум.
Тривиальные хитрости
30-100 раз больше фона) были от настольной светодиодной лампы и старого ЖК монитора (подсветка еще на лампах с холодным катодом). Также не стоит держать компьютер с открытым корпусом — он также будет светить помехами.
Компьютер стоит заземлить, некоторые хорошо отзывались об использовании ноутбуков на батарейном питании (чтобы исключить наводки из сети)
Антенна для низких частот нужна гораздо бОльших габаритов, чем для
433Мгц. Я поступил просто — 15м медного провода спустил с балкона (грубая формула оценки требуемой оптимальной длины для четвертьволновой антенны-монополя — 71250мм/частоту в MHz (для кабеля 22AWG)).
Ну и наконец — ночью слышно гораздо больше, чем днем — из-за изменения состояния ионосферы.
Слушаем
В основном слышны КВ радиостанции — ночью удалось послушать радиостанции из Франции, Италии, Германии, Болгарии, Великобритании и Китая (где-то с 7 до 13Мгц). Любительские передатчики — удалось застать только в азбуке Морзе. После долгих поисков оптимальных настроек удалось услышать и радиостанцию «судного дня» — UVB-76: мне не повезло с тем, что балкон выходит на юг, а станция на северо-западе от Москвы.
На 27Мгц слышно меньше, чем я ожидал — только рации которые относительно недалеко от меня (т.е. в диалогах я часто слышу только одного человека). Видимо нужно более основательно подходить к конструкции и согласовании антенны.
Источник
Простой SDR приёмник на ПЛИС
В этой статье я расскажу о том, как на базе отладочной платы DE0-nano сделать достаточно простой КВ SDR приёмник.
Пример принимаемых сигналов:
Про технологию SDR можно почитать здесь. Вкратце — это методика приёма радиосигнала, в которой большой объем обработки информации производится в цифровом виде. Благодаря использованию ПЛИС и высокоскоростного АЦП, можно сделать приёмник, в котором даже перенос частоты «вниз» производится цифровым способом. Такой метод называется DDC (Digital Down Conversion), подробнее про него можно прочитать здесь и здесь (больше теории). Используя эту методику, можно сильно упростить приёмник, в котором единственной аналоговой частью становится АЦП.
А теперь поподробнее о моем приёмнике.
Его основой является ПЛИС производства компании Altera, установленная на отладочной плате DE0-Nano. Плата относительно дешевая (60$ для студентов), правда, с достаточно дорогой доставкой (50$). Сейчас она становится все более популярной у радиолюбителей, начинающих знакомство с ПЛИС.
Главная задача ПЛИС — «захватить» цифровой сигнал с АЦП, перенести его в область низких частот, отфильтровать и отправить результат на компьютер. Структурная схема приёмника, реализованного мной, имеет такой вид:
Рассмотрим последовательно компоненты, которые проходит радиосигнал и цифровая информация.
Антенна
У радиолюбителей есть поговорка «Хорошая антенна — лучший усилитель». Действительно, от антенны зависит очень многое. Большинство наиболее интересных сигналов на коротких волнах нельзя принять на простую антенну (например, на кусок провода). За городом особых проблем нет — достаточно длинный провод может работать хорошей антенной (на приём). В городе, особенно внутри крупных железобетонных домов все значительно хуже — длинную антенну не растянуть, при этом мешающих шумов очень много (бытовые приборы способны создавать в эфире очень большой уровень шума), так что выбор антенны становится непростым делом.
Для приёма радиосигналов я пользуюсь активной рамочной антенной, конструкция которой описана здесь.
Моя антенна выглядит так:
Фактически антенна представляет собой большой колебательный контур (конденсатор находится внутри коробки на столе). Установлена она на балконе, и достаточно неплохо работает. Основное достоинство рамочной антенны — за счет использования явления резонанса она позволяет подавлять шумы на неиспользуемых частотах, однако есть и недостаток — при переходе с одного диапазона частот на другой антенну нужно перестраивать.
Так как АЦП оцифровывает только сигналы положительного уровня, а сигнал с антенны биполярный, то сигнал приходится смещать на половину опорного напряжения (для этого служат резисторы R1 и R2). Искусственно созданная постоянная составляющая затем вычитается уже из цифрового сигнала в ПЛИС.
Вся дальнейшая обработка сигнала после АЦП идет в ПЛИС.
Поток данных с АЦП составляет 200 Мбит (10-bit x 20 MSPS). Передать такой поток напрямую в компьютер, а потом его еще и обработать очень сложно, поэтому частоту сигнала нужно специально понизить. При переносе на более низкую частоту возникает явление «зеркального канала», для борьбы с которым используют квадратурное преобразование частоты — сигнал преобразовывают в комплексную форму (происходит разделение на два канала I/Q). Перенос на более низкую частоту производится путем умножения исходного сигнала на сигнал генератора. В используемой ПЛИС достаточно аппаратных умножителей, так что это не представляет проблемы.
Для того, чтобы переносить входной сигнал на нужную частоту, ее нужно создать. Для этого используется готовый компонент 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 мВт, находящегося на расстоянии
Радиолюбители, работающие с использованием JT65. JT65 — это один из протоколов цифровой связи между радиолюбителями. Как и в WSPR, в нем используются маленькие мощности и длительные передачи (1 мин). Принимаются сообщения автоматически, так что можно оставить приемник на длительное время, а потом смотреть, кого удалось принять.
Пример приема:
Цифровое радиовещание (DRM). Некоторые вещательные радиостанции передают звук в цифровом виде. Принять такие сигналы непросто в условиях города — не хватает уровня сигнала. Одну станцию принять удалось:
Существует множество других радиосигналов, которые было бы интересно принять. Есть еще погодные факсы, станция точного времени RBU (на чудной частоте 66.6 кГц), и другие.
Источник