基于DSP Builder的快速哈达玛变换实现
2020-07-08赵杰
商洛学院学报 2020年4期
赵杰
(商洛学院 电子信息与电气工程学院,陕西商洛 726000)
哈达玛变换是一种常用的数学变换,由于其具有实数变换,变换只涉及加、减法等特点,已在诸多领域得到广泛的应用,如重建成像、通信系统、数字水印、图像压缩等[1-6]。实际中,往往需要硬件实现数字信号处理算法。EDA(电子设计自动化)技术的迅速发展,使得通过硬件描述语言在FPGA上实现常见信号处理变换成为可能。但是程序的代码编写、调试、仿真复杂,开发周期较长、工作量大,要求开发者有很高的设计能力[7-8]。若使用调试好的IP核可显著减小工作量,但很多IP核需要单独购买[9]。本文利用DSPBuilder,在Simulink工作环境下使用图形模型构建快速哈达玛变换的运算模型,并进行仿真,将多个工具联合起来,避开复杂的代码设计,降低了开发难度。
1 快速哈达玛变换
传统哈达玛变换及其逆变换的基本形式为[10]:
一维哈达玛变换核:

式中,x,u=0,1,…,N-1。一维哈达玛正变换为:

反变换也具有类似的形式:

若直接使用式(2)或式(3),运算复杂度会很高。尤其随着变换点数的增加,计算量增长非常迅速,实际应用实现起来比较困难。为此,学者提出了相应的快速算法[10]。本文以8阶为例:

令[f1(x)]=[G2][f3(x)],[f2(x)]=[G1][f1(x)],[f3(x)]=[G0][f2(x)],则有:

由式(6)、式(7)和式(8)可得到哈达玛变换的一种快速算法,可以运用蝶形运算的方式来实现,但若用代码编写,硬件实现起来仍然比较麻烦[8]。
2 模型设计
利用DSP Builder和Simulink出色的模型化设计能力,可以将变换的硬件实现难度降低。设计的基本步骤如图1所示。

图1 模型化设计主要流程……p>
登录APP查看全文
