2
您是否知道GNU Radio(GNU Radio Companion中的文件接收器)將樣本存儲在二進制文件中的格式?記錄樣本的GNU無線電文件格式
我需要在Matlab中讀取這些示例,但問題是該文件太大而無法在Matlab中讀取。
我正在用C++編寫程序來讀取這個二進制文件。
您是否知道GNU Radio(GNU Radio Companion中的文件接收器)將樣本存儲在二進制文件中的格式?記錄樣本的GNU無線電文件格式
我需要在Matlab中讀取這些示例,但問題是該文件太大而無法在Matlab中讀取。
我正在用C++編寫程序來讀取這個二進制文件。
文件接收器只是數據流的轉儲。如果數據流內容是簡單的字節,那麼文件的內容很簡單。如果數據流包含複數,那麼文件將包含一個複數的列表,其中每個複數由兩個浮點數給出,每個浮點數通常爲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()