论文部分内容阅读
快速变换是实际工程的基础。在多媒体广泛应用的数字时代,大规模数据处理处处可见,在信号处理中,数学变换是耗时最多的一部分,数学变换的正逆变换速度影响着基于数字信号系统的应用。因此,多维变换快速算法的研究显得非常重要。本文以数学变换中Walsh变换为例,选择Hadamard序的Walsh变换,以二维变换分块技术为基础,提出了所谓的分体思想,把分块技术和分体技术统称之为“分块”技术,分别应用降维法思想和“分块”技术对二维和三维离散Hadamard变换进行了快速处理。同时结合具体程序实现,选择Intel Compiler 9.0编译器,运用SSE2指令,专门针对分块技术所形成的特殊数据做优化,实践证明起到了很好的优化效果。在实验中,首先重点研究二维变换,在二维变换中运用分块技术,最后运用分体技术对三维变换处理,通过数字实验证明了运用“分块”技术相比于降维法更高效。“分块”技术之所以是高效的,在于它充分利用数据在内存中的存储结构特点和高速缓冲存储器的局部性原理:时间局部性和空间局部性。分块技术很好的利用了cache的特点,实现了存储优化。结合Hadamard矩阵分解的过程,可以发现在迭代过程中有些数据符合SIMD所要求的大量连续数据流要求,运用Intel CPU包含的SSE2指令可以对程序加以优化。实验证明,经过两次优化后Hadamard快速变换,实现效率相比传统的Hadamard快速变换有大幅度提高。算法设计思路简单清晰,容易从二维、三维向更高维推广,同时程序简单,易于推广到傅立叶变换、余弦变换等领域。