主权项 |
一种基于FPGA实现数字示波器数据压缩的方法,所述示波器包括:外部存储器,存储外部的模拟信号经模数转化器采集到的数字信号数据;FPGA,处理所述外部存储器中数字信号数据;屏幕,显示经所述FPGA处理后的数字信号;所述外部存储器、FPGA和屏幕依次电性连接,其特征在于:所述基于FPGA实现数字示波器数据压缩的方法为:通过FPGA对经模数转化器转化后的数字信号数据进行压缩,模数转化器转化后的数字信号存储在外部存储器中,采集到的信号总量定义为T, FPGA压缩率定义为N,每一组数据信号量为a,组数为T/N,根据给定的压缩率,FPGA先从外部存储器存储的数字信号中取出a个数字信号存入存储器FIFO1内,并从a个数据信号量中找出该组数字信号中的第一个值、最大值、最小值和最后一个值经压缩模块存入存储器FIFO2内,在FPGA处理数字信号同时,将外部存储器中未处理的数字信号存入存储器FIFO1内为取值做准备,对每一组数据进行循环取值处理,直到FPGA经循环T/N次处理完存储在外部存储器中的信号总量T为止,当存储器FIFO2内数据量达到设定值,存储器FIFO2将不再存取数据,将存储器FIFO2内的数据送给示波器屏幕显示;所述方法具体步骤如下:1). 判断FPGA中存储器FIFO1内存储的数据量,若FPGA中存储器FIFO1内存储的数据量小于设定值,则将外部存储器中的数据存入存储器FIFO1内,若FPGA中存储器FIFO1内存储的数据量大于设定值,则外部存储器中的数据不存入存储器FIFO1内;2). 对存入到FPGA中存储器FIFO1内的每一组数字信号按公差为1的等差数列方式进行编号,存入的第一个数字信号编号为a,,存入的最后一个数字信号编号为1,将这组带有编号的数字信号按编号公差为1进行递减比对,将求出的这组数字信号中第一个数据值、最大数据值、最小数据值和最后一个数据值经压缩模块存入FPGA中存储器FIFO2内;3). 对存入到FPGA中存储器FIFO1内的每组数字信号重复步骤2);4). 判断FPGA中存储器FIFO2内存储的数据量,达到设定的数据量值,则不再存取数据,将FPGA中存储器FIFO2内存储的数据发送给示波器屏幕显示,未达到设定的数据量值,则继续存取数据。 |