问答 店铺
热搜: ZYNQ FPGA discuz

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

微信扫一扫 分享朋友圈

已有 10981 人浏览分享

开启左侧

vivado HLS中DCT算法中DESCALE的作用

[复制链接]
10981 1
在ug871的Chapter 6: Design Analysis示例中使用了DCT变换,其中使用了DESCALE宏对DCT变换数据进行处理,DESCALE宏的定义为
#define CONST_BITS  13
#define DESCALE(x,n)  (((x) + (1 << ((n)-1))) >> n),
在DCT算法中的宏的使用情况是
DCT_Outer_Loop:
   for (k = 0; k < DCT_SIZE; k++) {
DCT_Inner_Loop:
      for(n = 0, tmp = 0; n < DCT_SIZE; n++) {
         int coeff = (int)dct_coeff_table[k][n];
         tmp += src[n] * coeff;
      }
      dst[k] = DESCALE(tmp, CONST_BITS);
   }
}
我对这个DESCALE的作用没看懂,为什么动过左右移数据可以实现数据的处理,另外,为什么此处要进行数据处理,并且为什么移位的CONST_BITS设定为13,依据是什么?
请资深技术帮忙解答,谢谢!

评论 1

黑暗鼠标  新手上路  发表于 2020-8-21 20:00:37 | 显示全部楼层
在ug871的北京快3Chapter 6: Design Analysis示例中使用了DCT变换,其中使用了DESCALE宏对幸运飞艇DCT变换数据进行处理,DESCALE宏的定义为   

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

1

主题
精彩推荐
热门资讯
网友晒图
图文推荐

  • 微信公众平台

  • 扫描访问手机版