如何在Matlab中正确读取数据

时间:2020-03-31 11:24:31

标签: matlab complex-numbers

我有一个.bin文件,其中的数据采用16位小尾数格式。
当我使用

[Signal,count]=fread(fid,960000,'int16','l');

我只得到整数数据:

255
-1234
9455
25465
-3546
-6878

如何读取此数据以使其具有复杂形式?我需要获取:

255 - 1234i
9455 + 25465i
-3546 - 6878i

1 个答案:

答案 0 :(得分:2)

假设您在Signal中有这些整数:

complex_signal = Signal(1:2:end)+1i*Signal(2:2:end)

使用indexing!这个想法是您的实部和虚部是隔行扫描的,即奇数索引1:2:end包含实部,而偶数索引2:2:end包含虚部。只需将两者加因子1i即可得到复数。