Что делают блоки pack_to_unpacked в GNU RADIO?

Может ли кто-нибудь дать мне пример (например, input->output) того, что делает этот блок? Объяснение также приветствуется.

1 ответ

Решение

Из официальной документации (которая, если ваша сборка GNU Radio не повреждена, вы также можете получить доступ на вкладке документации свойств вашего блока в GRC):

Преобразуйте поток упакованных байтов или шорт в поток неупакованных байтов или шорт.

вход: поток неподписанного символа; вывод: поток неподписанного символа

Это обратное к gr::blocks::unpacked_to_packed_XX.

Биты во входном потоке байтов или шорт сгруппированы в порции битов bits_per_chunk, и каждый результирующий фрагмент записывается с выравниванием по правому краю в выходной поток байтов или шортов. Все b или 16 битов каждого входного байта или короткого обрабатываются. Правильно будет сделано, если bits_per_chunk не является степенью двойки.

Комбинация gr:: blocks:: pack_to_unpacked_XX_, за которой следует gr_chunks_to_symbols_Xf или gr_chunks_to_symbols_Xc, обрабатывает общий случай отображения из потока байтов или шортов в произвольные символы с плавающей запятой или сложные символы.

Итак, вы получаете байт, состоящий из 8 бит, и вы производите байты, каждый из которых имеет bits_per_chunk биты устанавливаются в соответствии с входом. Пример (пусть bits_per_chunk=1MSB сначала):

in 0b11110000
out 0b00000001 0b00000001 0b00000001 0b00000001 0b00000000 0b00000000 0b00000000 0b00000000
Другие вопросы по тегам