Внутренняя структура стандартных блоков GNU Radio - PullRequest
1 голос
/ 29 марта 2020

Интересно, есть ли способ увидеть внутреннюю структуру стандартных блоков библиотеки GNU Radio, как если бы эти блоки были модулем OOT, построенным из более фундаментальных блоков GNU Radio? Я попытался щелкнуть правой кнопкой мыши -> Подробнее -> Открыть Hier, но GR не ответил на мои клики.

На случай, если я не дал понять, что: Я правильно помню (я видел это в статье, не помню какой, поэтому я думаю, что есть способ увидеть это), внутренняя структура блоков GFSK Demod равна 1) Input -> 2 ) Восстановление тактового сигнала MM -> 3) Квадратурная демодуляция -> 4) Двоичный срез (?) -> 5) Выход. Теперь, где я могу найти этот тип графиков (возможно, .gr c) для других стандартных блоков? Мне нужно видеть внутренний поток данных для процессов отладки.

1 Ответ

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

Большинство блоков, поставляемых с GNU Radio, не являются иерархическими блоками, так что никакой «внутренней структуры», как вы ожидаете, нет: это просто код. (этот код можно найти в кодовой базе GNU Radio: все это бесплатно и с открытым исходным кодом;))

Для них, которые на самом деле являются иерархическими блоками: ни один из них, если я правильно помню, не генерируется из Файл GR C, поэтому при щелчке по кнопке «открыть окно» нет файла GR C.

Если вы хотите посмотреть, как внутренние блоки работают, обычно я использую метод:

  1. go в каталог, где установлены определения блоков GNU Radio (обычно, если вы устанавливаете GNU Radio через менеджер пакетов Linux, это будет / usr / share / gnuradio / blocks )
  2. Поиск файла определения блока, о котором вы заботитесь
  3. Найдите определение make внутри: это дает вам класс python, который вы ищете
  4. затем найдите исходный код этого: если это на самом деле блок python, он будет установлен вместе с остальной частью кода python GNU Radio (например, /usr/lib/python3.7/site-packages/gnuradio/), если это C ++, вы ' Вам придется читать исходный код GNU Radio.

В вашем случае файл должен называться digital/gfsk.py.

...