数字图像带通滤波器的工作原理与设计分析

发布日期:2019-03-15 05:33 来源:

:在当今的数字技术世界中,使用硬件处理图像可以实现比纯软件处理更高的速度。由于fpga具有可重编程,低开发成本,并且可以快速转换为asic,因此越来越多的图像处理算法应用于fpga。为此,本文提出了一种基于fpga的数字图像带通滤波器。首先分析了xilinxvirtexii器件的优点,然后详细讨论了带通滤波器的实现。结果证明该方案是可行的。

关键词:数字图像; virtexii设备; FPGA; FFT;带通滤波

Virtexii是xilinx设计的一系列fpga芯片之一。内部virtexii由可重新配置逻辑单元(clb),可编程输入/输出模块(iob),数字时钟管理单元(dcm),互连资源和内部乘法器,块存储器组成。

可重配置单元clb:分布在设备中的阵列中。提供基本的组合逻辑和时序,其基本元素包括两个寄存器和一个三态缓冲门。两个寄存器都可以配置为触发器或锁存器。在实际应用中,单个clb通过外部连接矩阵与其他clb形成复杂的逻辑单元。 Clb是fpga的核心部分,硬件逻辑和缓存功能都是通过一定数量的clb互连实现的。

数字管理单元(dcm):主要部分是数字锁相环。通过锁相输入时钟可以提高时钟质量,还可以完成乘法器和分频。

输入单元(iob)负责转换输入和输出信号的标准,并且可以接收和发送3.3v,2.5v和1.8v的各种信号,或者直接输入差分信号。

通过块存储器和乘法器设计,virtexii器件解决了传统fpga器件的缺点,存储空间小,计算能力差。 virtexii设备内的双端口ram有两个端口a和b。每个端口的信号包括控制信号,如时钟,使能,读和写,以及完全独立的地址线和数据线。这个完整的双端口ram为过滤算法所需的数据缓冲提供了硬件基础。

一,数字图像带通滤波原理

数字图像带通滤波器的工作原理与设计分析

首先,对图像进行二维fft变换,并根据以下规则校正频域系数,然后进行逆变换以获得滤波图像。

如果(U ^ 2 + V ^ 2))hthreshold)W(U,V)=0;(1)

其中u和v是数字频域坐标,lthreshold,hthreshold是频率下限,频率上限,w(u,v)是傅里叶变换系数。算法的复杂度为3n * log2n + 2n + n2,其中n是图像每行的像素数(假设图像宽高比为1)。该系统的硬件框图如图3.1所示。

控制寄存器保存带通滤波器的滤波器表索引号。有关详细信息,请参见下面的带通滤波器设计部分双端口sdram负责在fftifft操作之后存储由外部和中间数据输入的原始数据。图像输入模块,双端口ram和控制逻辑使用乒乓操作模式,如图3.2所示。 fft/ifft模块在实际实现中使用相同的模块实现。

当图像输入模块输入图像数据满一帧时,输出控制信号被通知给fft模块以对存储在ram中的数据执行行和行fft转换,并且图像输入模块接收下一帧图像。在fft模块完成之后,通知带通滤波器模块执行带通滤波器操作,并且在带通滤波器操作完成之后,通知图像输出模块获取数据。整个过滤过程实现了流模式。流通和乒乓操作可确保实时图像过滤。

二,fft模块设计

提高fft速度的两种主要方法是使用管道结构和并行操作。高基数结构也可以提高速度。但是,在使用fpga时,必须全面考虑系统要求,结构特性和片上资源。对于系统本身的特性,这里有一个基于时间的分析选择算法。该系统使用base-2dit秩算法。

n点base-2dit行和列算法的信号流程图如图4所示。

根据上述流程图,可以如图5所示设计fft/ifft模块的框图。

系数寄存器单元保持傅立叶变换的系数。循环单元负责循环寻址,蝶形处理单元负责蝶形运算。地址生成器,循环单元和控制器一起生成ram地址和系数地址。蝶形处理单元根据地址生成器提供的地址访问ram和系数寄存器单元,首先根据行和列对图像数据执行磁盘形状操作,处理后的数据存储在ram中。