MATLAB量化浮点数

在做算法设计和验证时,常在matlab进行浮点验证,然后量化后在用在FPGA上,对于类似与FIR这些滤波器系数,matlab直接可以export出来,但是在验证麦克风或者ADC出来的24bit补码这类时常常需要使用matlab生成定点数进行仿真验证。这里给出我常用的生成代码:

% -------------------
% input number is below 1, and Prec_F is the (N-1)bit for N bit transform
Prec_F = 23;
% -------------------
input = [1.0000  0.9921    -1.0000    -0.9298    0.2632   0   -0.0113]';
for ii =1:length(input)
    if input(ii) == 1
        data_out(ii) = input(ii)*pow2(Prec_F)-1;
    else
        data_out(ii) = input(ii)*pow2(Prec_F);  
    end
end

data_out = round(data_out);

for ii = 1:length(input)
    if data_out(ii) < 0
        data_out(ii) = data_out(ii) + pow2(Prec_F+1);
    end
    data_out_Hex(ii,:) = dec2hex(data_out(ii),(Prec_F+1)/4);
% dec2hex(data_out(ii),6)
end
data_out_Hex

输出如下:

data_out_Hex =

7FFFFF
7EFD22
800000
88FC50
21B08A
000000
FE8DB9


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shichaog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值