定点 fir 小结与思考

  1. 用定点(整型)来代表 浮点数,那么 选择 Qn的n 就需要首先考虑 范围
    • 应该为 第一个数 是符号,第二到第n个数表示需要表示的范围
    • Q15 是小数点从左数还是从右数? 怎么记得?
    • n 是代表用整数位表示小数的位数,n越大,则精度越高 1/2^n ,但n越大,剩余的整数位会越小,表示的范围越小, 2^(16 -1[符号位]-n)是代表的范围。一定要确定好范围 , q15的范围是 -1 到 1 - 2^15
  2. 是滤波系数和信号都需要用浮点来表示还是?
    • 应该是都是需要用定点来表示,结果需要 >> 右移, 两个 q15相乘变成 q30,再进行右移,变成 q15,再进行 四舍五入...
  3. 如何转化过来
  4. 定点的优势和劣势,劣势如何避免
    1. 四舍五入, 通过 sum += 0x4000 (Q15的情况下,四舍五入)
    2. 所谓【无损定点化】只是数学概念,只要量化误差小于精度的一半,就认为是“无损”的。按照这个标准,那对小数点采取四舍五入的结果必然是无损的。但是校招时很多题采取的是“量化后直接去除小数”,那么小数大于 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时,则为无损。(好像并不是必要充分条件)
posted @ 2022-11-21 14:48  Nichoooolas  阅读(90)  评论(0编辑  收藏  举报