Формат файла радио GNU для записанных сэмплов - PullRequest
4 голосов
/ 18 февраля 2011

Знаете ли вы формат, в котором GNU Radio (File Sink в GNU Radio Companion) хранит семплы в двоичном файле?

Мне нужно прочитать эти семплы в Matlab, но проблема в том,слишком большой, чтобы читать в Matlab.

Я пишу программу на C ++ для чтения этого двоичного файла.

1 Ответ

4 голосов
/ 20 февраля 2011

Приемник файлов - это просто дамп потока данных. Если содержимое потока данных было простым байтом, то содержимое файла является простым. Если поток данных содержал комплексные числа, то файл будет содержать список комплексных чисел, где каждое комплексное число задается двумя числами с плавающей запятой, а каждое с плавающей запятой (обычно) 4 байта.

См. Файлы gnuradio / gnuradio-core / src / lib / io / gr_file_sink.cc и gr_file_source.cc для реализации блоков чтения и записи файлов gnuradio.

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

from gnuradio import gr
# Assuming the data stream was complex numbers.
src = gr.file_source(gr.sizeof_gr_complex, "the_file_name")
snk = gr.vector_sink_c()
tb = gr.top_block()
tb.connect(src, snk)
tb.run()
# The complex numbers are then accessible as a python list.
data = snk.data()
...