Все о GNU Radio

Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Собственно, тема по вопросам работы с софтом GNU Radio.

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

Задача: Принять и декодировать любой GFSK сигнал, проскочивший в исследуемой полосе приема.
Прослушиваемый диапазон: от 433,018 МГц до 434,822 МГц.
Центральная частота: 433,92 МГц.
Ширина диапазона: 1,804 МГц.
Частота выборок: 2,4 Мвыб/сек.

На данный момент я собрал приемник и декодер на одну частоту, но нужно на весь диапазон.
Что есть сейчас в программе:
Приемник настроен на центральную частоту (433,92).
Ввиду того, что приемник шлет синфазно-квадратурные выборки, он охватывает полосу аж в 2,4 МГц (а не 1,2 МГц, если бы это были обычные выборки [теорема Котельникова как ни как]), соответственно, интересующий диапазон он охватывает с запасом. И спектр несимметричный, что тоже упрощает задачу (по крайней мере, не придется отсекать от него половину).

Выборки приемника поступают на первый вход умножителя, а на второй вход подается синусоидальный сигнал с отступом от отдельно задаваемой принимаемой частоты (в пределах диапазона) в 8 кГц.
Формула частоты, заданная в блоке выглядит так: rcvBandCenter - (rcvChannelFreq + 8e3)
То есть, реализована перестройка в диапазоне методом гетеродинирования.

Далее, выборки с выхода умножителя поступают на вход ФНЧ с полосой пропускания 32кГц и полосой перехода 8кГц.
Как я понимаю, этот фильтр ограничивает полосу приема до 64 кГц (32 кГц вверх и столько же вниз по спектру от центра)
Выборки с выхода фильтра поступают поступают на "пороговое устройство" (Power Squelch), блок, который пропускает сигнал на выход только если его уровень выше заданного порога.

С выхода этого блока выборки поступают в блок "GFSK demod", который выдает на выход поток битов передаваемых данных.

Дальше уже происходит упаковка битов в байты с помощью блока "Sync and create PDU" и принятый пакет выводится в консоль в шестнадцатеричном виде.

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

Соответственно вопрос: Как можно сделать так, чтобы принимался любой пакет, пришедший на любой частоте в пределах диапазона 1,804 МГц? На ум приходит какой-нибудь блок анализатора спектра (поставленный до смесителя), который выдавал бы на выходе частоту самого большого пика на спектре и по нему вычислить величину перестройки гетеродина. Но блоков таких я не нашел. Есть ли какие-то другие методы?
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3085
Зарегистрирован: Вт дек 25, 2012 14:51:33
Откуда: Санкт-Петербург

Сообщение a_klyuev »

[uquote="DX168B",url="/forum/viewtopic.php?p=4477475#p4477475"]..Как можно сделать так, чтобы принимался любой пакет, пришедший на любой частоте в пределах диапазона 1,804 МГц? На ум приходит какой-нибудь блок анализатора спектра (поставленный до смесителя), который выдавал бы на выходе частоту самого большого пика на спектре и по нему вычислить величину перестройки гетеродина...[/uquote]Предполагается, что пакет будет на единственной, но неизвестной частоте? А если случится несколько пакетов на разных частотах?
Мне кажется, что нужно анализировать весь диапазон.
Processor not found. Loaded software emulation ......
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Наблюдаемый обмен предполагает как раз единственную частоту. Вот я и думаю, как грамотно реализовать анализ всего диапазона.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3085
Зарегистрирован: Вт дек 25, 2012 14:51:33
Откуда: Санкт-Петербург

Сообщение a_klyuev »

Если обмен предполагает единственную частоту, это значит что эта частота вам подконтрольна. Тогда оставьте 433.92 МГц и не парьтесь.
Если вы не знаете, какая это будет частота, значит логично предположить, что их может быть несколько. Из этого и нужно исходить.
Несколько частот предполагают анализ всего диапазона "одновременно", что при полосе 1.8МГц потребует значительной вычислительной мощности.
Значит надо смотреть в сторону FPGA.
Processor not found. Loaded software emulation ......
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Я неправильно выразился. Предполагается единственная посылка в конкретный момент времени. Но она может проскочить на любой частоте в диапазоне. Одновременных передач на нескольких частотах не будет.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3085
Зарегистрирован: Вт дек 25, 2012 14:51:33
Откуда: Санкт-Петербург

Сообщение a_klyuev »

Это ничего не меняет. Одна посылка на неизвестной частоте - частный случай нескольких посылок в пределах диапазона.
Processor not found. Loaded software emulation ......
Реклама
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

Навскидку нужно либо знать как именно прыгает частота либо бить диапазон на каналы и каждый анализировать.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Друг Кота
Аватара пользователя
Сообщения: 3085
Зарегистрирован: Вт дек 25, 2012 14:51:33
Откуда: Санкт-Петербург

Сообщение a_klyuev »

[uquote="Morroc",url="/forum/viewtopic.php?p=4478839#p4478839"]Навскидку нужно либо знать как именно прыгает частота...[/uquote] Если бы ТС это знал - не возникла бы эта тема.


[uquote="Morroc",url="/forum/viewtopic.php?p=4478839#p4478839"]...либо бить диапазон на каналы и каждый анализировать.[/uquote] Сигнал может поступить во время анализа соседнего канала, и будет потерян.

Нет, только анализ всего диапазона целиком.
Processor not found. Loaded software emulation ......
Родился
Сообщения: 8
Зарегистрирован: Пн мар 02, 2015 17:48:40

Сообщение UA3GBV »

Всем здравствуйте.

Апну тему. Начал изучать GNU Radio, сейчас имею HackRF и жду BladeRF. Есть желание реализовать спектроанализатор с режимом свипирования (с полосой до ГГц), нет понимания, как сделать это на практике. Самое подробное, что нашел - эта статья: https://www.researchgate.net/publication/354945556 "SDR-Based Spectrum Analyzer Based in Open-Source GNU Radio", но хотелось бы увидеть пример кода. В частности, совершенно не понимаю, как настроить модуль FTT Sink. Буду признателен, если кто-то поделится своими знаниями или опытом.
Заранее спасибо :)
Друг Кота
Аватара пользователя
Сообщения: 5025
Зарегистрирован: Ср мар 31, 2010 09:33:22
Откуда: Владивосток

Сообщение jonpim »

UA3GBV писал(а):Самое подробное, что нашел
https://github.com/pavsa/hackrf-spectru ... me-ov-file
«Когда у общества нет цветовой дифференциации штанов, то нет цели!»

- Позвольте-с вас спросить, почему от вас так отвратительно пахнет?
- Ну, что ж, пахнет... известно. По специальности. Вчера котов душили, душили. (с)
Родился
Сообщения: 1
Зарегистрирован: Вт сен 02, 2025 18:04:24

Сообщение GHOSTRUNNER2077 »

Уважаемые радиолюбители, нуждаюсь в вашей помощи))
Недавно приобрёл две SDR от Analog Devices. Необходимо влиться в эту тему за короткий срок, однако, понимание так и не приходит, а сроки сжимаются.

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

P.S. - Влез только один скрин. В потенциале нужно будет добиться передачи видео, но это уже будет отдельная история. :)
Ответить

Вернуться в «Радиотехника: приемники, передатчики, антенны»