0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA提升框架的小波变换方法

jf_78858299 来源:Hack电子 作者:Hack电子 2023-05-11 15:33 次阅读

基于提升框架的小波变换方法,利用FPGA编程特性可实现多种小波变换。提升框架(LS :Lifting Scheme) 是由Sweldens 等人在近几年提出的一种小波变换方法,用它的框架结构能有效地计算DWT。

对于较长的滤波器,LS 的操作次数比滤波器组的操作方式减少将近一半,更适合硬件实现。作者根据提升小波变换的框架式结构,利用FPGA 可完全重构的特点构造不同的小波变换核,以满足不同应用场合的要求。

在结构设计中采用由下至上的设计方法,每个提升步骤都由一些可编程的参数来表示,保证了每个步骤均可重构。这些参数包括用于表示数据的位数和每个内部数学模块的通道深度。在逻辑综合时按不同小波的要求,改变参数可得到不同的结果。

以图像处理中常用的(5 ,3)滤波器为例说明依靠FPGA 的重组特性实现滤波器的小波变换核方法。实验结果表明,利用FPGA 设计的提升小波变换核能满足不同场合和不同运行的要求。

LS 小波变换理论

LS 变换过程如图1 所示,逆变换与正变换相同,只是顺序相反。时间离散的滤波器可由它的多项矩阵来表示,多项矩阵由脉冲响应的奇偶采样序列的Z 变换得到。LS 小波变换的实质是对经典小波滤波器采用Euclidean 算法的多项式进行分解。

图片

图1 正向LS 变换

一个时间离散的滤波器H( z ) 用多项式表示如下:

图片

基于FPGA实现多种小波变换

He ( z ) 和Ho ( z ) 各自从

图片

基于FPGA实现多种小波变换

奇偶系数得到。分析滤波器H ( z ) 和G( z ) 分别表示低通和高通,表示成多相矩阵为

图片

基于FPGA实现多种小波变换

P( z ) 可被模拟为分析滤波器。根据Euclidean算法可将P( z ) 和P( z ) 分解成:

图片

基于FPGA实现多种小波变换

上面的分解不是的,可有几对{ si ( z ) } 和{ t i ( z ) } 滤波器,但对于计算DWT 所有的选择是等同的。

FPGA 及提升核的实现

FPGA 及重构特性

FPGA(Field Programmable Gate Array ,现场可编程门阵列) 是超大规模集成电路(VL、SI) 技术和计算机辅助设计(CAD) 技术发展的结果。FPGA 器件集成度高、体积小、具有通过用户编程实现专门应用的功能。FPGA 一般由3 种可编程电路和1 个用于存放编程数据的SRAM 组成。这3 种可编程电路是:可编程逻辑块CLB (Configurable Logic Block) 、输入/输出模块IOB ( I/O Block) 和互连资源IR( Interconnect Resource) 。由于基于小波的应用越来越广泛,所以利用FPGA 的灵活结构实现可重构的提升框架小波变换核具有很高的应用价值和研究价值。设计从基本的数学模块和逻辑模块开始,采用由下至上的设计方法,所有的库模块用VHDL 语言描述,允许根据设计精度要求选择每个单元的数据通道大小。为了满足不同环境的需要,既要求可以改变单独模块的通道层深度,又要求考虑与其他设备的相容性。将提升方法与FPGA 的特性结合起来,使不同的提升小波变换在FPGA 上可满足不同应用场合的需要。

图片

图2 提升核结构体

提升小波变换核的实现

如图1 所示,LS 变换是连续的独立的简单滤波操作过程,这个过程就是提升步骤。由图1 可导出优化了的提升核结构体。近几年,采用JPEG2000 标准进行图像传输成为热点,很多文献中均提出了不同的提升小波变换结构体。

但是这些提升结构体大都只考虑可操作性,而忽略了功耗和灵活性。作者提出的提升核结构体(图2) 采用与以往不同的由下至上的设计方法。主要特点是指定了1 个单独的流水式的乘法单元和2个加法单元。乘法单元主要用于处理滤波器系数的对称问题,加法单元用于实现分析或综合的变换。

值得注意的是所有的通道层都可用所设计的库模块来排列,因此为了保证内部IP 核数据流的同步性,必须考虑前后交叉问题。例如,在加法输出时,已经放置了一个乘法器,允许对提升步骤的结果进行归一化。采用这种设计方法,能获得的数据精度和快的运行速度。此外,整数的数学单元更容易进行深层的流水操作,获得很高的数据吞吐量。图2 所提出的结构既考虑了可操作性又考虑了应用的灵活性,由于提高了运行速度,所以降低了功耗。

逻辑综合结果

首先采用VHDL 语言来描述由基本的可重构的数学模块和逻辑模块设计的变换核结构体,然后在MAX+PLUSⅡ集成环境下进行功能仿真,实现所需变换核,进行FPGA 逻辑综合。在Altera1 公司的FLEX10K上设计的结构体,经过逻辑综合得到很满意的结果,见表1 。表1 的结果直接由逻辑综合得到,没有考虑各种客观因素引起的延时。在设计流程步骤之后的安放运行过程中,可进行更的时序分析。另外,为了获得完整的分析结果,需参考FPGA 厂家提供的指标估计功率消耗,使用时应选择功耗小的可编程器件,更好地满足不同使用环境的要求。以(5 ,3) 滤波器为例,计算(5 ,3) 小波需要4个提升核的叠加,所提出的结构体计算正向或逆向(5 ,3)DWT ,对每帧像素1400×1400 采用15位采样数和12位合成滤波器系数,以全时钟频率运行,进行5 层分解、重构,每秒钟能处理25 帧图像,功耗为267.6 mW。

基于FPGA实现多种小波变换

表1 提升核综合结果

结束语

提出的可重构的提升核结构体,采用特殊的即从下至上的设计方法,保证了限度地重复利用性和重构特性。仿真结果说明,提升小波变换核的结构体无论在处理能力和功耗方面都取得了很好的结果,尤其在处理速度上,能满足图像处理实时性要求。将来的进一步发展是将更多的自由参数加入基本的算术模块中,保证结构体具有更好的操作性,并且使功率消耗减少,能满足不同应用场合的需要,对降低设备成本,提高使用效率有实际意义。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21317

    浏览量

    593134
  • 滤波器
    +关注

    关注

    158

    文章

    7330

    浏览量

    174771
  • 可编程
    +关注

    关注

    2

    文章

    759

    浏览量

    39112
  • DWT
    DWT
    +关注

    关注

    0

    文章

    20

    浏览量

    10998
收藏 人收藏

    评论

    相关推荐

    FPGA 实现小变换

    如何用FPGA来实现97整型小变换,各位有相关的资料吗?
    发表于 10-15 09:34

    基于小去噪与变换域的信道估计方法

    针对长期演进(LTE)下行正交频分复用(OFDM)系统的最小二乘(LS)信道估计算法对噪声比较敏感的问题,提出了一种基于小变换去噪与变换域插值相结合的信道估计方法。该
    发表于 05-06 09:01

    基于QR分解和提升变换的鲁棒音频水印方法

    本帖最后由 eehome 于 2013-1-5 10:04 编辑 利用QR分解的稳定性以及提升计算速度快的优良特性,给出一种基于QR分解和提升
    发表于 03-04 21:44

    基于Multisim的三角变换成锯齿,就是输入三角信号经过波形变换器后变换成锯齿信号?

    基于Multisim的三角变换成锯齿,就是输入三角信号经过波形变换器后变换成锯齿
    发表于 05-08 14:09

    如何通过FPGA 可编程特性实现多种小变换

    LS 小变换是怎样进行的?FPGA提升核是怎样实现的?如何实现提升
    发表于 04-12 06:27

    基于DSP Builder的小变换设计实现

    自上而下的高度模块化设计方法使得系统的升级改动相当方便,将这种基于FPGA的小变换系统设计应用于脑电信号的实时滤波,是今后的研究方向。
    发表于 05-13 07:00

    基于DSP Builder的小变换设计实现

    自上而下的高度模块化设计方法使得系统的升级改动相当方便,将这种基于FPGA的小变换系统设计应用于脑电信号的实时滤波,是今后的研究方向。
    发表于 06-04 07:00

    OrgSig与基于MALLAT算法的小变换有何不同

    一、主要思路原始信号:OrgSig与基于MALLAT算法的小变换不同,提升变换不产生数组L,只产生C数组。定义如下:DWT_C:[cD
    发表于 08-17 08:25

    OrgSig与基于MALLAT算法的小变换不同

    一、主要思路 原始信号:OrgSig与基于MALLAT算法的小变换不同,提升变换不产生数组L,只产生C数组。定义如下: DWT_C:[
    发表于 08-18 07:40

    提升小波变换FPGA设计与实现

              根据1996 年Sweldens 等人提出的提升小波变换方法,设计了一种有效的JPEG2000CDF(2,2)整数小波
    发表于 09-12 11:28 30次下载

    基于FPGA的二维提升小波变换IP核设计

    提出了一种高效并行的二维离散提升小波(DWT)变换结构,该结构只需要7行数据缓存,即可实现行和列方向同时进行滤波变换。采用一种基于CSD编码和优化的移位加操作实现常系数乘法器
    发表于 07-21 17:42 18次下载

    图像的二维提升小波变换FPGA实现

    本文将实现基于FPGA的图像二维5/3提升小波变换,采用FPGA芯片实现计算量十分复杂的二维提升小波变换
    发表于 06-29 11:59 3340次阅读
    图像的二维<b class='flag-5'>提升</b>小波<b class='flag-5'>变换</b>的<b class='flag-5'>FPGA</b>实现

    FPGA实现共轭变换图像处理方法

    本篇论文就针对共轭变换图像处理方法在微光图像处理领域的应用,就如何在FPGA上实现共轭变换图像处理方法展开研究。首先在Matlab环境下,对
    发表于 11-24 11:35 56次下载
    用<b class='flag-5'>FPGA</b>实现共轭<b class='flag-5'>变换</b>图像处理<b class='flag-5'>方法</b>

    基于FPGA实现多种小波变换

    基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换
    发表于 08-18 09:47 1939次阅读
    基于<b class='flag-5'>FPGA</b>实现多种小波<b class='flag-5'>变换</b>

    如何使用FPGA实现多种小波变换

    基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换
    的头像 发表于 08-25 11:01 5784次阅读
    如何使用<b class='flag-5'>FPGA</b>实现多种小波<b class='flag-5'>变换</b>