我有一个大型二进制文件,其中交错的 Int16 值表示每个样本的实部和虚部。设 S_i 表示样本编号 i,则数据排列如下
[Re(S_1),Im(S_1),Re(S_2),Im(S_2),...]
我的想法是定义一个自定义的 ComplexInt16 类型并对其进行操作。我编写了以下代码:
struct ComplexInt16
re::Int16
im::Int16
end
filehandle = open("y_baseband.dat")
dh = mmap(filehandle, Vector{ComplexInt16})
上面的代码按预期运行,但我无法使用为复数定义的函数(例如real(dh[1])
返回错误。)有没有办法让我的ComplexInt16
类型与 Julia 中现有的复杂函数一起工作?
为什么不直接使用
Complex{Int16}
?