|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! x7 l7 d( Y2 _+ F/ F, e) J% o' t- }( x
1、高斯滤波器的实现方式- C a) v( e6 ^# k4 ^, o C$ l
8 U- l7 |$ P/ m+ S" @1 D2 i2 \ 方法1:与高斯核直接进行卷积实现,这样使用的资源和乘法器 加法器都会很多。例如3*3窗口的滤波核进行卷积运算,一共需要进行9次乘法和8次加法。
# X3 z0 f' k& S$ u& R U# |( e
3 T4 O6 B( t( ~: ^6 _' B: M S* d 方法2:采用两个一维的高斯滤波进行两次滤波,即先对行进行一维滤波,然后再对列进行一维滤波,这样计算简单,降低了复杂度。
1 }, u. m8 v" J7 `7 ~# ]) U
6 W3 a, t8 w: J2 B% L 比较两种方法,采用第二种实现方法。. C6 u) m& }. f0 v& R9 V6 |
6 U8 Z2 E3 l& f2 f
2、行列分离计算方法
7 N) R7 B% x- z+ C& c5 v! ~ H/ h: Z" s7 Y2 j, y
采用下图的计算方法,其中对边界的处理填0处理。
( L$ _- U3 F" x- J. I# @# M% Q3 u
4 R9 t# Z$ N6 Q+ |
/ U9 E' B9 g$ Y( }. `9 U9 I6 y2 H
3、实现结果3 \$ ]0 _/ d [: C( v
- q: a, L7 J6 s5 l0 Z仿真速度:
1 Z5 s! h2 n- K/ P
' m2 z9 ^5 E' dalways! i' N4 P! H$ F! D( y$ Y
begin
2 {2 Z9 w" e; ~" b. t# g#10 clk = ~clk; //100Mhz r$ Y4 X) G. R# ?+ J
end5 p8 `0 `" C8 p( l
时间:5201520000ps=5.2ms1 e- j; t1 z# d
always% M- [: W. i& W# a9 X- A
begin
b5 E9 u& o6 p T* Z# z6 Y#5 clk = ~clk; //200Mhz, F: e; }, b0 o
end0 z5 f0 c6 I/ h
时间:2600780000ps=2.6ms2 E7 y0 S7 Z! S8 J [5 R
9 d6 T1 _6 ~4 w0 a. }* [) k; a
4、与仿真比较, f) W! Q9 J% A7 E9 x$ t. o
6 E5 X. U) q. w# i" O- d
如下图6 I9 L# _2 Y9 H; o. O1 c/ @6 R
![]() |
6 X3 a Y- U7 s, e7 { |
|