gnuradio中grc流程图查看数据流
说明:ubuntu18.04 gnuradio3.7
参考链接:
方法:
1.使用file_sink模块,名字命名为.bin
2.使用matlab打开文件
可以使用fopen和fread函数打开
filename_2='****.bin'
f_2=fopen(filename_2,'rb');
v_2=fread(f_2,'uint8');
fclose(f_2);
也可以使用octave的函数打开
https://wiki.gnuradio.org/index.php/Octave
(链接中有说明如何为gnuradio安装octave,不过我这里是下载octave的函数,放到了matlab的相应路径,使得matlab可以访问octave函数,另外目前用到的几个octave的read函数,看来也是用fopen和fread写的)
(octave的几个read函数中找不到可以读取byte数据的,但是matlab的fread默认就是uint8,也就是一个byte)
%o_1=read_complex_binary('***.bin')
注意:
https://www.mathworks.com/help/releases/R2020b/matlab/ref/fread.html
https://wiki.gnuradio.org/index.php/FAQ#What_is_the_file_format_of_a_file_sink.3F_How_can_I_read_files_produced_by_a_file_sink.3F
file sink保存的一些数据(.bin)
byte:8bit
float:32bit
short:16bit
complex:32+32bit
(cshort:32bit char:8bit int:32bit)
(实际上matlab中char不一定是8bit)
(MATLAB® char 类型不是固定大小,字节数取决于与文件关联的编码方案。使用 fopen 设置编码。)
另外,从搜到的信息来看,完全可以用python来读取,不过我还没怎么试
注:
这里的0-255,生成的每个数是8位(因为选的是bytes),num samples是生成的样本数,根据maximun的不同,应该选择不同的output type,以确保位数可以表达,这样读取file sink生成的.bin文件也要指定相应的数据格式(uint8或其它)