在Matlab中将数据转换为定点二进制?

时间:2013-11-05 17:53:44

标签: matlab fixed-point

我不是常规的Matlab用户,所以如果这个问题天真,我会道歉。我正在开发一个硬件项目,并希望使用固定点工具箱将一些数据转换为定点二进制。

我的所有数据都是浮动的,在-1到+1的范围内。我试图在Matlab中将它们转换为固定点,但无济于事。

我遇到了不同类型的错误,从“单元格内容分配到非单元格数组对象”到错误的二进制值。以下是我的代码。

for i=1:count
    temp=datax(i); % datax is a array of decimal values between -1 and 1

    fixeda{i}=bin(sfi(temp,16,15)); 
    % Since all values are in the same range I set the word length to be 16 and fractional part to be 15
end

1 个答案:

答案 0 :(得分:0)

我不是matlab用户,但不应该在-1和1之间的1.15表示只是int(f*32768)

请注意,您只能在此表示中表示小于1.0的数字。 1.0确切地导致溢出。

查看帮助页面看起来fixeda = bin(sfi(datax,16,15))应该就是您所需要的。