Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить

Все о GNU Radio

Сб сен 16, 2023 14:23:34

Собственно, тема по вопросам работы с софтом 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 МГц? На ум приходит какой-нибудь блок анализатора спектра (поставленный до смесителя), который выдавал бы на выходе частоту самого большого пика на спектре и по нему вычислить величину перестройки гетеродина. Но блоков таких я не нашел. Есть ли какие-то другие методы?

Re: Все о GNU Radio

Сб сен 16, 2023 23:48:55

..Как можно сделать так, чтобы принимался любой пакет, пришедший на любой частоте в пределах диапазона 1,804 МГц? На ум приходит какой-нибудь блок анализатора спектра (поставленный до смесителя), который выдавал бы на выходе частоту самого большого пика на спектре и по нему вычислить величину перестройки гетеродина...
Предполагается, что пакет будет на единственной, но неизвестной частоте? А если случится несколько пакетов на разных частотах?
Мне кажется, что нужно анализировать весь диапазон.

Re: Все о GNU Radio

Вс сен 17, 2023 23:21:29

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

Re: Все о GNU Radio

Пн сен 18, 2023 12:16:14

Если обмен предполагает единственную частоту, это значит что эта частота вам подконтрольна. Тогда оставьте 433.92 МГц и не парьтесь.
Если вы не знаете, какая это будет частота, значит логично предположить, что их может быть несколько. Из этого и нужно исходить.
Несколько частот предполагают анализ всего диапазона "одновременно", что при полосе 1.8МГц потребует значительной вычислительной мощности.
Значит надо смотреть в сторону FPGA.

Re: Все о GNU Radio

Пн сен 18, 2023 12:45:40

Я неправильно выразился. Предполагается единственная посылка в конкретный момент времени. Но она может проскочить на любой частоте в диапазоне. Одновременных передач на нескольких частотах не будет.

Re: Все о GNU Radio

Пн сен 18, 2023 12:50:31

Это ничего не меняет. Одна посылка на неизвестной частоте - частный случай нескольких посылок в пределах диапазона.

Re: Все о GNU Radio

Ср сен 20, 2023 10:59:17

Навскидку нужно либо знать как именно прыгает частота либо бить диапазон на каналы и каждый анализировать.

Re: Все о GNU Radio

Ср сен 20, 2023 20:34:44

Навскидку нужно либо знать как именно прыгает частота...
Если бы ТС это знал - не возникла бы эта тема.


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

Нет, только анализ всего диапазона целиком.
Ответить