Sdr �������� ��� linux

Antenna80x

Страницы

суббота, 17 февраля 2018 г.

RTL-SDR приемник в Ubuntu

SDR — Software Defined Radio.

Это новая эра в развитии любительского и профессионального радио. Распространенное название этого программируемого радиоприемника » Донгл DVB-T + DAB + FM приемник».
Обычно представляет собой USB-девайс или устройство, связанное через УСБ-порт или другой вход, с персональным компьютером (ноутбуком, планшетом, смартфоном). Приемник принимает радиосигналы из эфира, преобразует их и передает для дальнейшей обработки на компьютер. Через интерфейс установленной программы можно управлять работой приемника с рабочего стола ПК. Для этого имеется большой ассортимент различных программ и плагинов к ним. В том числе и под Linux.
DVB-T dongles(DVB-T-ключи), основанные на Realtek RTL2832U, могут использоваться в качестве дешевого SDR, поскольку чип позволяет передавать исходные образцы I / Q на хост, который официально используется для демодуляции DAB / DAB + / FM.
RTL-SDR приемники могут быть различной модификации, комплектации и назначения. Можно посмотреть на AliExpress подходящую модель по запросу sdr rtl2832u r820t2 . Там есть недорогие попроще (от 24 до 1700 МГц) и подешевле, но сеть уже и версии перекрывающие весь диапазон от 0.1 до 1700 МГц. Производитель УСБ-донгла выпустил новую версию так же перекрывающую весь диапазон RTL-SDR.COM (V.3)
https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/
Quick Start Guide

В прошлых версиях приемника применялся адаптер (чип R820T), сейчас уже выпускаются с чипом R820T2, у него улучшена чувствительность (

2-6 дБ) и улучшена работа с экспериментальным драйвером, позволяющим программно работать на высоких частотах. Совместим с драйверами R820T.
Итак, имея такой приемник, нужно поставить программу на ПК для работы с ним. Остановимся на простой программе Gqrx SDR. У КОТОРОЙ ИМЕЕТСЯ СВОЙ САЙТ
http://gqrx.dk/.
Gqrx — это программа-радиоприемник с открытым исходным кодом (SDR). Gqrx основан на GNU Radio и графическом инструментарии Qt.
Gqrx поддерживает многие доступные аппаратные средства SDR, включая Airspy, Funcube Dongles, rtl-sdr, HackRF и USRP.
Gqrx — это бесплатное программное обеспечение, лицензированное по лицензии GNU General Public, позволяющее любому исправить и изменить его для использования.
Gqrx в значительной степени основан на GNU Radio с использованием обоих блоков DSP

Установите Gqrx SDR на Ubuntu Linux

Gqrx уже много лет включен в Ubuntu Linux. Хотя эти версии часто немного устарели, они могут быть достаточными для вашего использования.

Если вы хотите использовать последнюю версию, вы можете использовать пакеты из нашего собственного личного архива пакетов (PPA), доступные для Ubuntu 14.04 — 17.10 на архитектурах i386 и amd64. Этот PPA зависит от нескольких других сторонних архивов пакетов для предоставления последних драйверов SDR и пакетов GNU Radio.

Чтобы начать использовать PPA, сначала убедитесь, что у вас нет другой исходной или двоичной установки gqrx, gnuradio или библиотек драйверов SDR. Следующие команды удаляют двоичные установки gqrx и gnuradio, но не установки из источника:

sudo apt-get purge —auto-remove gqrx
sudo apt-get purge —auto-remove gqrx-sdr
sudo apt-get purge —auto-remove libgnuradio*

Теперь вы должны удалить gqrx / релизы или gqrx / snapshots PPA из списка источников репозиториев / пакетов, если вы их использовали.

Затем добавьте новые репозитории в диспетчер пакетов, набрав в терминале следующее по одной строке за раз:

sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:ettusresearch/uhd
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update

Если это произошло без ошибок, продолжайте установку gqrx:

sudo apt-get install gqrx-sdr

Необходимо скачать 7 228 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 30,4 MB.
https://launchpad.net/

gqrx/+archive/ubuntu/gqrx-sdr/?field.series_filter=xenial
последняя версия:
gqrx-sdr 2.10-gqrx1

xenial
Теперь вы можете найти gqrx в меню рабочего стола или запустить его с терминала, набрав gqrx. Для запуска потребуются права суперпользователя.

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

Рекомендуется также устанавливать пакет libvolk1-bin и запускать инструмент volk_profile для оптимизации производительности GNU Radio на конкретном компьютере, на котором он используется.

Читайте также:  Hgst windows drive fitness test

sudo apt-get install libvolk1-bin

Подождите, пока он закончит, а затем наслаждайтесь повышением производительности.

Для тестирования RTL-устройств нужно установить пакет rtl-sdr

sudo apt install rtl-sdr

и запускать тест командой

rtl_test -t
-например:

rtl_test -t
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
usb_claim_interface error -6
Failed to open rtlsdr device #0.
———————————————————————
И так, мы вставили УСБ-донгл и запустили программу GQRX
В окне настроек нужно выбрать свой девайс, обычно он уже найден автоматом.

Дополнительно к теме ссылки и рекомендации.

Многим нравится программа SDRShar, но она и требует больше ресурсов от ПК. Как ее установить в Linux описано здесь:
http://vladikoms.livejournal.com/51503.html

RTL-SDR for Linux Quick-Start GuideВ руководстве показано, как установить драйверы, как установить и настроить GQRX, CubicSDR, dump1090, Virtual Radar Server, QSpectrum Analyzer и SDR Trunk. https://ranous.wordpress.com/rtl-sdr4linux/

Airspy — популярный, доступный по цене SDR (основанный на программном обеспечении радиоприемник) приемник связи с наивысшей производительностью и наименьшим форм-фактором. Это серьезная альтернатива как недорогим, так и более высоким конечным сканерам, в то же время демонстрируя лучший опыт просмотра радио на рынке благодаря тесной интеграции с де-факто стандартным программным обеспечением SDR #. https://airspy.com/

Очень много роликов имеется на Ютубе с обзорами RTL-SDR приемников.

По большому счету этот девайс годится для приема местных станций и сканирования определенного диапазона частот. Для более серьезных целей он требует и более серьезной переделки, например: установки дополнительных фильтров и конвертера на кварце для перекрытия всего диапазона частот от 0.1 до 1700 МГГц. Или нужно покупать подобное SDR устройство более высокого уровня сложности и соответственно большей цены.

Источник

RTL-SDR

RTL-SDR is a set of tools that enables DVB-T USB dongles based on the Realtek RTL2832U chipset to be used as cheap software defined radios, given that the chip allows transferring raw I/Q samples from the tuner straight to the host device.

See the RTL-SDR wiki for exact technical specifications.

Packages

The latest stable RTL-SDR version can be installed from rtl-sdr in the official repositories.

Bleeding edge is on rtl-sdr-git AUR in the AUR.

udev rules are installed at /usr/lib/udev/rules.d/10-rtl-sdr.rules and set the proper permissions such that non-root users can access the device.

Usage

Performing a simple test, and make sure the dongle works and that there are no lost samples:

Raw samples can be captured directly to file (or fifo), for example to tune to 123.4MHz and capture 1.8M samples/sec:

Tune to your favorite radio station and pipe to sox for audio:

Applications

Some popular applications that use RTL-SDR:

  • gqrx — a popular SDR receiver with waterfall GUI for Linux
  • urh — complete suite for wireless protocol investigation with native support for many common SDR
  • dump1090-gitAUR — a lightweight ModeS (1090Mhz) decoder
  • multimon-ng-gitAUR — a decoder for various digital modes
  • rtl_433AUR — protocol aware receiver for multiple devices. Supports automatic packet interception and protocol analyzers for reverse engineering.

Источник

Записки программиста

Начало работы с LimeSDR, Gqrx и GNU Radio

14 августа 2017

В этой заметке речь пойдет о Software Defined Radio, или SDR. SDR — это когда у вас есть некое специальное устройство для работы с радио-сигналами, подключенное к компьютеру, а софт на компьютере определяет, что именно это устройство будет принимать и передавать. В сущности, SDR — это отладчик для радио. С его помощью вы можете как отлаживать собственное железо, так и искать баги / уязвимости в чужом, а также реверсить закрытые беспроводные протоколы и притворяться приемником или передатчиком, работающим по определенному протоколу.

Почему LimeSDR?

Так вот, упомянутых «устройств для работы с радио-сигналами» существует уже немало. Естественно, все они отличаются по цене и характеристикам.

Самым дешевым решением, пожалуй, является RTL-SDR. Различные его модификации стоят от 7$ до 30$ (я бы советовал версию в алюминиевом корпусе с SMA-разъемом), умеет работать на частоте от 24 МГц до 1766 МГц, имеет 8-и битный АЦП, частоту дискретизации 3.2 MS/s, полоса пропускания составляет 2.4 МГц. При этом устройство работает только как приемник сигнала. По этой причине, а также потому что многие интересные сигналы передаются за пределами поддерживаемых RTL-SDR частот, например, на 2.4 ГГц, это устройство подходит для несколько ограниченного круга задач.

Читайте также:  Виртуальный принт сервер для windows 10 64 bit

В качестве достаточно дорогого и подходящего для большинства практических задач устройства можно назвать USRP B200. USRP работает на частоте от 70 МГц до 6 ГГц, имеет 12-и битный АЦП, частоту дискретизации 61.44 MS/s и полосу пропускания 56 МГц. Может принимать и передавать сигнал в полнодуплексном режиме. Цена устройства на eBay составляет 600$. Также существует модификация USRP B210, позволяющая принимать и передавать в полнодуплексном режиме сразу два сигнала. То есть, в сущности, это как два USRP B200 в одном устройстве, и цена соответствующая.

Очень интересным в плане отношения цена/качество является LimeSDR:

Устройство стоит 300$, позволяет работать с частотами от 100 КГц до 3.8 ГГц, имеет 12-и битный АЦП, частоту дискретизации 61.44 MS/s и полосу пропускания 61 МГц, может принимать и передавать сигнал в полнодуплесном режиме. То есть, устройство позволяет работать с большинством интересных частот (Bluetooth, GSM, 3G, 4G, GPS, ZigBee, LoRa, …), за исключением разве что 5.8 ГГц. Но это не такая уж большая потеря, если на первых порах вы не собираетесь ковырять Wi-Fi или какие-нибудь беспроводные передатчики видеосигнала. Притом, что Wi-Fi можно поковырять и на 2.4 ГГц.

Дополнение: 14 сентября 2017 запустилась кампания по сбору средств на производство LimeSDR Mini, аналогичного устройства ценой всего 139$, или даже 99$ для первых покупателей. Основные отличия заключаются в меньшем числе каналов (по одному RX и TX, а не по два), вдвое меньших полосе пропускания и частоте дискретизации (30 МГц и 30.72 MS/s соответственно), а также чуть более узким диапазоном поддерживаемых частот (10 МГц — 3.5 ГГц вместо 100 КГц — 3.8 ГГц), и, конечно же, компактности устройства. Также вместо крохотных u.FL разъемов используются традиционные SMA. Субъективно LimeSDR Mini является куда более привлекательным устройством начального уровня, чем оригинальный LimeSDR.

Дополнение: 19 октября 2017 была анонсирована плата расширения на базе LMS8001, расширяющая диапазон частот LimeSDR или LimeSDR Mini до 10 ГГц. Цена устройства составляет 299$ плюс 15$ за доставку. Интересно, что LimeSDR с такой платой расширения по возможностям сравним с USRP B210, только в два раза дешевле.

Стоит отметить, что существуют и другие железки. В частности, большой популярностью пользуются HackRF One и BladeRF. Более подробный обзор существующих SDR можно найти в статье Roundup of Software Defined Radios на сайте rtl-sdr.com.

Fun fact! Если LimeSDR не укладывается в ваш бюджет, вы можете повторить все инструкции из этой заметки и для другого SDR, в частности, для RTL-SDR, с минимальными изменениями. Для RTL-SDR повторить их будет даже несколько проще, так как весь упомянутый софт работает с ним из коробки, без компиляции самых последних версий из исходников, и так далее.

Настройка окружения

Для взаимодействия с LimeSDR нам понадобится специализированный софт, такой, как Gqrx и GNU Radio (см далее). К сожалению, из коробки они так просто не будут работать с LimeSDR. Информацию о том, как это исправить, мне пришлось собирать буквально по крупицам. В ретроспективе могу сказать, что все свелось тупо к установке наиболее свежих версий следующих пакетов:

  • SoapySDR — представляет открытый обобщенный API на C/C++ для взаимодействия с SDR устройствами;
  • LimeSuite — драйвер и GUI для SDR-платформ на базе LMS7002M (LimeSDR, Novena RF7, и т.д.);
  • gr-osmosdr — источник (source) и сток (sink) OsmoSDR-совместимых устройств для GNU Radio;
  • Gqrx — софтверный приемник для RTL-SDR, USRP и OsmoSDR-совместимых устройств;

В Arch Linux все эти пакеты доступны на AUR и называются soapysdr-git, limesuite-git, gr-osmosdr-git и gqrx-git соответственно. Поскольку эти пакеты в свою очередь имеют зависимости, также из AUR, для их установки не лишено смысла воспользоваться утилитой yaourt или аналогичной, как описано в заметке Управление пакетами в Arch Linux с помощью ABS и pacman. Также был установлен GNU Radio, но в виде штатного бинарного пакета, а не из исходников.

Читайте также:  Микрофон не распознает речь windows 10

Все названные пакеты ставятся без особых сложностей, если не считать gr-osmosdr-git. Мне пришлось слегка подправить файл PKGBUILD, добавив в аргументы CMake:

Без этого изменения пакет никак не компилировался:

После установки пакетов подключаем к компьютеру LimeSDR и запускаем LimeSuiteGUI. Идем в Options → Connection Settings → Connect. Затем идем в Modules → Device Info, жмем Get Info. Если информация об устройстве успешно читается, это хороший знак. При помощи LimeSuiteGUI вы можете произвести проверку LimeSDR, а также обновить прошивку устройства. Крайне рекомендую сделать это сразу, чтобы потом не ловить непонятные ошибки просто из-за старой версии прошивки.

Стоит отметить, что есть и другие интересные связанные с SDR утилиты и пакеты, например sdrangel, rx_tools, inspectrum, urh, qspectrumanalyzer и baudline. Кроме того, иногда используют и Audacity, который изначально вообще предназначен для обработки звука. Но рассмотрение этих инструментов уже выходит за рамки данной статьи.

Знакомство с Gqrx

Проверим, что Gqrx нормально работает с LimeSDR. Проще всего это сделать, попытавшись поймать обычное ФМ-радио.

Но сначала нам понадобится антенна. Антенны к LimeSDR подключается через так называемые u.FL разъемы. Для высокочастотного сигнала (выше 1.5 ГГц) антенну нужно подключить к разъему RX1_H, для низкочастотного — к RX1_L. Для приема ФМ-радио в городских условиях вполне подойдет антенна от GSM-модуля Neoway M590, которая как раз имеет нужный разъем. Впрочем, при использовании такой антенны сигнал будет заметно ослаблен. Лучше подойдет обычный проводок длиной около 15 см.

Разобравшись с антенной, настраиваем Gqrx следующим образом:

Окно Configure I/O Devices, на скриншоте изображенное слева, можно найти в меню File → I/O Devices. Вкладка Input Controls, изображенная справа, находится в правой верхней части интерфейса Gqrx.

Если все было сделано правильно, вы сможете поймать на Gqrx ФМ-радио и слышать его в ваших наушниках или колонках (кликабельно, PNG, 697 Кб):

Убедитесь, что Receiver Options у вас выставлены такие же, как в правой части скриншота. В данном примере я поймал радиостанцию 95.2 FM (Rock FM). В вашим городе могут быть другие радиостанции, так что частоту придется подобрать. По так называемому водопаду (waterfall) или спектрограмме (она же сонограмма) в левой нижней части интерфейса легко определить, на каких частотах есть сигнал (желтый цвет), а на каких его нет (синий цвет).

Знакомство с GNU Radio

Еще одним популярным инструментом в мире SDR является GNU Radio. Интересно, что GNU Radio предназначен для каких-то манипуляций не только с радиосигналами, а с сигналами вообще. Например, при желании с помощью GNU Radio можно обрабатывать звук.

Пример ФМ-приемника на GNU Radio был нагуглен здесь. После пары небольших изменений у меня получилась такая схема (кликабельно, PNG, 188 Кб):

Кстати, программа на скриншоте называется gnuradio-companion. Если все было сделано правильно, то после нажатия F6 (или Run → Execute) вы увидите:

… а также услышите звук радиостанции 92.0 FM (Москва FM) в наушниках или колонках.

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

Заключение

В этой заметке мы настроили окружение для работы с LimeSDR, убедившись, что все хорошо как на железной, так и на софтовой стороне. Увы, статья и так уже получилась достаточно длинной. Поэтому, примеры приема, декодирования и передачи чего-то более интересного, чем ФМ-радио, будут рассмотрены в будущих статьях. К счастью, статей и видео на YouTube по данной теме и так существует уже немало, и теперь у вас есть все необходимое, чтобы разобраться в них самостоятельно.

Немного ссылок по теме.

Где попросить помощи:

А интересуетесь ли вы SDR и если да, то какие софт и железо используете, и что интересного с их помощью вам удавалось сделать?

Дополнение: Тонкости приема сигналов ниже 30 МГц (короткие и средние волны) при помощи LimeSDR описаны в статье Самодельный апконвертер на 40 МГц. См также другие мои статьи с меткой «SDR».

Источник

Оцените статью