你知道GNU Radio(GNU Radio Companion中的File Sink)将样本存储在二进制文件中的格式吗?
我需要在Matlab中阅读这些示例,但问题是文件太大而无法在Matlab中读取。
我用C ++编写程序来读取这个二进制文件。
答案 0 :(得分:4)
文件接收器只是数据流的转储。如果数据流内容是简单字节,那么文件的内容很简单。如果数据流包含复数,那么该文件将包含一个复数列表,其中每个复数由两个浮点数给出,每个浮点数(通常)为4个字节。
有关gnuradio文件读写块的实现,请参阅文件gnuradio / gnuradio-core / src / lib / io / gr_file_sink.cc和gr_file_source.cc。
您还可以使用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()