中值滤波器 设计.docx

上传人:b****6 文档编号:4275909 上传时间:2022-11-28 格式:DOCX 页数:10 大小:179.48KB
下载 相关 举报
中值滤波器 设计.docx_第1页
第1页 / 共10页
中值滤波器 设计.docx_第2页
第2页 / 共10页
中值滤波器 设计.docx_第3页
第3页 / 共10页
中值滤波器 设计.docx_第4页
第4页 / 共10页
中值滤波器 设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

中值滤波器 设计.docx

《中值滤波器 设计.docx》由会员分享,可在线阅读,更多相关《中值滤波器 设计.docx(10页珍藏版)》请在冰豆网上搜索。

中值滤波器 设计.docx

中值滤波器设计

学号10700214

 

EDA技术及应用

设计说明书

中值滤波器设计

起止日期:

2013年12月16日至2013年12月20日

 

学生姓名

杨文彬

班级

10电信2班

成绩

指导教师(签字)

 

计算机与信息工程学院

2013年12月20日

天津城市建设学院

课程设计任务书

2013—2014学年第1学期

计算机与信息工程学院电子信息科学与技术专业电信2班级

课程设计名称:

EDA技术及应用

设计题目:

中值滤波器设计

完成期限:

自2013年12月16日至2013年12月20日共1周

一.课程设计依据

在掌握常用数字电路原理和技术的基础上,利用EDA技术和硬件描述语言,EDA开发软件(QuartusⅡ)和硬件开发平台(达盛试验箱CycloneⅡFPGA)进行初步数字系统设计。

二.课程设计内容

采用状态机和流水线设计实现对输入数据的中值滤波,数据点数N=9,即依次对9个输入数据的进行处理。

串行数据输入、输出速率均为9600Byte/s。

提示:

中值就是对输入N个数据排队,取中间值作为滤波输出。

三.课程设计要求

1.要求独立完成设计任务。

2.课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表1

3.课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。

4.测试要求:

根据题目的特点,采用相应的时序仿真或者在实验系统上观察结果。

5.课设说明书要求:

1)说明题目的设计原理和思路、采用方法及设计流程。

2)系统框图、VHDL语言设计清单或原理图。

3)对各子模块的功能以及各子模块之间的关系作较详细的描述。

4)详细说明调试方法和调试过程。

5)说明测试结果:

仿真时序图和结果显示图。

并对其进行说明和分析。

指导教师(签字):

教研室主任(签字):

批准日期:

2013年12月12日

目录

第一章VHDL与QuartusⅡ1

1.1VHDL1

1.2QuartusⅡ1

第二章中值滤波的基本理论和主要特性2

2.1中值滤波器的基本理论2

2.2中值滤波器的主要的特性2

第三章中值滤波器的算法3

第五章FPGA设计实现4

5.1FPGA设计的优势4

5.2状态机和流水线技术的应用4

第六章中值滤波器的模块图和结果图5

第七章程序7

参考文献9

 

第一章VHDL与QuartusⅡ

1.1VHDL

VHDL语言是一种用于电路设计的高级语言。

它在80年代的后期出现。

最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。

VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。

目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。

当然在一些实力较为雄厚的单位,它也被用来设计ASIC。

VHDL主要用于描述数字系统的结构,行为,功能和接口。

除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

1.2QuartusⅡ

AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

当前官方提供下载的最新版本是v13.0。

AlteraQuartusII(3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。

工程师使用同样的低价位工具对StratixFPGA进行功能验证和原型设计,又可以设计HardCopyStratix器件用于批量成品。

系统设计者现在能够用QuartusII软件评估HardCopyStratix器件的性能和功耗,相应地进行最大吞吐量设计。

Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。

该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。

Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。

改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。

 

第二章中值滤波的基本理论和主要特性

2.1中值滤波器的基本理论

中值滤波器是在1971年由J.w.Jukey首先提出并应用于一维信号处理技术(时间序列分析)中,后来被二维图像信号处理技术所引用。

中值滤波是基于邻域操作的,可通过定义个大小为N×N(N为奇数,一般采用3×3或者5×5模板,相对比较采用3×3模板拥有耗时短,资源省的优点,而采用5×5模板能获得更好的处理效果更好一些)的邻域,以其中心点滑动过一幅图像的方式进行操作。

中值滤波是一种能有效地抑制图像噪声而提高信噪比的非线性滤波技术。

它是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。

用公式表示为:

g(x,y)=median{f(x-i,y-j)}(i,j)∈S

上式中g(x,y),f(x,y)为像素的灰度值;S为模板窗口。

对于不同的图像内容和不同的应用要求,往往采用不同的模板窗口。

中值滤波器能够很好地滤除脉冲噪声,同时又可以很好的保护目标图像的边缘因而中值滤波对极限像素值(与周围像素灰度值差别较大的像素)远不如平均值那么敏感,从而可以消除孤立的噪声点,又可以使图像产生较少的模糊。

2.2中值滤波器的主要的特性

中值滤波器的主要特性有:

滤除噪声的性能、中值滤波的频谱特性[、对某些信号的不变性。

滤除噪声的性能:

中值滤波器是非线性运算,类似于卷积运算,过程是非常复杂的。

经研究表明,对于零值正态分布的噪声输入,中值滤波器的输出与输入的分布密度有关,输出噪声方差与输入噪声密度函数的平方成反比。

对于随机噪声的抑制能力,中值滤波比平均值滤波效果要差一点。

但对于脉冲噪声来讲,相距较远的窄脉冲,中值滤波还是很有优势的。

中值滤波的频谱特性:

对于中值滤波是非线性运算,在输入很热输出之间的频率上不存在一一对应的关系,故不能用一般线性滤波器频率特性分析方法。

采用总体实验观察法,经大量实验表明,中值滤波器的频率响应与输入信号的频谱有关,呈现不规则波动不大的曲线,信号经滤波后频谱可以认为是基本不变的。

对某些信号的不变性:

对于某些特性的输入信号,中值滤器输出信号保持不变,相对于一般的线性滤波器而言中值滤波器有更好的保护图像细节的优势。

 

 

第三章中值滤波器的算法

基于硬件的排序算法设计可以充分地利用硬件平台的并行性特点,从而达到加快处理速度目的。

我们以3×3模块为例子,利用冒泡法求把模板数据3个行向量同时排序,进行流水操作,生成一个新的矩阵模板;求出每一行的最大值、中值、最小值,分别表示Max1=max[a11,a12,a13],Mill=mil[a11,a12,a13],Min1=min[a11,a12,a13]。

同理可得每一行的最大值、中间值、最小值Max2=max[a21,a22,a23],Mil2=mil[a21,a22,a23],Min2=min[a21,a22,a23],Max3=max[a31,a32,a33],Mil3=mil[a31,a32,a33],Min3=min[a31,a32,a33]。

利用此方法,对窗中3行3列共9个像素取中值运算,中值滤波只需21次比较运算就可以计算出中值输出,比传统的中值滤波的36次的运算量减少了42%。

因此,相比于传统中值滤波算法,硬件实现快速中值滤波算法将占用更少的硬件资源,从而使它能够到达较高的工作频率,以满足图像实时处理的要求。

由此可得,由每一行的最大值、中值、最小值组成的新的三个数组,其中3个最小值组成的数组中的最小值为这9个数中最小值,最大值组成的数组中的最大值为这9最大值,并且3个中值中的最大值至少大于5个数,即本行中的最小值、其它两行的中的最小值;3个中值的最小值至少小于5个数,即本行的最大值,其它2行中值及最大值。

最后,只需要比较3个最大值中的最小值MinofMax,3个中值中的中值MilofMil,3个最小值中的最大值MaxofMin,就可以得到这9个数的中值,比较的原理图如图3.1中间值的求得过程[12]。

我们可以看个例子如图3-2(a)(b),经过排序以后只要比较三个最大值7、6、10中的最小值6,三个中值5、4、9的中值5,三个最小值1、3、8的最大值8,即比较6、5、8的大小取其中值6,所以6就为这9个数的中值。

 

第五章FPGA设计实现

5.1FPGA设计的优势

用硬件实现某种密码算法,首先要用硬件描述语言(如HHDL、VerlogHDL)进行系统设计和编码,然后采用专用集成电路(ASIC)或现场可编程逻辑门阵列(FPGA)来具体实现。

采用ASIC方法设计周期较长,且费用也较昂贵;而采用FPGA,可由设计者自己对芯片内部单元进行配置,设计比较灵活,只需改变配置就可实现安全不同的功能,大大缩短了设计周期和开发时间,节省人力物力,同时经过优化可以达到较高的性能。

另外,有多种EDA开发软件支持FPGA的设计,在本设计中作者采用了ALTERA公司的QuartusII开发软件。

5.2状态机和流水线技术的应用

面积和速度这两个指标贯穿着FPGA设计的始终,是设计质量评价的终极标准。

设计目标就是在满足给定的时序要求(包含对设计频率的要求)的前提下,占用较小的芯片面积;或者在所规定的面积下,使设计时序余小量更大,频率更高。

通过功能模块复用可减少设计消耗的芯片面积;反之,并行复制多个操作模块可较大地提高设计频率。

在本设计中充分考虑了这一对矜持体,采用状态机和流水线相结合的技术,使得在减少芯片资源消耗的情况下又能提高设计频率。

 

第六章中值滤波器的模块图和结果图

采用状态机和流水线设计实现对输入数据的中值滤波,数据点数N=9,依次对9个输入数据进行处理。

串行数据输入、输出速率均为9600Byte/s。

图6.1中值滤波器的模块图

图6.2中值滤波器的结果图

第七章程序

modulemedian3x3(

a11,a12,a13,

a21,a22,a23,

a31,a32,a33,

ra11,ra12,ra13,

ra21,ra22,ra23,

ra31,ra32,ra33,

median);

output[15:

0]median,ra11,ra12,ra13,ra21,ra22,ra23,ra31,ra32,ra33;

input[15:

0]a11,a12,a13,a21,a22,a23,a31,a32,a33;

reg[15:

0]ra11,ra12,ra13,ra21,ra22,ra23,ra31,ra32,ra33,median;

reg[15:

0]va11,va12,va13,va21,va22,va23,va31,va32,va33;

always@(a11ora12ora13ora21ora22ora23ora31ora32ora33)

begin

{va11,va12,va13,,va21,va22,va23,va31,va32,va33}={a11,a12,a13,a21,a22,a23,a31,a32,a33};

sort2(va11,va12);

sort2(va11,va13);

sort2(va11,va21);

sort2(va11,va22);

sort2(va11,va23);

sort2(va11,va31);

sort2(va11,va32);

sort2(va11,va33);

sort2(va12,va13);

sort2(va12,va21);

sort2(va12,va22);

sort2(va12,va23);

sort2(va12,va31);

sort2(va12,va32);

sort2(va12,va33);

sort2(va13,va21);

sort2(va13,va22);

sort2(va13,va23);

sort2(va13,va31);

sort2(va13,va32);

sort2(va13,va33);

sort2(va21,va22);

sort2(va21,va23);

sort2(va21,va31);

sort2(va21,va32);

sort2(va21,va33);

sort2(va22,va23);

sort2(va22,va31);

sort2(va22,va32);

sort2(va22,va33);

sort2(va23,va31);

sort2(va23,va32);

sort2(va23,va33);

sort2(va31,va32);

sort2(va31,va33);

sort2(va32,va33);

{ra11,ra12,ra13,ra21,ra22,ra23,ra31,ra32,ra33}={va11,va12,va13,va21,va22,va23,va31,va32,va33};

median=va22;

end

tasksort2;

inout[7:

0]x,y;

reg[7:

0]tmp;

if(x>y)

begin

tmp=x;

x=y;

y=tmp;

end

endtask

endmodule

 

参考文献

[1]J.Batlle,J.Marti,ERidao,ANewFPGA/DSP.BasedParallelArchitectureforReal-TimeImageProcessing,Real-TimeImaging,2002,8(5),345.356

[2]阮秋琦.数字图像处理学[M].北京:

电子工业出版社,2001

[3]RafaelC.Gonzalez,RichardE.Woods,DigitalImageProcessing,SecondEdition

(英文版),北京,电子工业出版社,2003

[4]霍宏淘,林小竹.何薇.数字图像处理[M].北京理工大学出版社,2002

[5]AthanasPM,AbbotAL.Addressingthecomputationalrequirementsofimageprocessingwithacutomcomputingmachine;Anoverview[C]//TheNinthInternationalParallelProcessingSyposium,SanataBarbara:

IEEEComputerSociety,1995.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1