2014-03-05 1 views
2

У меня есть двоичный файл (capture.bin) из инструмента rtl_sdr. Я конвертирую его в файл .c с данным руководством http://sdr.osmocom.org/trac/wiki/rtl-sdr#UsingthedataОткрыть .cfile из rtl_sdr после преобразования с GNU Radio

Где я могу получить данные в этом файле? Цель состоит в том, чтобы получить числовой формат, выводимый из источника. Это возможно?

ответ

2

Это фактически покрыто a GNU Radio FAQ entry.

Каков формат файла file_sink? Как я могу читать файлы, созданные файловой раковиной?

Все файлы находятся в чистом двоичном формате. Просто биты. Это оно. Поток данных с плавающей точкой сохраняется в виде 32 бит в файле один за другим. Комплексный сигнал имеет 32 бита для реальной части и 32 бита для мнимой части. Считывание сложного числа означает чтение в 32 бита, сохранение этого в реальную часть сложной структуры данных, а затем чтение в следующих 32 битах как мнимой части структуры данных. И просто продолжайте читать данные.

Взгляните на файлы Octave и Python в gr-utils для чтения в данных с помощью модуля Octave и Python Scipy.

Исключение составляет формат использования формата файла метаданных. Эти файлы создаются блоком File Meta Sink: http://gnuradio.org/doc/doxygen/classgr_1_1blocks_1_1file__meta__sink.html и считываются блоком File Meta Source. > Дополнительную информацию о том, как обращаться с этими файлами, см. На странице руководства в формате файла метаданных.

одной строки команда Python, чтобы прочитать весь файл в Numpy массива:

f = scipy.fromfile(open("filename"), dtype=scipy.uint8) 

Заменить DTYPE с scipy.int16, scipy.int32, scipy.float32, SciPy. complex64 или> любой тип, который вы использовали.