天天看点

DCT变换的FPGA实现

硬件测试图

1.先进行管脚绑定

DCT变换的FPGA实现

选择pin planner

DCT变换的FPGA实现

这个就是管脚绑定。

3.然后对signaltap进行配置

DCThaffman编码之压缩部分:

DCT变换的FPGA实现

解压缩:

DCT变换的FPGA实现

小波shint编码压缩:

DCT变换的FPGA实现

小波shint解压缩:

DCT变换的FPGA实现

仿真图:

DCT那个算法:

        第1部分:RGB转Ycbcr,这个模块的仿真如下所示:

DCT变换的FPGA实现

这个结论,只要通过公式

DCT变换的FPGA实现

进行简单的计算就可以验证其正确性了。

        第2部分:DCT模块,这个模块的仿真结果如下所示:

DCT变换的FPGA实现

        DCT变换过程中,会有大量的小数等情况,因此,在FPGA中做处理的时候,会有误差,不过DCT变换有个较大的特征,就是每个8*8块的DCT变换后都有一个极大值,所以上面的仿真结果基本正确。

最后仿真结果如下所示(即加入DCT和huffman编码之后的整体仿真):

DCT变换的FPGA实现

然后将几个主要的信号放大:

DCT变换的FPGA实现

然后单独的压缩和解压缩如下:

DCT变换的FPGA实现
DCT变换的FPGA实现

小波那个算法:

DCT变换的FPGA实现

将仿真波形放大,其中小波变换之后如下所示:

DCT变换的FPGA实现

编码解码如下所示

DCT变换的FPGA实现

最后小波逆变换之后得到如下结果:

DCT变换的FPGA实现

然后改为三通道后,整体仿真结果如下(单个通道的放大仿真图和上面一样,这里就不重复了):

DCT变换的FPGA实现

单独压缩

DCT变换的FPGA实现

单独解压缩

DCT变换的FPGA实现