微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 两种基于FPGA的软件滤波方法

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

时间:07-22 来源:RF技术社区 点击:

为了验证此延时滤波程序的实际滤波效果,将其下载到Xilinx 公司的Spartan3 系列FPGA 芯片XC3S400 中,用示波器多次测量经过滤波后的开关信号,得到图5 所示的输出信号波形。图5 中,横坐标表示时间,每格代表10 μs,纵坐标表示电压,每格表示1 V。从图5 可以看出,经过滤波后的开关信号不再有抖动现象,此延时滤波程序的实际可靠性得到验证。

  1- (7)

  图5 延时滤波后的输出信号波形

1. 5 延时滤波程序资源占用率

在电子电路的设计中,FPGA 的资源占用率是我们应该考虑的一个重要问题。如果FPGA 的资源占用率太大,会加重FPGA 的负担,影响整个电路的运行速度。表1 为延时滤波程序在XC3S400 芯片中的资源占用情况。

  1- (8)

表1 延时滤波程序的资源占用情况

1. 6 延时滤波的特点

延时滤波比较适合对脉冲宽度已知的干扰信号进行滤波,这样可以更准确地确定延时时间,既不会因为延时时间太短而导致滤波不理想,又不会因为延时时间过长 而导致资源浪费。而且,延时程序不仅可以有效地消除开关类信号的抖动,还可以滤去干扰、噪音等其他尖峰波,抗干扰强,可靠性高。

如果电 路中存在多路输入信号时,当检测到任意一路输入信号状态发生变化时即执行延时程序,在执行延时程序的过程中将检测不到其他输入状态的变化,所以能够识别的 动作间隔不可能小于延时时间T,特别是当多路输入信号的状态集中在短时间内变化时,电路的性能会严重下降。并且,由于频繁执行延时程序,会影响系统的效率 和实时性。

2 判决滤波

判决滤波是一种基于概率统计的滤波方法。在采样时钟CLK 的控制下,每隔时间t 对开关信号进行一次采样,并对时间T0内采集到的n 个采样值进行判断( n = T0 /t) ,如果这n 个采样值中高电平‘1’的个数百分比大于X,则输出高电平; 相反,如果低电平‘0’的个数百分比大于X,则输出低电平。

采用一个n 位寄存器来实现判决滤波,寄存器各个位的值依次为采样得到的n 个采样值。寄存器的模型如图6 所示。

  1- (9)

  图6 寄存器模型

在图6 中,n 个格子分别代表寄存器的n 个位,寄存器左侧的数据为已经处理过的数据,寄存器内的n 个数据为正在处理的数据,寄存器右侧的数据为即将处理的数据。每过一个采样时间间隔t,数据依次向高位滑动一位,最低位赋值为输入信号当前的状态值。

如上述过程,寄存器内的数据在不断地更新,数据每滑动一次,即对n 个采样值进行一次判断,从而达到滤波的目的。由于干扰脉冲的随机性,采到高电平和低电平的概率是相等的,所以,作为判断依据的百分比X 不能小于50%。在实际应用中,为了使滤波更可靠,X 的取值一般都大于50%。

2. 1 判决滤波程序设计

本设计采用一个9 位寄存器( n = 9) ,每次判断时只要‘1’的个数大于或等于5,则滤波输出‘1’,否则输出‘0’( X = 5 /9) 。图7 为判决滤波程序的流程图。

  1- (10)

  图7 判决滤波程序流程图

  主要的程序进程如下:

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

  2. 2 判决滤波程序仿真

  同样以开关信号为例,在QuartusⅡ8. 0 软件中仿真来验证结果。图8 和图9 分别为对理想开关信号和抖动开关信号进行判决滤波的仿真波形图。

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

  图8 理想开关信号判决滤波仿真波形

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

  图9 抖动开关信号判决滤波仿真波形

  仿真结果显示,此判决滤波程序也可以实现滤波目的。对比图4 和图9 可以发现,对相同的抖动脉冲进行滤波,虽然两种滤波方法都能有效滤除抖动,但是滤波效果是不同的,判决滤波的实时性比较好。

  2. 3 判决滤波程序实际验证

  将此判决滤波程序同样下载到XC3S400 芯片中去,用示波器多次测量,得到滤波后的开关输出信号波形如图10 所示。

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

  图10 判决滤波后的输出信号波形

  图10 中,横坐标表示时间,每格代表5 μs,纵坐标表示电压,每格表示1 V。从图中可以看出,开关信号中的抖动脉冲已被完全滤除,证明此判决滤波程序是实际可行的。

  2. 4 判决滤波的特点

   判决滤波既可以用来对开关信号这类抖动时间已知的信号进行滤波,也可以对脉宽很窄的干扰信号进行滤波。在高速电路中,系统晶振常常在几十兆赫兹左右,时 钟宽度单位达到纳秒级,这可以使判决滤波的采样时间间隔t 达到纳秒级,即寄存器的各个位可在几十纳秒内重新赋值,从而达到消除窄脉冲干扰信号的目的。

  2. 5 判决滤波程序的资源占用率

  判决滤波程序在XC3S400 芯片中的资源占用情况如表2 所示。

  1- (15)

表2 判决滤波程序的资源占用情况

对比表1 显示的数据来看,两种滤波方法

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top