大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
今天和大侠简单聊一聊FPGA实现高斯滤波,话不多说,上货。
1、高斯滤波器的实现方式
方法1:与高斯核直接进行卷积实现,这样使用的资源和乘法器 加法器都会很多。例如3*3窗口的滤波核进行卷积运算,一共需要进行9次乘法和8次加法。
方法2:采用两个一维的高斯滤波进行两次滤波,即先对行进行一维滤波,然后再对列进行一维滤波,这样计算简单,降低了复杂度。
比较两种方法,采用第二种实现方法。
2、行列分离计算方法
采用下图的计算方法,其中对边界的处理填0处理。
3、实现结果
always
begin
#10 clk = ~clk; //100Mhz
end
时间:5201520000ps=5.2ms
always
begin
#5 clk = ~clk; //200Mhz
end
时间:2600780000ps=2.6ms
4、与仿真比较
如下图
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!