1

我不是 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
4

1 回答 1

0

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

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

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

于 2013-11-05T17:57:43.123 回答