bladeRF-fsk - справочное руководство, опции, примеры команд


ИМЯ

bladeRF-fsk - приложение командной строки fsk

ОПИСАНИЕ

Проект bladeRF-fsk представляет собой простой программный модем на основе частотной манипуляции (FSK), полностью реализованный на стороне хост-компьютера в коде C. В проекте используется libbladeRF для передачи/получения образцов с помощью устройства bladeRF. При использовании этого модема порт USB 3.0 не требуется. Проект также содержит MATLAB/Octave моделирование/реализация части физического уровня (PHY) модема.

Программа BladeRF-fsk C верхнего уровня демонстрирует функциональность модема в простой программе передачи данных bladeRF-to-bladeRF. Эта программа может передавать/принимать как текстовые (например, чат-программы), так и двоичные файлы (например, программы передачи файлов) с исходной скоростью передачи данных 250 кбит/с. Для правильной демонстрации программы необходимо запустить два экземпляра программы с двумя отдельными устройствами bladeRF (петля не поддерживается).

Модем модулирует с помощью частотной манипуляции с непрерывной фазой (CPFSK). Отсчеты основной полосы I/Q CPFSK отправляются на устройство bladeRF, внутри которого они преобразуются из цифрового в аналоговый, смешиваются с квадратурными несущими RF и передаются по воздуху. Принятые сигналы смешиваются с квадратурными ВЧ-несущими для преобразования с понижением частоты в I/Q основной полосы частот, дискретизируются с помощью АЦП и отправляются в программу хост-компьютера через соединение USB.

Код физического уровня включает КИХ-фильтр нижних частот, нормализацию мощности, корреляцию преамбулы для обнаружения сигнала, модуляцию/демодуляцию CPFSK и скремблирование. Код канального уровня включает кадрирование, обнаружение ошибок с помощью контрольных сумм CRC32 и гарантированную доставку кадров с помощью подтверждений и повторных передач.

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

ПРИМЕРЫ

Чтобы запустить программу bladeRF-fsk верхнего уровня с настройками по умолчанию, введите в терминал:

bladeRF-fsk

Чтобы просмотреть список параметров конфигурации и способы их установки, введите:

bladeRF-fsk -h

_ПРИМЕЧАНИЕ_: В Windows 10, если вы запускаете два экземпляра программы на одном ПК, вы должны указать серийный номер bladeRF с параметром «-d» из-за [проблема № 484] (https://github.com /Nuand/bladeRF/issues/484). Пример:

bladeRF-fsk -d *:serial=4e

По умолчанию программа использует первое доступное устройство bladeRF, получает ввод TX со стандартного ввода, записывает вывод RX в стандартный вывод и использует набор частот передачи/приема и усиления по умолчанию. Усиления, возможно, придется настроить для хорошего соединения с другим bladeRF, на котором работает bladeRF-fsk. Для передачи файлов используйте опции «-i» и «-o». Если для передачи данных используется стандартный ввод, программа будет передавать данные построчно.

Программа работает до тех пор, пока не получит EOF на входе TX.

### Пример: передача файлов ### 1) Убедитесь, что два устройства bladeRF подключены к вашему ПК (или два отдельных ПК) с подключенными антеннами TX и RX.

2) Запустить bladeRF-fsk на одном из устройств (ресивере), указав выходной RX-файл:

bladeRF-fsk -r 904M -t 924M -o rx.jpg

3) Запустите bladeRF-fsk на другом устройстве (отправителе) с противоположными частотами и указанным входным TX-файлом:

bladeRF-fsk -r 924M -t 904M -i puppy.jpg

4) Начнется передача файла, и в терминале отправляющего устройства будет напечатан прогресс.

5) После завершения передачи нажмите [CTRL-D] в Linux/OSX или [CTRL-Z, затем ENTER] в Windows, чтобы остановить программу на принимающей стороне.

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

ИЗВЕСТНЫЕ ОГРАНИЧЕНИЯ

1) В настоящее время программа не поддерживает использование платы расширения трансвертера XB-200 для передачи/приема на частотах ниже 300 МГц. Чтобы добавить поддержку XB-200, в исходный код необходимо добавить новый параметр конфигурации, а также функции из раздела «Платы расширения» API libbladeRF.

2) В настоящее время программа не может выполнять две передачи файлов в обоих направлениях одновременно. Причина № 1: Программа работает до тех пор, пока не получит EOF на входе TX, что означает, что какая бы сторона ни закончила передачу своего файла первой, она выйдет и прекратит прием. Бит EOF должен быть добавлен в формат пакета канального уровня, чтобы остановить это поведение. Причина № 2: Программа не работает должным образом во время этих одновременных передач файлов и обычно теряет соединение. Для отладки этого требуется дальнейшее исследование.

Смотрите также

лезвиеRF-cli(1)