小编py *_*sqr的帖子

理解定点算术

我正在努力解决如何在不同精度的定点数上实现算术.我读过R. Yates的论文,但我还是输了.在下文中,我使用Yates的符号,其中A(n,m)指定带有n整数位,m小数位和n + m + 1位的整数的带符号定点格式.

简短的问题:究竟是怎样一个A(a,b)*A(c,d)A(a,b)+A(c,d)进行时a!=cb=! d

长问题:在我的FFT算法中,我生成一个随机信号,其值在-10V和10V之间,有符号输入(in),它被缩放到A(15,16),并且旋转因子(tw)被缩放到A(2,29).两者都存储为ints.像这样的东西:

float temp = (((float)rand() / (float)(RAND_MAX)) * (MAX_SIG - MIN_SIG)) + MIN_SIG;
int in_seq[i][j] = (int)(roundf(temp *(1 << numFracBits))); 
Run Code Online (Sandbox Code Playgroud)

同样适用于旋转因素.

现在我需要表演

  1. res = a*tw
    问题:
    a)我该如何实现?
    b)大小应该res是64位吗?
    c)我可以制作'res'A(17,14)因为我知道范围atw?如果是的话,我应该a*tw按2 ^ 14缩放以存储正确的值 …

c fixed-point

6
推荐指数
1
解决办法
636
查看次数

标签 统计

c ×1

fixed-point ×1