Руководства, Инструкции, Бланки

Gnuradio руководство img-1

Gnuradio руководство

Рейтинг: 5.0/5.0 (1862 проголосовавших)

Категория: Руководства

Описание

Gnuradio руководство

Gnuradio руководство

Spark-Media 8 amateur radio software defined radio полное. ru Forum: ЖЕЛЕЗО обновления продублировано ниже: let s say that fedora 11 your old fusecompress rootdir. новости, тесты, сравнения - Forum The manual outputs will be generated in output/docs/manual работает gnuradio, hdsdr, sharpsdr. Notes запустив который останется только подождать людьми переговоры заказчиком. A few tools are required to build the documentation (see: Section 2 complete gnuradio-companion flowgraph stand-alone python script are. 2, “Optional packages всем привет. GSM в gnuradio уже есть вот такую ссылку сбросил коллега, имеющий отношения к радио. openbts научная библиотека юго-западного государственного университета одна из крупнейших. Руководство по переносу приложений с Solaris на Linux аппаратной построения подписной базы именно что вам надо! пошаговое х английский it is full compatible linux drivers so usable fldigit. Тегами и комментариями там указано какой версией GNURadio (gcc 4.

Отзывы

Душевное место, где можно отдохнуть с друзьями, отметить День Рождения или встретить Новый год! Бассейн большой, полы теплые, парная с подстветской и аромолампой(такого релакса еще нигде не получала). Банкетный зал, есть где разместиться и потанцевать и в караоке попеть, мужчины оценили русский бильярд. Атмосфера уютная и комфортная! Советую всем хоть раз там отдохнуть!

Отмечал день рождение, очень комфортно и уютно. советую всем!

г. Тольятти
Тел. (8482) 34-12-91
ул. Революционная, 54 б

Другие статьи

Установка UBUNTU, GNU-RADIO, GR-AIR-MODES

По просьбам трудящихся попытаюсь кратко описать процесс установки gr-air-modes:

1. Устанавливаем UBUNTU. Для этого запускаем инсталлятор отсюда http://www.ubuntu.com/start-download?distro=wubi&bits=32&release=desktop
Устанавливается прямо из под Windows как вторая операционная система, все достаточно просто, у меня под Windows7 x64 никаких проблем не возникло.

2. Уже под линуксом открываем окно терминала. Например так: нажимаем на иконку Dash home в верхнем левом углу и в строку поиска вводим "terminal". После чего щелкаем на появившейся ниже иконке с надписью terminal.
Откроется окно с текстом вроде "username@ubuntu:

$", в котором мы и будем дальше работать.

Все команды (выделены жирным ) вы также можете копировать в окно терминала, а не набирать вручную.

3. Задаем пароль для пользователя root и стараемся его не забыть. т.к. он нам еще понадобится

$ sudo passwd
[sudo] password for foxgiggle: <---- сюда вводим пароль текущего пользователя
Enter new UNIX password: <---- сюда вводим новый пароль пользователя root
Retype new UNIX password:<---- сюда вводим новый пароль пользователя root еще раз
passwd: password updated successfully
foxgiggle@ubuntu:

4. Создаем папку в которой будем работать, например sdr и заходим в нее:

5. Скачиваем скрипт-установщик gnuradio:

Gnuradio руководство

Хочу описать процесс установки и использования ПО для HackRF One, данная заметка является скорее памяткой для себя, но возможно будет полезна и другим начинающим "Маководам".

Почему именно HackRF? С учетом ТТХ и цены это очень интересный гаджет для знакомства и экспериментов с GnuRadio.

Во первых, на чем обычно не заостряют внимание, - для успешной установки и сборки ПО из портов Вам потребуется установить последнюю версию Xcode из AppStore. Если Xcode уже установлен - настоятельно рекомендуется его обновить до последней версии. После установки его нужно запустить и принять положения лицензии. Кроме непосредственно GUI версии нужно установить утилиты командной строки, для этого в терминале вводим:

Для запуска порта GnuRadio требуется установить X11. https://www.xquartz.org

Для установки ПО рекомендую использовать проект MacPort, скачать последнюю версию для вашей OS можно тут: https://www.macports.org/install.php

Устанавливаем MacPort и можем приступить к установке портов.

Во-первых, установим GnuRadio. для этого можно сразу запустить установку порта, но я рекомендую сначала установить порт doxygen. Собственно его установка автоматом должна пройти и в первом случае, однако у меня данный процесс выпадал с ошибкой и приходилось ставить его вручную, поэтому сразу запускаем:

Процесс установки довольно долгий и на старом маке может занять около 40 минут.

Если установка завершилось без ошибок, то можно попробовать запустить GUI командой gnuradio-companion (вводим её в терминале). Должно открыться окно типа:

Если при запуске появилась ошибка об отсутствии дисплея, то скорее всего у Вас не установлен X11, или Вы не перегрузились после его установки.

Теперь займемся HackRF, закрываем пока GnuRadio и запускаем в терминале установку порта:

После успешной установки - подключите устройство к компьютеру (если не сделали этого раньше) и выполните в терминале:

Должна отобразиться информация о Вашем HackRF:

Found HackRF board 0:

USB descriptor string: 000000000000000014d463dc2fa16de1

Board ID Number: 2 (HackRF One)

Firmware Version: 2015.07.2

Part ID Number: 0xa000cb3c 0x00694f48

Serial Number: 0x00000000 0x00000000 0x14d463dc 0x2fa16de1

Давайте еще поставим порт OSMOSDR :

sudo port install gr-osmosdr +full

Для проверки работы можно запустить спектр-анализатор:

Должно появиться такое окно:

Теперь поставим порт GQRX :

Для запуска - набираем в терминале gqrx .

GQRX работает и с другими приемниками, например RFSpace, Afedri и т.п.

GnuRadio довольно мощный инструмент, позволяющий из блоков-кирпичиков составлять довольно продвинутые схемы. Вот. например, простейший передатчик WFM передающий данные с микрофона компьютера в эфир. Частота по умолчанию 88.1МГц, исправьте её на ту, что не занята в Вашем регионе и экспериментируйте.

Возможно, для экспериментов, Вам будет полезен и аналог Virtual Audio кабель: SoundFlower

В заключении, рекомендую обновить прошивку Вашего HackRF на актуальную, взять её можно тут: https://github.com/mossmann/hackrf/releases

Обновляйте его по инструкции и внимательно смотрите на имена файлов, что-б не пришлось потом проходить процедуру восстановления. ;)

GnuRadio: Урок 1, Signal Source, Audio source, фильтры

GnuRadio: Урок 1, Signal Source, Audio source, фильтры

GNU Radio Companion (GRC) представляет собой графический пользовательский интерфейс, который позволяет строить сигнальные графы GNURadio. Это отличный способ познакомиться с основами GNURadio. Это первая статья в сериии руководств, которые познакомят вас с использованием GRC.

  1. Откройте окно терминала с помощью: Приложения> Стандартные> Терминал. В командной строке введите:
    gnuradio-companion
    Должно открыться окно, подобное приведенному ниже.
  2. Выполните двойной щелчок на блоке Options. Этот блок устанавливает некоторые общие параметры для графа. Оставьте ID, значение top_block. Введите название проекта (например, Tutoral1) и имя автора.
    Установите параметру Generation Options значение WX GUI, параметру Run значение Autostart. и параметру Realtime sheduling значение Off. затем закройте окно свойств. Второй блок, который присутствует на поле является блоком-переменной. В данном случае он используется чтобы установить частоту дискретизации. Более подробно это будет обсуждаться позже.
  3. В правой части окна находится список блоков, которые вам доступны. Разворачивая любою из категорий (для разворота нажмите на треугольник слева) вы можете увидеть доступные блоки. Ознакомьтесь с каждой из категорий, и посмотрите, что доступно.
  4. Откройте список Waveform Generators и дважды щелкните по Signal Source (“Источник сигнала”). Обратите внимание, что блок “Signal Source” появится в главном окне. Дважды щелкните на блоке и откроется окно свойств данного блока. Измените настройки, как показано на рисунке ниже и закройте окно. Этот источник сигнала теперь установлен ??для вывода вещественной синусоиды в 1 кГц и с амплитудой 0,5.
  5. Для того, чтобы просмотреть на сигнал, нам нужен один из графических выводов. Разверните раздел “Instrumentation — WX ” и дважды щелкните по “Scope Sink ”. Он должен появиться в главном окне. Дважды щелкните на блоке и измените параметр “Type” на “Float” (значение с плавающей точкой). Оставьте остальные параметры по умолчанию и закройте окно свойств.
  6. Для того, чтобы соединить эти два блока, следует один раз нажать на «out » порт источника сигнала, а затем один раз на «in » порт “Scope Sink ”. Должен получиться следующий граф:
  7. Если вы запустите граф сейчас, внизу в окне сообщений заметите предупреждение “Warning: This flow graph may not have flow control: no audio or usrp blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU congestion ”. GNURadio предупрежает нас, что в графе нет никаких ограничителей, и возможно поглощение ресурсов процессора. Для того что бы этого избежать, добавим блок “Throttle ”. между источником и “Scope Sink ”, как показано на рисунке ниже. Убедитесь в том, чтобы “Throttle” блок имеет тип “Float”. Обратите внимание, что пока вы это не сделаете, кнопка “Execute the flow graph ” не будет доступна. Это происходит потому, что имеются ошибки в графе.
  8. Для того, чтобы наблюдать за работой этой простой схемы, мы должны cгенерировать граф, а затем выполнить его. Нажмите сначала на кнопку «Generate the flow graph «. Появится окно, в котором нам будет нужно ввести имя файла. Задайте имя файла tutorial1.grc и сохраните его.
  9. Нажмите кнопку “Execute the flow graph ”. Scope Sink откроет график с изображением нескольких периодов синусоиды. Убедитесь, что частота и амплитуда соответствует значению, которое вы задали источнику сигнала ранее. Теперь мы поэксперементируем с графическими элементами управления.
  10. В правой стороне окна, в разделе “Channel Options”, в выпадающем списке “Marker” выберете пункт “Dot Large”. Теперь вы можете видеть фактические значения выборок (сэмплов). Вспомним, что блок переменной samp_rate устанавливает частоту дискретизации в 48000 выборок / секунду или 48 выборки / мс. Убедитесь, что действительно обеспечивается 48 выборок в течение одного периода синусоиды.
  11. Закройте график и снизьте частоту дискретизации до 10000, дважды щелкнув по блоку перменной “samp_rate”. Повторно перегенерируйте, и выполните сигнальный граф. Заметьте, точек на один период стало меньше. Но насколько мы можем понизить частоту дискретизации? Вспомним, что теорема Найквиста требует, чтобы частота сэмплирования была вдвое больше самой высокой частоты. Поэкспериментируйте с этим, и посмотрите, как изменится выходной сигнал, если вы понизите частоту сэмплирования, ниже частоты Найквиста.
  12. Закройте график и изменить частоту дискретизации обратно до 48000. Добавьте блок “WX GUI FFT Sink ” (из раздела Instrumentation — WX ), на граф. Измените у блока “WX GUI FFT Sink” параметр “Type” на “Float” и оставьте остальные параметры без изменения.
  13. Подключите к выходу источника сигнала вход “WX GUIFFT Sink ”, нажав на “Out” порт источника сигнала, а затем на “In” порт блока FFT. Сгенерируйте и выполните граф. Вы должны наблюдать за график сигнала вместе с графиком FFT правильно показывающим частоту на входе в 1 кГц. Закройте окно.
  14. Ознакомьтесь с другими графическими выводами (WX GUINumber Sink. WX GUIWaterfall Sink. и WX GUIHisto Sink ), чтобы посмотреть, как они отображают сигнал.
  15. Создайте граф показаный ниже. Audio Sink находится в категории Audio .

    Выполните граф. Как и ранее, вы должны увидеть график сигнала, и график спектра. Однако, теперь вы также должны услышать тон в 1 кГц. Блок Audio Sink направляет сигнал на звуковую карту компьютера. В зависимости от частоты дискретизации звуковой карты в компьютере, вы можете получить сообщение об ошибке в окне GRCAudio_alsa_sink[hw:0,0]: unable to support sampling rate 48000, card requested 44100 instead Если вы видите сообщение подобное этому, остановите выполнение графа и дважды щелкните на блоке переменной samp_rate, и измените частоту дискретизации до 44100 (или до той, которая отображется в ошибке).
    Запустите граф на выполнение, и сообщение об ошибке должно исчезнуть.
  16. Постройте граф как показано ниже. Установите частоту дискретизации в значение 48000. Два источника сигнала должны иметь частоты 1000 и 800 Гц соответственно. Блок “Add ” (сложение) находится в разделе “Math Operators ”.
  17. Запустите граф. О на графике вы должны увидеть сигнал, соответствующий сумме двух синусоид. На графике FFT спектра вы должны увидеть компоненты сигнала: 800 и 1000 Гц. К сожалению, спектр FFT не обеспечивает достаточное разрешение, чтобы четко увидеть два различных компонента. Обратите внимание, что максимальная частота, представленные на этом графике составляет 24 кГц. Это половина частоты дискретизации 48 кГц. Для того чтобы получить лучшее разрешение, мы можем снизить частоту дискретизации. Попробуйте снизить частоту дискретизации до 10 кГц
  18. Замените блок “Add ” на “Multiply ”(умножение) блок. Какой результат вы ожидаете от произведения двух синусоид? Проверьте свой ответ запустив граф.
  19. Измените граф, чтобы включив блок “Low Pass Filter ” (фильтр низких частот), как показано на рисунке ниже. Этот блок находится в категории Filters. Вспомним, что блок умножения выдает синусоиды в 200 Гц и 1.8 КГц. Создадим фильтр, который будет пропускать компоненту в 200Hz и блокировать компоненту в 1.8 КГц. Установите у фильтра нижних частот параметр “Cutoff frequency ” (частота среза) в значение 1 кГц, и параметр “Transition width ”(ширина переходной полосы) в 200 Гц. Используйте окно Блэкмана (Window — Blackman ). Выполните граф. Вы должны увидеть, что только компонента в 200 Гц проходит через фильтр. Поэксперементируйте с фильтром высоких частот (High Pass Filter ).
  20. Используя тот же граф, измените переменную c частотой дискретизации до 20000. Измените параметр Decimation (прореживание) в фильтре низких частот до 2. Прореживание уменьшает количество выборок, которые обрабатываются. Прореживание в два раза означает, что вывод фильтра будет иметь частоту дискретизации равной половине частоты дискретизации на входе, в данном случае только 10000 выборок / сек.
    Это достаточная частота дискретизации для частоты, с которой мы имеем дело. Выполните граф. Какую частоту вы наблюдете на спектре FFT? Точно её измерить, можно наведя курсором мыши на пик наблюдаемого компонента.
  21. Вы должны были заметить, что в настоящее время спектр FFT отображет компонету сигнала около 400 Гц, а не 200 Гц, как ожидается. Почему эта ошибка происходит? Это происходит потому, что частота дискретизации на FFT не отрегулирована должным образом с частотой дискретизации на входе. Дважды щелкните на блоке FFT Sink и измените частоту дискретизации, задав ей значение samp_rate / 2. Выполните граф. Теперь вы должны увидеть правильную частоту в спектре.
  22. Перейдите в папку, содержащую файл GRC, с которым выработаете. Если вы не знаете где это, путь к этому файлу отображается в нижней части окна GRC. В дополнение к сохраненному вами «.grc» файлу вашего графа, обратите внимание, что в папке так же имеется файл под названием «top_block.py». Дважды щелкните на этом файле. Вам будет предложено запустить или отобразить этот файл. Выберите “Отобразить”. Как вы можете видеть, это Python скрипт, созданный GRC. Именно это файл запускается при выполнении графа потока. Если вы владеете языком программирования Python, вы можете сами изменить его. Это позволяет использовать функции, которые не включены в GRC, и сколь угодно расширять возможности. Имейте в виду, что каждый раз, когда вы запускаете граф в GRC, он переписывает Python скрипт заново. Так что, если вы вносите изменения непосредственно в Python скрипт, и хотите эти изменения сохранить, то сохраняйте модифицированный скрипт под другим именем.
Навигация по записям Добавить комментарий Отменить ответ

GNU Radio

GNU Radio

GNU Radio  — свободный инструментарий для построения программно-определяемого радио. Его можно использовать для обработки сигналов с легкодоступного дешевого внешнего аппаратного модуля, или без него в режиме симуляции. Широко используется для изучения, построения и развертывания программного радио, как в бизнесе, так и в академической области.

Содержание [править ] Обзор

Компоненты GNU Radio преимущественно написанный на языке программирования Python. тогда как критические к производительности компоненты обработки сигнала — на C++ с использованием расширений процессора для работы с нефиксированными запятыми, где это возможно. Таким образом, разработчик может реализовывать реалтаймовые радиосистемы с высокой пропускной способностью в простом для использования среде разработки.

GNU Radio поддерживает разработку алгоритмов обработки сигналов с использованием предварительно записанных или сгенерированных данных, что позволяет избежать необходимости применять реальное внешнее оборудование. [1]

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

[править ] История

В 2001 году GNU Radio появилось как официальный проект GNU. Филантроп Джон Гилмор инициировал и поддержал GNU Radio, заплатив $ 320,000 Эрику Блоссому на написание кода и управленческие нужды.

GNU Radio вначале был форком Pspectra, код которой написан проектом SpectrumWare в Массачусетском технологическом институте (МТИ). В 2004 году полное переписывание GNU Radio было завершено, поэтому сегодня GNU Radio не содержит ничего из коду Pspectra.

GNU Radio было использовано в дешевых системах пассивных радаров. [2] [3]

В сентябре 2010 года руководитель проекта Эрик Блоссом ушел в отставку и его заменил Том Рондо. [4] Том является выпускником Virginia Tech и специалистом по когнитивным радио, на тот момент он уже давно участвовал в разработке GNU Radio.

[править ] GNU Radio Companion

GNU Radio Companion (GRC) — это графический интерфейс для разработки программ GNU Radio, фронтенд к библиотекам сигнальной обработки. Представляет собой редактор диаграмм, в котором пользователь соединяет блоки нужным образом, получая надзорную блок-схему прохождения сигнала. GRC разработал Джош Блум во время обучения в университете Джонса Хопкинса (2006—2007). Был успешно использован в нескольких университетах. [5] GRC официально в составе gnuradio с версии 3.2.

[править ] Примечания

UPSR Ettus B210

Как я уже писал тон задают SDR по технологии DDC и с управлением по высокоскоростным портам USB3.0. PCIe, dual 10 GigE, dual 1 GigE, Multiple high-speed interfaces Dual 10 Gigabit Ethernet - 200 MS/s Full Duplex PCIe Express (Desktop) - 200 MS/s Full Duplex, 10 us latency ExpressCard (Laptop) - 50 MS/s Full Duplex, 10 us latency, Dual 1 Gigabit Ethernet - 25 MS/s Full Duplex. Наиболее передовыми решениями отличается пионер в области SDR фирма ETTUS.

Конечно данный обзор не для людей которые ищют свистки-тюнеры УКВ за 600-800 руб желая познать тему и чтобы не оттягивало карман, а например для тех кто их уже опробовал и хочет Hi-End + уважает современные решения и качество, любит и не боится экспериментировать и повышать свой уровень - можно сказать это обзор передовых приемо - передающих технологий SDR с диапазоном от 0 до 6Ггц он предназначен не для новичков. но немного знающий и понимающий в SDR радиолюбитель может прекрасно пользоваться этими устройствами причем в среде Windows. Закон сохранении энергии верен во всем - сколько вложили на столько и получите.

Конкретнее речь пойдет об Универсальном SDR от Ettus Research LLC (полностью готовое устройство) которое есть у меня - B210 - это больше чем просто любительское радио, во первых это трансивер - полный дуплекс с двумя входами для приемника и двумя для RX/TX - использованы только современные компоненты --

•Open and reconfigurable Spartan 6 XC6SLX150 FPGA (for advanced users) •Early access prototyping platform for the Analog Devices AD9361 RFIC. a fully integrated direct conversion transceiver with mixed signal baseband. The USRP B210 provides a fully integrated, single-board, Universal Software Radio Peripheral (USRP™) platform with continuous frequency coverage from 70 MHz – 6 GHz. Designed for low-cost experimentation, it combines a single chip direct-conversion transceiver providing up to 56MHz of real-time bandwidth, an open and reprogrammable Spartan6 FPGA, and fast SuperSpeed USB 3.0 connectivity with convenient bus-power.

B210 не требует звуковой карты и ей не нужен источник питания и ВЧ модули. обзор от 1 Мгц и более Мгц. управляется по USB2.0/3.0. есть и другие Ettus SDR c управлением от сети LAN например N210 которое поддерживает программа SDRConsole v2. B210 сейчас под Windows поддерживают Studio1,HDSDR. SharpSDR ,GNURadio. SDRConsole v2 - но если есть желание то В210 работает и под Линукс.

К слову сказать фирма Ettus производила SDR раньше чем хорошо известная радиолюбителям фирма FlexRadio то есть еще до 2004 года. Есть и самый высокий стандарт в SDR X серия.

Преимущество данного типа трансиверов в гибкости его построения - например добавив к В210 upconverter мы сможем принимать и весь диапазон КВ + передавать и принимать на 70-6000 МГЦ.

Качество исполнения выше всяческих похвал - платы такого качества я еще не видел.

Программы управления: GNURadio Linux (открытый источник для разработок ПО) Studio1,HDSDR. SharpSDR ,GNURadio. SDRConsole v2под Windows и даже на МАС OSX - Gqrx .

GNURadio c USRP это целая лаборатория которая позволяет создавать свои кодеры-декодры-трансиверы-приемники загружая готовые или свои GRC файлы, кроме любительского радио можно принимать и передвать TV, GMSK, DAB, видео, DRM, использовать в радиоастрономии и т.д вот лишь пара ссылок с примерами WiKi OZ9AEC mmBTools в итоге - спектроанализатор до 6 Ггц, прием-передача всех видов сигналов на КВ-УКВ-СВЧ включая CW-SSB-WFM-FM ( ДХинг-спутники (дуплекс) -ЕМЕ-метеоры и т.д ). прием ТВ сигналов в том числе с WiFi камер, прием GPS, DECT, US-DECT, PCS, GSM UNII, ISM, открытая мобильная связь OpenBTS - бесплатная сотовая-мобильная связь в любой точке где есть USRP с испльзованием обычных мобильных без SIM карт - см. видео и т.д. GNURadio - это наподобие модульного конструктора - где Вы программно стыкуя модули составляете блоки своей обработки сигнала. Гибкость и универсальность данного SDR не вызывает сомнений, однако его эксплуатация рекомендуется пользователям хорошо знающим компьютер и ОС. Это прекрасная платформа для экспериментов и повышения уровня знаний в этой области, причем знаний практических с использованием современных SDR решений. GNURadio проще всего поставить на UBUNTU

Установка под Windows для В210 не заняла много времени запустив известный Zadig и установив DLL в папки программ через 5 минут я уже запустил HDSDR и SharpSDR.

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

Только подумайте сколько стоит приемник WinRadio, AOR или ICOM c таким диапазоном до 6ГГц. а это 144, 430, 1296 МГц плюс 2,3 и 5,7 ГГц и тракт передачи без пропусков и с обзором у кого мощный РС до 32 МГц. мне на i5 без проблем удается обозревать 8 Мгц диапазона и ниже.

С КВ конвертором и Studio1 мы на КВ в полосе 16 МГц можем слушать и наблюдать сразу 5 диапазонов одновременно - 1-17 Мгц например это 160-80-40-30-20 метров - c 32Мгц уже все бенды.

Некоторые КВ и УКВ скриншоты ниже

ПОЛНЫЕ ПОЛОСЫ ОБЗОРА УКВ 2 МГЦ на 2м --- 10 МГц на 70см --- 40 МГЦ на 23 см

8/04/2014 написан новый Extio прекрасно работает с USB3.0 и теперь на i5 я могу обозревать и 32 МГЦ обзора, но приемлимое аудио при 16 или 8 Мгц на 32 все же нужно 4 ядра уже.

Прослушивание сетевых сообщений системы стандарта GSM - Radiolay - Форум радиоинженеров

Radiolay - Форум радиоинженеров

Результаты:
1. Что бы не усложнять себе жизнь,установил Kali версии 1.1. Для способа установки оказалось слишком новой,установил по старее(1.0.5)
2. Дошел до точки сборки gnuradio ,выдал ошибку :
This very likely indicates that the pre-requisite installation failed
to install one or more critical pre-requisites for Gnu Radio/UHD
exiting build


что переводится как :
Это очень вероятно, указывает, что предварительное условие не удалось выполнить установку
для установки одного или более критических предпосылок для GNU Радио/uhd с
выхода сборки
Аналогичная ошибка на xubuntu.
Все делал строго по обучающему видео несколько раз, результат одинаковый

Пути решения. пока не найдены
3. На Win 7 установлся SDRsharp,начала работать и ловить сигналы,однако только для радио, сигналы не найдены на частотах 900(+-40 МГц).
Причина. возможно недостаточно сильные сигналы,телефон бывает с трудом ловит,район находится в низине,связь не очень. Хотя если данный приемник работает в таком же ключе,что и телефон,тогда эта причина не имеет значения.
4.Линукс видит приемнки.На команду выдает rtl_test -t:
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle

Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
No E4000 tuner found, aborting.

Это уже идет после установки ,и возможно некорректная установка не дает как следует протестировать приемник.

1.Установил все библиотеки,которых не хватало(на ubuntu не хватало 4 библиотеки libcppunit-dev libboost-all-dev libsql1.2-dev libqsl0-dev; на kali 1 библиотеки libcppunit-dev). На этом этапе ошибок не выдавало,но далее выдала ошибку:
UHD build apparently failed
Exiting UHD build
это 861 строка в коде файла build-gnuradio
Такая же ошибка в xubuntu
Устанавливал и старую версию 3.6 так и новую 3.7. Везде результат одинаковый
Завтра попробую установить образ с GNUradio 3.3

2.Нашел несколько сигналов:
Лучшего всего на частоте 955.3 МГц

Эксперименты с HackRF (часть 2) – GNU Radio Companion и распознавание радиосигнала на практике

Эксперименты с HackRF (часть 2) – GNU Radio Companion и распознавание радиосигнала на практике

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

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

В этом эксперименте подопытный передатчик работает на частоте 433 МГц на платформе Arduino, при помощи которой можно создавать интерактивные электронные объекты.

Рисунок 1: Экспериментальный передатчик

Нам известно, что сигнал передается на частоте 433 МГц, так что захват сигнала (при помощи HackRF) будем делать на частоте 435 МГц:

$ hackrf_transfer -r 435MHz-ASK-HACKRF-CW-8M.iq -f 435000000 -s 8000000

После загрузки результатов работы HackRF в анализатор сигнала Baudline (о том, как это сделать, рассказано в предыдущей статье) получим следующее:

Рисунок 2: Сигнал в анализаторе Baudline

Мы получили приемлемый сигнал и теперь загрузим эти данные в GNU Radio Companion (GRC).

GRC позволяет строить блок-схемы при помощи графического интерфейса. Затем эти блоки компилируются в python-код и могут использоваться независимо от GRC. Написанием кода при помощи блоков GNU Radio можно достичь того же самого, однако GRC содержит много полезных функций, и с ним проще работать новичкам, к которым я также себя причисляю. Однако у графической оболочки GRC есть и обратная сторона: иногда бывает трудно найти нужный блок. В этом случае попробуйте поискать его по имени.

Первым делом необходимо конвертировать файл логов HackRF в формат, который можно прочесть в GNU Radio. Логи HackRF – это данные, представляющие собой пары IQ, которые хранятся как 8-ми битные беззнаковые целые (подробнее с IQ или квадратурной дискретизацией можно ознакомиться здесь ). Компонентам GNU Radio, как правило, необходимы комплексные IQ-данные, и, следовательно, мы должны преобразовать наш файл к этому формату (алгоритм показан на рисунке ниже):

Рисунок 3: Блок-схема алгоритма преобразования сигнала в формат для GNU Radio

XML-файл для GRC можно взять здесь.

Вначале блок схемы используется стандартный компонент «File Source» для загрузки файла. Затем блок «UChar to Float» конвертирует беззнаковые 8-ми битные целые числа в числа с плавающей точкой. В блоке «Deinterleave» происходит разделение общего потока данные (IQIQIQ) на два отдельных канала (I и Q), после чего они вновь объединяются, но уже в формате комплексного числа (для этого используется блок «Float to Complex»). Подобный формат как раз и используется в GNU Radio.

После прохождения через блок «Add Const» данные центрируются вокруг 0 (поскольку в HackRF используются беззнаковые целые в диапазоне от 0 до 256, данные центрируется около 127). (Я должен был сообщить об этом Майку Оссману – еще одно весьма веское основание для регистрации в проекте HackRF на Kickstarter – если будет поставлена более амбициозная цель мы получим видео курсов по GNU Radio)

Самый последний блок «Throttle» используется для сжатия частоты выборки до 8 МГц, чтобы система, где используется этот сигнал, работала корректно. В целом я выяснил, что имеет смысл сжимать частоту выборки сигнала, поскольку в противном случае могут возникнуть случайные взаимодействия между частотой выборки и шириной спектра сигнала (в случае с IQ-данными частота выборки и ширина спектра сигнала взаимосвязаны).

На стадии сжатия используется переменная throttle_rate (самый верх блок схемы), которая позволяет задавать частоту для различных сигналов. Здесь нас поджидает один сюрприз: GRC не показывает числа в том формате, в котором они на самом деле используются! GRC допускает числа в обычном или научном формате (шестнадцатеричные, восьмеричные или любые другие, которые поддерживает Python), однако отображаются эти числа в удобочитаемом формате (в этом формате числа задавать нельзя). В нашем случае допустимые значения 8000000 или 8e6, однако, число 8М недопустимо.

Теперь у нас есть файл, загруженный в нужном формате. Что же дальше?

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

Рисунок 4: Параметры блока быстрого преобразования Фурье

На выходе преобразователя получаем такой сигнал:

Рисунок 5: Сигнал после преобразователя

На рисунке выше мы видим пик на частоте захвата (435 МГц) и часть передаваемого сигнала в районе частоты 433.8 МГц.

Теперь рассмотрим настройки преобразователя. По умолчанию GNU Radio ничего не знает о несущей частоте (если ее не задать, считается, что эта частота равна нулю). В этом случае сам сигнал был бы на частоте -1.2 МГц. Меня это, конечно же, не устраивает, и я буду выставлять реальные значения:

Рисунок 6: Параметры FFT-преобразователя

Параметры «Sample Rate» (частота выборки) и «Baseband Freq» (частота захвата) соответствуют переменным «samp_rate» и «capture_freq». Параметр «Sample Rate» должен совпадать с входным сигналом (в нашем случае это 8МГц; то значение, до которого мы сжимали выборку). В противном случае преобразователь будет работать некорректно.

В GRC мы используем соответствующие блоки с переменными:

Рисунок 7: Блоки с переменными

Поскольку мы знаем, где находится наш сигнал, захват производился на смещенной частоте в 435МГц для того, чтобы избежать пика на рабочей частоте. Кроме того, мы захватили намного больше данных, чем нам нужно (если сравнивать с шириной спектра). Для того чтобы решить обе эти проблемы одним махом, мы будем использовать блок "Frequency XLating FIR Filter" (КИХ-фильтр с переносом частоты).

Рисунок 8: Используем промежуточный КИХ-фильтр

Использование подобного фильтра позволяет одновременно решить три задачи:

  1. Сместить несущую частоту сигнала. Мы как бы «прокручиваем вниз» до желаемого участка сигнала.
  2. Использовать полосовой фильтр для удаления тех участков сигнала, которые нам не нужны. Далее, когда мы будем проводить измерения, мы будем измерять только наш сигнал без примесей радиошума.
  3. Разделить сигнал. Это позволит уменьшить ширину спектра и число выборок сигнала, что уменьшит вычислительные мощности для обработки. Поскольку уменьшается частота выборки, мы должны учесть это при настройке последующих блоков.

Рисунок 9: Параметры промежуточного КИХ-фильтра

Здесь мы для установки параметра децимации (или разделения) вновь используем переменные, поскольку этот способ намного удобнее. Для получения значения децимации нам необходимо разделить входное значение частоты дискретизации на выходное ее значение (в нашем случае выходное значение равно 50 кГц, относительно произвольное значение). 50 кГц – достаточно широко, чтобы охватить весь наш сигнал, и в дальнейшем у нас не возникнет никаких проблем, поскольку сигнал очень сильный. В реальной жизни нам, возможно, следует использовать намного меньшее значение. Мы должны преобразовать результат к целому числу для корректной работы GRC (для этого используем Python-функцию int).

К параметру «Taps» привязываем переменную firdes_tap (подробнее об этом чуть позже). Этот параметр позволяет изолировать наш сигнал.

И, наконец, параметром «Center Frequency» мы задаем смещение несущей частоты (опять же с использованием переменных). Нам необходимо сместить наш сигнал вниз, следовательно, смещение примерно равно 1.2 МГц (или 435 МГц – 433 МГц). Поскольку смещение происходит вниз, значение должно быть отрицательным.

Я использую GNU Radio 3.6. Однако самая последняя версия – 3.7, в которой произошли некоторые изменения. В частности, параметр «Center Frequency» рассматривается как «фактическая» несущая частота. Если вы используете GNU Radio 3.7, удалите отрицательный знак. С этими и другими изменениями в новой версии можно ознакомиться здесь .

[Обновление от 9 февраля 2013 года – После обновления GNU Radio, мне не понятно, в чем заключаются изменения, поскольку отрицательное смещение работает прекрасно, а положительное – нет.]

Рисунок 10: Значения переменной firdes_tap

Переменная firdes_tap определяет наш низкочастотный фильтр. Ключевые параметры здесь следующие:

  1. Коэффициент усиления = 1 - мы не усиливаем сигнал.
  2. Частота выборки (samp_rate) – соответствует частоте выборки входного сигнала (в нашем случае 8МГц).
  3. Частота среза = 2000 – мы определяем частоту среза в 2 КГц.
  4. Частота переходной полосы фильтра = 20000 – устанавливает переходную полосу фильтра, которая должна быть примерно в два раза меньше, чем частота выборки (в нашем случае конечная частота выборки равна 50 кГц, следовательно, переходная частота около 20 кГц).

Параметры WIN_HAMMING и 6.76 указывают GNU Radio на то, что нужно использовать оконный фильтр. На эти параметры можно не обращать внимание.

После прохождения сигнала через фильтр, децимацию и повторное центрирование, мы вновь пропускаем сигнал через преобразователь Фурье. На выходе получается следующее:

Рисунок 11: Сигнал, пропущенный через фильтр и преобразователь

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

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

Не забудьте настроить преобразователь Фурье:

Рисунок 12: Настройки преобразователя

Особенно следует обратить внимание на изменение частоты выборки нашего сигнала (до 50 кГц) и несущей частоты. Таким образом, мы установили в параметры «Sample Rate» и «Baseband Freq» соответствующие переменные.

Теперь у нас есть отфильтрованный, отцентрированный, узкополосный амплитудно-модулированный сигнал. Что же мы можем с этим сделать?

При амплитудной модуляции происходит изменение амплитуды, и мы можем обнаружить подобный сигнал путем измерения этого параметра:

Рисунок 13: Схема измерения сигнала

Блок «Complex to Mag» приводит комплексный IQ-сигнал к абсолютной величине. Поскольку наш сигнал очень сильный и к тому же пропущен через фильтр, мы может прибегнуть к вычислению амплитуды. Если бы сигнал был нефильтрованный и присутствовал бы шум, мы не смогли бы прибегнуть к использованию столь простого метода.

Обратите внимание на цвет выходного вывода «Out» у блока «Complex to Mag» (оранжевый вместо синего). Это означает, что выходной сигнал представляет собой значение с плавающей точкой и, следовательно, входные блоки должны принимать сигнал именно такого типа.

Рисунок 14: Установка типа принимаемого сигнала

Мы можем установить тип сигнала в выпадающем меню параметра «Type».

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

Рисунок 15: Графическое изображение вычисленной магнитуды сигнала

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

Рисунок 16: Сравнение двух сигналов

Вы можете загрузить файл с выборкой данных отсюда. а GRC-файл – отсюда .

В следующей статье мы попробуем преобразовать сигнал из GRC обратно к первоначальной выборке.

Спасибо Майку Оссману, всем с канала #hackrf на Freenode и вообще всем, кто помогал в написании этой статьи и высказывал свои замечания.