集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1416|回复: 1

两种基于FPGA的软件滤波方法(3)

[复制链接]
FPGAWD 发表于 2016-4-15 12:17:30 | 显示全部楼层 |阅读模式

主要的程序进程如下:
if glrn=0'then
f_din<=0'.
f_dout<=0'.
elsif clk' event and clk=1'then
f_din<=din;
shifter(8 downto 1)<=shifter(7 downto 0);----寄存器数据依次向高位移动一位
shifter(0)<=f_din;----寄存器最低位赋值为输入信号当前状态值
if shifter(0)=1'then-----将寄存器内的n个值分别赋给n个变量
shift0:=1;
else
shift0:=0;
end if;
...........
if shifter(8)=1'then
shift8:=1;
else
shift8:=0;
end if;
if (shift0+shift1+shift2+shift3+shift4+shift5+shift6+shift7+shift8)>=5then----判决n个值的和
f_dout<=0'.
end if;
dout<=f_dout;------输出滤波后的信号


3 结论
实验证明延时滤波和判决滤波均能达到很好的滤波效果,在电路的设计过程中,可以根据干扰信号的类型选择合适的滤波方法。在实时性要求不是很高、干扰信号脉冲宽度可估测的电路中,可以采用延时滤波法,既节省资源又能有效滤除干扰信号; 在实时性要求比较高、运行速度比较快、干扰信号脉冲宽度很窄的电路中,可以采用判决滤波法,既能有效滤波又能保证电路的效率。
zxopenljx 发表于 2021-4-10 16:56:18 | 显示全部楼层
两种基于FPGA的软件滤波方法(3)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-29 03:52 , Processed in 0.057619 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表