- 用定点(整型)来代表 浮点数,那么 选择 Qn的n 就需要首先考虑 范围
- 应该为 第一个数 是符号,第二到第n个数表示需要表示的范围
- Q15 是小数点从左数还是从右数? 怎么记得?
- n 是代表用整数位表示小数的位数,n越大,则精度越高 1/2^n ,但n越大,剩余的整数位会越小,表示的范围越小, 2^(16 -1[符号位]-n)是代表的范围。一定要确定好范围 , q15的范围是 -1 到 1 - 2^15
- 是滤波系数和信号都需要用浮点来表示还是?
- 应该是都是需要用定点来表示,结果需要 >> 右移, 两个 q15相乘变成 q30,再进行右移,变成 q15,再进行 四舍五入...
- 如何转化过来
- 定点的优势和劣势,劣势如何避免
- 四舍五入, 通过 sum += 0x4000 (Q15的情况下,四舍五入)
- 所谓【无损定点化】只是数学概念,只要量化误差小于精度的一半,就认为是“无损”的。按照这个标准,那对小数点采取四舍五入的结果必然是无损的。但是校招时很多题采取的是“量化后直接去除小数”,那么小数大于 0.5 则不是无损的了。
- 题目:12.918 做无损定点化,最小误差是多少?
- 思路:什么叫 量化误差小于精度的一半 量化误差,什么叫精度。 首先12,必须满足 12=2^4,4位。
- 假设 1位1位的增加
- 0.198*(2^6)=58.752 ,整数部分为58,再返回 浮点数 58/(2^6)=0.90625
- 0.198*(2^7)=117.504,整数部分为117,再返回 浮点数 117/(2^7)=0.9140625
- 0.198*(2^8)=235.008,整数部分为235,再返回 浮点数 2357/(2^8)=0.91796875 去3位,0.918
- 所以小数Q8,整数部分4位,最小位宽12位。
- 另一种简便方法,当58.752 ,117.504,235.008 哪个小数部分小于0.5时,则为无损。(好像并不是必要充分条件)