APP下载

小波IP 软核实现及在信号降噪中的应用

2013-10-21胡先伟

火控雷达技术 2013年2期
关键词:框图小波滤波器

胡先伟 李 明

(西安电子科技大学 西安 710071)

1 引言

小波变换相对傅里叶变换具有更强的时频分析能力,它在处理非平稳信号中表现出了其他数学分析方法所不具有的优点,已逐渐发展成为信息处理、多媒体等领域中的重要理论基础。但由于它计算复杂度较高,单纯软件算法实现是无法满足实际工程中的实时处理需要的,而小波变换算法的硬件实现能将其推向更广泛的实际应用领域。

目前,虽然小波理论已经渐近成熟,但小波变换硬件实现的应用较少。文献[1]基于小波变换采用中值滤波的方法进行图像去噪,采用硬件计算阈值,需要估计噪声方差,计算量大,需要消耗很多资源。由于FPGA 是基于查找表的,具有丰富的寄存器资源,本文设计的可配置IP 软核,用户可以根据实际使用需要进行相应的配置,用于信号降噪或数据压缩;同时本文设计使用的小波系数处理模块,可以通过软件仿真或先验经验预设阈值,方便用户更改设计,节约硬件资源,并具有较好的降噪效果。

2 离散小波变换原理

定义连续小波变换为[2]:

式中a >0 是尺度因子,b 是位移,可正可负。考虑函数:

通常,将连续小波变换中连续变化的尺度因子和位移因子离散化,即得到离散小波变换。离散化公式分别取做,这里j ∈Z,扩展步长a0≠1 是固定值,对应离散小波变换函数ψj,k(t)即

而离散化小波变换系数则可表示为:

其重构公式为:

c 是一个与信号无关的常数。

3 小波分解单元设计

图1 为离散小波Mallat 算法分解框图[3]。

图1 离散小波Mallat 算法分解框图

图1 为两级Mallat 算法分解示意图:待分解的输入序列进入分解滤波器组后,经过二抽取,得到一级小波分解的高频细节信号和低频概貌信号,如有需要,再将作为下一级输入信号进行继续分解,得到低频概貌和高频细节,如此组成原始输入序列的多分辨率分解。二抽取环节就是将输入序列每隔一个输出一次,组成长度缩短一半的新序列。

图2 为一级小波分解流程图:输入数据进入到小波分解单元后,先进行输入数据边界延拓,延拓后的数据在控制信号的作用下进入到小波分解滤波器组,数据经过小波分解高通滤波器处理后得到高频细节系数,对数据进行二抽取处理后存储到RAM中,供用户根据需要进行处理;经过小波分解低通滤波器处理后的低频概貌系数经过二抽取处理后,直接送到下一级分解滤波器组继续分解,至此,一级小波分解结束、如此重复,直到达到预定的分解层数位置。

图3 为FPGA 小波分解模块框图。

图3 FPGA 小波分解模块框图

输入输出管脚定义:

·data[9..0]:输入数据总线,宽度为10bit(为原始8 位输入符号位扩展后);

·clk1/ clk2:小波分解数据输入时钟/下采样辅助时钟;

·reset:复位信号;

·l_out/h_out[9..0]:小波分解低频/高频系数下采样前输出数据总线;

·l_sampout/ h_sampout[9..0]:小波分解低/高频系数下采样后数据总线;

小波分解模块中涉及的功能单元介绍:

a.边界延拓单元:小波变换算法中,假定数据是双向无限的,且严格重抽样的自带信号样本总数不会增加。而在实际处理中,数据一定是有限的,因此必须对边界进行边界延拓,以减弱边界效应带来的误差。本文中对数据头采用镜像对称延拓技术初始化处理数据。

b.分解滤波器单元:本文中滤波器采用小波分解FIR 滤波器,滤波器系数根据所用小波预设滤波器系数扩大128 倍做量化处理,最后对滤波器输出结果截取处理以得到正确结果。

c.数据移位单元:由于常用小波滤波系数较小,几乎全部位于0.01 到1 之间。系统设计时,为了方便FPGA 数据的处理,将其扩大128 倍。因此在滤波结束后应右移7 位,以得到正确结果。

d.二抽取单元:本文中二抽取的实现采用分频时钟和D 触发器来实现:用分频后的时钟对输出数据进行采样得到,分频时钟使用FPGA 内部的PLL分频得到。

小波分解模块中,各级小波的分解是即时进行的:只要上一级小波分解输出结果有效,下一级分级立即进行;每一级分解产生的小波高频系数送至缓存单元保存,低频系数进入下一级继续分解。

4 小波重构单元设计

图4 为离散小波重构算法框图[4]。

图4 离散小波重构算法框图

图4 为两级离散小波重构算法。小波分解后的小波系数经过高频细节部分和低频概貌部分,经过2 插值后进入小波重构滤波器组,处理后的数据经过相加后作为上一级重构低频概貌部分,如此反复,直到完成小波的重构。

图5 为小波重构流程图:以第三级小波重构为例说明一级小波重构流程为:当进行第三级小波重构时,首先判断低频概貌数据ca4 是否有效:如果有效,输出读使能信号给缓存单元读出存储在缓存单元中的高频细节系数cd4,将两路数据同步对齐后进行二插值处理,将两路数据送入重构滤波器组进行重构,重构后的两路数据进行数据和运算后得到重构到的第三级低频概貌系数ca3;准备好后再按照上述步骤进行下一级重构,如此反复,直到小波重构完成。

图6 为FPGA 内部小波重构模块框图。输入输出管脚定义:

·ca[9..0]:上一级重构输出低频系数数据总线;

·cd[9..0]:经过阈值处理后的高频系数数据总线;

·clk1/2:小波重构数据输入时钟/输入数据上采样辅助时钟;

·reset:复位信号;

·ca_cha/ cd_cha[9..0]:经过2 插值后的低频/高频系数输出数据总线;

·l_fir_out/ h_fir_out[9..0]:低通/高通重构滤波器输出数据总线;

·idwt_out[9..0]:一层小波重构输出数据总线;

小波重构模块中涉及的功能单元介绍:

a.二插值单元:实现每采样一个数据插入一个零值,输入数据需通过二插值后才能送至重构滤波器进行重构,二插值过程同样使用分频时钟做时钟时能实现。

b.重构滤波器单元:滤波器采用小波重构FIR滤波器,滤波器系数根据所用小波预设。滤波器系数先乘以128 倍做量化处理,最后对滤波器输出结果作截取处理以实现除以128 作为滤波结果。

c.数据和单元:高低通滤波器输出信号相加得到重构信号,其中数据加使用Verilog 自带的“+”运算。

小波重构中关键注意数据对齐:重构用高频系数与低频系数必须同步后再送入下一级重构滤波器,否则将造成结果错误。图7 为编译后该离散小波变换IP 软核的资源占用示意图,仿真中使用FPGA 芯片为Altera 公司Stratix 系列EPS602F1020I4。

图7 离散小波变换IP 软核资源占用图

从图7 可知该芯片所有48352 个LE 资源中,10%用于实现组合逻辑;8%用于实现寄存器,即时序逻辑,FPGA 的整体逻辑使用率小于1%,资源占用率小。

5 离散小波变换IP 软核在信号降噪中的应用[5]

本文离散小波变换IP 软核应用于信号降噪的硬件架构框图如8 所示。

图8 离散小波降噪硬件结构框图

a.输入接口单元设计

主要作用是完成输入数据的符号位扩展和数据缓冲等预处理,并在控制信号的作用下将数据送入小波分解单元进行处理。

b.存储单元设计

主要用于存储小波分解产生的中间数据,用于小波系数的阈值化处理和重构。一个独立的存储单元主要由双口RAM、写地址产生单元和读地址产生单元组成。双口RAM 用于存储小波分解产生的高频系数;写地址产生单元:当小波分解输出高频系数有效时,产生写地址,将数据写入RAM;读地址产生单元:当上一级小波重构低频系数输出有效时,开始从RAM 读出高频系数做阈值化处理并用于下一级的小波重构。

c.控制单元设计

控制单元是整个设计的大脑,负责产生各个单元正确有序运行的控制时序。本文设计中,控制单元主要包括了读写使能产生单元,作用主要在于控制数据存储和读写,用以使小波分解和重构能够有序有效的进行,得到正确的数据结果。

d.系数处理单元设计

本文设计采用软硬阈值折衷法。定义

上式为软硬阈值折衷法小波系数估计器。特别地,当a 分别取0 和1 时,上式成为软硬阈值和软阈值估计方法。对于一般0 ≤a ≤1 来讲,该方法估计出来的数据w^t 的大小介于软硬阈值之间,故称之为软硬阈值折衷法,本文中加权因子a 取值为0.5。

传统的通用阈值准则降噪方法,对所有的高频细节系数采用同一个阈值进行阈值化处理,忽略了不同分解尺度上高频细节系数的差异性。本文硬件设计中采用启发式阈值准则,分层化阈值估计。结合噪声和有用信号在不同分解尺度上的变化规律,对每一层高频系数做一次阈值估计,能够很好的保留真实信号部分,更加有效的剔除信号中的噪声成分。模块中的阈值估计采用Matlab 中的降噪阈值估计函数thselect 完成。

具体降噪流程为:系数处理(见图9)模块开始工作后,先将进入模块的小波系数值进行符号位判断(判断正负),求取小波系数与预设的阈值的差值,再判断差值与处理前小波系数的符号位是否相等,若相等,则可知原小波系数的绝对值大于预设的阈值,将小波系数与差值的和右移一位,实现阈值化处理;若符号位不相等,则可知原始小波系数小于阈值,认为该小波系数由噪声产生,直接置零。最后通过对输出数据进行截取得到新估计的小波系数结果[6]。

图9 系数处理流程图

6 仿真与验证

以下为离散小波变换降噪模块整体效果仿真,仿真中使用了Matlab 自带信号Heavysine、Doppler信号,测试数据中所添加噪声为高斯白噪声,将FPGA 运行得到的结果以文本形式保存,再通过Matlab图形化显示出来,并将降噪前后波形做了对比。图10、图11 为仿真降噪结果。

由以上仿真结果可以看出,该信号降噪模块对Heavysine 信号以及Doppler 信号处理后,降噪后的信号信噪比都有了明显的不同程度的提高,证明了该离散小波变换IP 软核应用于信号降噪是有效的。相比于Matlab 分层阈值法仿真效果,本文IP 软核降噪后效果略差,主要是因为FPGA 逻辑运算中由滤波器系数扩大取整、数据迭代截断运算造成的。

7 结论

随着信号处理领域的不断发展,离散小波变换的硬件实现是使它走向更广泛应用的需要。本文设计的离散小波变换IP 软核应用于非平稳信号降噪中取得了不错的降噪效果,而且可移植性好,可以根据实际工程需要配置系数处理模块,不论用于图像压缩或信号处理,在工程实践中具有一定的应用价值。

[1]万海军,何东健,徐尚中.基于FPGA 的图像中值滤波算法硬件实现[J].微计算机信息,2008,24(21) :280-282.

[2]潘泉,张磊,孟晋丽.小波滤波方法及应用[M].北京:清华大学出版社,2005,9.

[3]程正兴,杨守志,冯晓霞.小波分析的理论、算法、进展和应用[M].北京:国防工业出版社,2007,7.

[4]齐敏,黄世震.基于Matlab 的小波去噪算法研究[J].电子器件,2012,35(1) :103-106.

[5]Wavelet denoising based on four improved functions for threshold estimation[J].Journal of Mathematics.2006,26(5) :473-477.

[6]周伟.Matlab 小波分析高级技术[M].西安:西安电子科技大学出版社,2006.

猜你喜欢

框图小波滤波器
基于多小波变换和奇异值分解的声发射信号降噪方法
构造Daubechies小波的一些注记
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
基于MATLAB的小波降噪研究
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
电路图2017年凯迪拉克XT5
一种微带交指滤波器的仿真
算法框图的补全
基于TMS320C6678的SAR方位向预滤波器的并行实现