3

我有一个来自 rtl_sdr 工具的二进制文件 (capture.bin)。我使用本手册将其转换为 .cfile http://sdr.osmocom.org/trac/wiki/rtl-sdr#Usingthedata

我在哪里可以得到这个文件中的数据?目标是从源获得数字格式输出。这可能吗?

4

2 回答 2

2

这实际上包含在 GNU Radio 常见问题解答条目中

file_sink 的文件格式是什么?如何读取文件接收器生成的文件?

所有文件都是纯二进制格式。只是位。而已。浮点数据流以 32 位的形式保存在文件中,一个接一个。复数信号的实部为 32 位,虚部为 32 位。读回复数意味着读入 32 位,将其保存到复数数据结构的实部,然后读入接下来的 32 位作为数据结构的虚部。继续阅读数据。

查看 gr-utils 中的 Octave 和 Python 文件,以便使用 Octave 和 Python 的 Scipy 模块读取数据。

该格式的例外是使用元数据文件格式时。这些文件由文件元接收器生成:http: //gnuradio.org/doc/doxygen/classgr_1_1blocks_1_1file__meta__sink.html块并由文件元源块读取。>有关如何处理这些文件的更多信息,请参阅元数据文件格式的手册页。

将整个文件读入 numpy 数组的单行 Python 命令是:

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

将 dtype 替换为 scipy.int16、scipy.int32、scipy.float32、scipy.complex64 或 >您使用的任何类型。

于 2015-01-08T16:40:52.740 回答
0

更新 scipy.fromfile 将在 v2.0 中被弃用,因此请改用 numpy 库

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

于 2020-04-12T16:12:25.687 回答