中值滤波器在FPGA实现中数据读取设计.docVIP

中值滤波器在FPGA实现中数据读取设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中值滤波器在FPGA实现中数据读取设计

中值滤波器在FPGA实现中的数据读取设计   摘 要:以Altera的QuartusⅡ为开发平台,在FPGA芯片中设计实现3×3窗口中值滤波器,结合选定的中值滤波算法,主要针对在进入比较单元前的数据读取部分进行优化设计,提出了构建双极随机存储器BRAM实现数据读取和构建D触发器实现数据串入并出两种数据读取设计。   关键词:FPGA;中值滤波;数据读取;BRAM;D触发器   中图分类号:TN919 文献标识码:A   Abstract:Based on the FPGA- platform for application software design and implementation QuartusⅡ made the 3×3 window median filter.The design combined with selected median filtering algorithm, mainly for the data read section before entering the compare unit to optimize the design,proposed to explain the two kinds of data read design which build a bipolar random BRAM memory data read and build data string into the D flip-flop.   Keywords:FPGA;median filtering;data read;BRAM;D flip-flop   1 引言(Introduction)   非线性对自然界的描述更接近于实物的本原,因而其处理效果更加准确[1]。中值滤波是一种非线性滤波,中值滤波器在应用于去除脉冲噪声方面具有独特的优势,中值滤波算法也在向运算次数更少、运算时间更短、更高效的目标迈进。FPGA也正因为它的高集成,高性能,高灵活性,低功耗和低价格被广泛应用在科技产品的开发上。本文基于Cyclone EP1C6Q240C8的FPGA硬件平台,应用Altera公司的Quartus II开发软件来对滤波器设计实现,主要结合改进的中值滤波算法研究在比较单元处理之前图像数据读取的微观设计。   2 中值滤波器的中值滤波算法(The median filtering algorithm of median filter)   传统中值滤波算法的实现是对窗口内像素点值进行全排序,排序的过程是对像素作比较和交换的过程,比较次数是影响排序速度的重要原因[2]。例如对包含m(奇数)个像素数的窗口数列需要经过m(m-1)/2次比较,而第(m+1)/2比较的得值即为中值,整个过程的时间复杂度是O(m2)。假若处理一副352×288的灰度图像,采用3×3方形窗口得出一个中值需比较36次,这对于将要处理的101376个像素值来讲从运算量和处理时间方面都将是很大的负担。   改进的中值滤波算法有三步:第一步,对3×3窗口每行采取由小到大比较排列,因每行进行三次比较,共需比较九次,记录出每行的小、中、大值;第二步,再对各列采取纵向由小到大比较排列,也需比较九次得出行最小值中的最大值,行中间值中的中值,和行最大值中的最小值;第三步,对前一步得出的三个值比较得出的中间值就是整个窗口数列的中值。   如表1所示结果,实验在windows环境下(intel i5-3470 4G内存)采用Borland C++ Builder6.0编程验证常规中值滤波算法和改进的中值滤波算法,改进中值滤波算法在处理速度上较常规中值滤波算法具有较大优势。本文中值滤波器根据实时性要求等综合考虑采取改进的中值滤波算法,有利于精简比较次数,减少处理时间和资源消耗。   3 基于FPGA的中值滤波器的设计综述(Summary of median filter design based on FPGA)   首先编制中值滤波器的HDL或原理图输入,并使用行为级仿真及时纠错;其次,综合分析成本、处理速度、实现效果和功耗等因素生成数字逻辑连接;再次,进行逻辑布线,进一步使用Modelsim进行仿真修正,若仍无法修改的则可返回上一步再次综合,反复修正直至得出较满意的布局布线;然后,时序分析,为各器件分配适合的时序,采用时序仿真,并反复校正已达到逼近时序的理想设置,确保时序分配不冲突;最后,以PS或JTAG方式把bit文件载入FPGA芯片。中值滤波器的工作分为三大块,第一部分为读取数据,读入数据到3×3滑动窗口中,再将数据分别放入寄存器中,这部分涉及到BRAM、D触发器、计数器和SRAM等逻辑部件;第二部分为比较单元,主要有行比

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档