|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 v: @5 u, `1 M; t" `$ J0 ]
7 S+ u* k0 h3 W# E9 F1、高斯滤波器的实现方式* b8 D, d- {3 r* ]0 N$ t' }* M
% `, g/ u5 N4 \/ G* Y 方法1:与高斯核直接进行卷积实现,这样使用的资源和乘法器 加法器都会很多。例如3*3窗口的滤波核进行卷积运算,一共需要进行9次乘法和8次加法。
- C2 e9 |( _# t2 g+ h
4 k" G- E& n% V6 p 方法2:采用两个一维的高斯滤波进行两次滤波,即先对行进行一维滤波,然后再对列进行一维滤波,这样计算简单,降低了复杂度。) N) M: R( n2 o. H) n- a
5 q' A2 D* M) U$ ^ 比较两种方法,采用第二种实现方法。) p* ?6 `$ c! f) E4 T6 J! g/ c
4 J+ \! q% U) B5 q8 }6 O; Z6 b2、行列分离计算方法, E/ s/ z1 m; K# r
4 B/ P2 m) M7 J, I" T9 v3 g
采用下图的计算方法,其中对边界的处理填0处理。$ G$ X2 {! A# n
/ i: o0 ]4 f( T! U' } * I* s8 D8 F* {! z# Z- Z
. ~3 U% V' b3 g3、实现结果
6 ^4 ~9 J4 V! I4 q- E
, a. |( h. b! v" Z0 s* d- Q% ?仿真速度:
- Y/ b5 F& H8 k8 k6 |) M
8 a% x$ p4 X" z( S' H `always
2 p; B) ~ j. B5 G' Mbegin
) K) A) V! S7 w( P; W0 |" q#10 clk = ~clk; //100Mhz
0 X1 H; F( X+ w1 Nend
+ ?& c- |) A* h% W: f3 r时间:5201520000ps=5.2ms
: e8 O' u$ m O4 Y; U& A- Walways/ f) o2 U( M ?) ?6 N4 u
begin% w7 b8 b N( N# W/ S! b
#5 clk = ~clk; //200Mhz
/ W/ O0 X. `% k8 c* g9 hend, c {) X( S1 b5 {
时间:2600780000ps=2.6ms
: c1 P3 y0 K/ t9 f
1 {, m6 C. w' A( }* E4、与仿真比较, U( p3 T1 q1 ?! [* K7 `; l: \( {
- s* v1 e# |* e- X+ d# T如下图. |/ ]( f* k0 g2 L
![]() | 5 f" X, V/ u3 e; O" W3 E
|
|