RTL2832U: создание FM-приемника с GN C на Windows - PullRequest
0 голосов
/ 22 апреля 2020

Я довольно давно использую SDRSharp, слушая различные станции, и я хотел рассказать больше о том, как я могу создавать инструменты с помощью GNURadio.

Я скачал GNURadio Companion 3.8.0.0 и пробежал первые три урока.

Я читал уроки на официальном GNURadio.Wiki с использованием упомянутой V3 RTL-SDR Донгл (RTL2832U R820T2 TCX0 + BIAST + HF)

Я столкнулся с проблемой при создании FM-приемника в соответствии с уроками. Из-за того, что мое оборудование отличалось от того, которое использовалось в уроке, я сделал несколько изменений параметров потокового графа.

  1. Я использовал частоту дискретизации 2,4e6 (2,4 мс / с), которая максимальная стабильная частота дискретизации указанного ключа
  2. Я использовал исходный блок RTL-SDR, а не блок UHD
  3. Я установил частоту останова на 2e9, так как этот ключ не будет go до 6 ГГц

После этих изменений, я предполагаю, что все установлено, и Генерация / Выполнение потокового графа. Меня приветствует следующая ошибка:

Executing: C:\Program Files\GNURadio-3.8\gr-python27\python.exe -u D:\GNURadio\TutorialsFromGNUDotOrg\FM_Radio_Receiver.py

gr-osmosdr 7da9989b (0.1.5git) gnuradio 3.8.0.0
built-in source types: file osmosdr rtl rtl_tcp uhd hackrf bladerf airspy redpitaya spyserver 
[INFO] [UHD] Win32; Microsoft Visual C++ version 14.0; Boost_106000; UHD_3.14.1.HEAD-0-g0347a6d8
[ERROR] [X300] X300 Network discovery error receive_from: An existing connection was forcibly closed by the remote host
[ERROR] [UHD] Device discovery error: receive_from: An existing connection was forcibly closed by the remote host

Я знаю, что могу поразить частоты, о которых идет речь, так как я настраиваюсь на них в SDRSharp. Я также знаю, что в документации указывается блок источника RTL-SDR:

 * RTL2832U based DVB-T dongles through librtlsdr

Я начинаю думать, может, у меня нет этой библиотеки? Затем я открываю терминал и набираю python Я продолжаю проверять, установлен ли librtlsdr, набирая:

import librtlsdr 

Я получаю ошибку импорта, 1Нет модуля с именем librtlsdr I assume this is the problem, so I proceed to pip install librtlsdr` и я меня приветствуют:

ERROR: Could not find a version that satisfies the requirement librtlsdr (from versions: none)
ERROR: No matching distribution found for librtlsdr

В последней версии 3.8.0.0 используется Python (Python 2.7.10), и моя ошибка PIP показывает:

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support

Is проблема с отсутствующей библиотекой, и если да, то как я могу ее импортировать, чтобы GN C мог работать как положено?

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Для тех, кто сталкивается с этой проблемой, обязательно введите аргумент устройства. Это не было проблемой библиотеки. Сообщение

[ERROR] [UHD] Device discovery error: receive_from: An existing connection was forcibly closed by the remote host

было связано с тем, что устройство не найдено.

Мне пришлось установить rtl = 0 в разделе аргументов устройства. Смотрите граф потока ниже.

Flow Graph

Новый вопрос, как вы можете определить, какой аргумент устройства вы должны ввести?

0 голосов
/ 22 апреля 2020

Чтобы дать вам лучший ответ, пожалуйста, ответьте на следующие вопросы: - какую ОС вы используете? - как вы загрузили GNU Radio 3.8? - вы пробовали использовать pip3 и python3? Попробуйте запустить процедуры в https://wiki.gnuradio.org/index.php/ModuleNotFoundError

Вы говорите: «Я скачал GNURadio Companion 3.8.0.0», но вы не указали свой источник для этого. Вы построили потоковую диаграмму самостоятельно с помощью GNURadio Companion 3.8.0.0 или загрузили https://raw.githubusercontent.com/gnuradio/gr-tutorial/master/examples/tutorial6/gr-tutorial-broadcast-fm-rx.grc? Он был написан для GR 3.7.

Попробуйте: - прервать SDRSharp - извлечь ключ - перезагрузить компьютер - подключить ключ - попробовать еще раз

...