- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
?
?
浅析数字图像带通滤波器的工作原理与设计
?
?
摘要:在数字技术极大发展的今天,利用硬件处理图像可以获得比纯软件处理高的多的速度。由于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变换,对其频域系数按照如下规则修正然后再将其逆FFT变换得到滤波后的图像。
IF(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实现时必须综合考虑系统要求、结构特点及片内资源。针对本系统自身特点,这里按时间抽选算法进行分析。本系统采用基-2DIT行列算法。
N点基-2DIT行列算法信号流图如图4。
根据上面的流图可以设计出FFT/IFFT模块框图如图5。
其中系数寄存单元保存富里叶变换的系数。循环单元负责循环寻址,蝶形处理单元负责蝶形运算。地址发生器、循环单元和控制器一起产生RAM地址和系数地址。蝶形处理单元根据地址发生器提供的地址对RAM和系数寄存单元进行访问,先按行后按列对图像数据进行碟形运算,处理后的数据存放进RAM。
转贴于
三、带通滤波器设计
由于乘法运算需要消耗大量的FPGA内部资源而且速度也很慢,而LUT查找表法虽然需要消耗一定的内存空间但可以获得较高的处理速度,又因为实际的图像滤波并不需要全范围的滤波,所以我们将预先划定带通滤波器的窗口并做成查找表的形式。
地址发生器根据象素(X,Y)的频率坐标产生地址,读取ROM中的对应位与0作比较,然后根据判断结果决定是否改动存放在RAM中的富里叶变换系数。为简单起见,本系统只设计了一张滤波器表。
四、硬件测试结果
本系统带通滤波部分采用一片XC2V1500实现,当对一幅256256Lena图像滤波,lThreshold和hThreshold分别取100,20000
文档评论(0)