基于FPGA实现数字示波器数据压缩的方法技术

技术编号:8488815 阅读:269 留言:0更新日期:2013-03-28 07:19
本发明专利技术公开了一种基于FPGA实现数字示波器数据压缩的方法通过FPGA对模拟信号经模数转化器采集到的数字信号数据进行压缩,FPGA先将外部存储器中的数据存入存储器FIFO1内,根据给定的压缩率,从一组数据中找出数据的第一个值、最大值、最小值和最后一个值经压缩模块存入存储器FIFO2内,并对外部存储器中的数字信号循环处理,当存储器FIFO2内数据量达到设定值,存储器FIFO2将不再存取数据,将存储器FIFO2内的数据送给示波器屏幕显示,本发明专利技术既提高了示波器的存储深度,同时加快了示波器刷新速度,得到更加连续的波形,提高示波器的捕获率。

【技术实现步骤摘要】

本专利技术涉及示波器数字信号处理领域,尤其涉及一种基于FPGA实现数字示波器数据压缩的方法
技术介绍
数字示波器通过模数转换器(以下简称ADC)将模拟量转换为数字信号,通过FPGA采集最终显示到屏幕上。存储深度是数字示波器的重要指标参数。存储深度越高,在相同的采样时间内,示波器可以显示出越明显的波形细节,更利于用户观察波形。刷新率也是示波器的一个参数,刷新率越快,可以让用户看到更加连续的波形,提高示波器的捕获率。但是存储深度的越来越高,一次的采样的时间内需要存取的ADC数据也将变多,如果直接将全部ADC数据进行显示的话,会导致示波器的刷新速度变慢,波形的捕获率变低。
技术实现思路
本专利技术的目的在于提供一种既提高了示波器的存储深度,同时又不降低示波器刷新速度的基于FPGA实现数字示波器数据压缩的方法。为了实现上述目的,本专利技术如下技术方案 一种基于FPGA实现数字示波器数据压缩的方法,所述示波器包括 外部存储器,存储外部的模拟信号经模数转化器采集到的数字信号数据; FPGA,处理所述外部存储器中数字信号数据; 屏幕,显示经所述FPGA处理后的数字信号; 所述外部存储器、FPGA和屏幕依次电性连接,其特征在于 所述基于FPGA实现数字示波器数据压缩的方法为通过FPGA对经模数转化器转化后的数字信号数据进行压缩,模数转化器转换后的数字信号存储在外部存储器中,采集到的信号总量定义为T,FPGA压缩率定义为N,每一组数据信号量为a,组数为T/N,根据给定的压缩率,FPGA先从外部存储器存储的数字信号中取出a个数字信号存入存储器FIFOl内,并从a个数据信号量中找出该组数字信号中的第一个值、最大值、最小值和最后一个值经压缩模块存入存储器FIF02内,在FPGA处理数字信号同时,将外部存储器中未处理的数字信号存入存储器FIFOl内为取值做准备,对每一组数据进行循环取值处理,直到FPGA经循环T/N次处理完存储在外部存储器中的信号总量T为止,当存储器FIF02内数据量达到设定值,存储器FIF02将不再存取数据,将存储器FIF02内的数据送给示波器屏幕显示。所述方法具体步骤如下 I).判断FPGA中存储器FIFOl内存储的数据量,若FPGA中存储器FIFOl内存储的数据量小于设定值,则将外部存储器中的数据存入存储器FIFOl内,若FPGA中存储器FIFOl内存储的数据量大于设定值,则外部存储器中的数据不存入存储器FIFOl内; 2).对存入到FPGA中存储器FIFOl内的每一组数字信号按公差为I等差数列方式进行编号,存入的第一个数字信号编号为a,存入的最后一个数字信号编号为1,将这组带有编号的数字信号按编号公差为I进行递减比对,将求出的这组数字信号中第一个数据值、最大数据值、最小数据值和最后一个数据值经压缩模块存入FPGA中存储器FIF02内; 3).对存入到FPGA中存储器FIFOl内的每组数字信号重复步骤2); 4).判断FPGA中存储器FIF02内存储的数据量,达到设定的数据量值,则不再存取数据,将FPGA中存储器FIF02内存储的数据发送给示波器屏幕显示,未达到设定的数据量值,则继续存取数据。所述的外部存储器、存储器FIFOl和存储器FIF02为先进先出式存储器。所述的模数转化器收集模拟信号,并将转化的数字信号存入外部存储器中。本专利技术采用以上技术方案,利用FPGA对模拟信号经模数转化器采集到的数字信号数据进行压缩,FPGA先将外部存储器中的数据存入存储器FIFOl内,根据给定的压缩率,从一组数据中找出数据的第一个值、最大值、最小值和最后一个值经压缩模块存入存储器FIF02内,之后不断的对外部存储器中的数据循环处理,当存储器FIF02内数据量达到设定值,存储器FIF02将不再存取数据,将存储器FIF02内的数据送给示波器屏幕显示,本专利技术既提高了示波器的存储深度,同时加快了示波器刷新速度,得到更加连续的波形,提高示波器的捕获率。附图说明现结合附图对本专利技术做进一步详述 图1是本专利技术FPGA数据压缩的流程示意 图2是本专利技术FPGA数据压缩算法的流程图。具体实施例方式请参阅图1-2之一所示,本专利技术包括外部存储器1,存储外部的模拟信号经模数转化器采集到的数字信号数据,FPGA2,处理所述外部存储器中数字信号数据,屏幕3,显示经所述FPGA2处理后的数字信号,所述外部存储器1、FPGA2和屏幕3依次电性连接。请参阅图1,在此实施例中,介绍了 ADC数据在FPGA内部压缩的基本流程。所述基于FPGA实现数字示波器数据压缩的方法为通过FPGA2对经模数转化器7转化后的数字信号数据进行压缩,模数转化器7转化后的数字信号存储在外部存储器I中,采集到的信号总量定义为T,FPGA压缩率定义为N,每一组数据信号量为a,组数为T/N,根据给定的压缩率,FPGA2先从外部存储器存储I的数字信号中取出a个数字信号存入存储器FIFOl 4内,并从a个数据信号量中找出该组数字信号中的第一个值、最大值、最小值和最后一个值经压缩模块存入存储器FIF02 6内,在FPGA2处理数字信号同时,将外部存储器I中未处理的数字信号存入存储器FIFOl 4内为取值做准备,对每一组数据进行循环取值处理,直到FPGA2经循环T/N次处理完存储在外部存储器I中的信号总量T为止,当存储器FIF02 6内数据量达到设定值,存储器FIF02 6将不再存取数据,将存储器FIF02 6内的数据送给示波器屏幕3显示。在此提供一优先实施例,将结合给定的数据压缩率进一步对本专利技术做说明,设定外部存储器I模拟信号经模数转化器7采集到T=IOM的数字信号数据,数据压缩率N为10000:1,每一组的信号量定义为a,具体步骤如下 I).判断FPGA2中存储器FIFOl 4内存储的数据量,若FPGA2中存储器FIFOl 4内存储的数据量小于设定值,则将外部存储器I中的数据存入存储器FIFOl 4内,若FPGA2中存储器FIFOl 4内存储的数据量大于设定值,则外部存储器中的数据不存入存储器FIFOl 4内,具体方法如下 判断存储器FIFOl 4内存储的数据量是否小于64个,若存储器FIFOl 4内存储的数据量小于64个,则将外部存储器I中的数据存入存储器FIFOl 4内,若存储器FIFOl 4内存储的数据量大于64,则外部存储器中的数据不存入存储器FIFOl 4内; 本专利技术此实施例中判断FPGA 2中存储器FIFOl 4内存储的数据量步骤中设定值为64,应当理解,这里的设定值仅仅出于解释目的,并不是限制本专利技术的权利范围,本实施例中设定值与存储器FIFOl 4从外部存储器I每一次读取的数字信号量相同,存储器类型不同则每次读取的数字信号量不同,可根据存储器的类型进行设定,一般设定值为存储器每次读取的信号量值。2).对存入到FPGA2中存储器FIFOl 4内的每一组数字信号按公差为I等差数列方式进行编号,存入的第一个数字信号编号为a,存入的最后一个数字信号编号为1,将这组带有编号的数字信号按编号公差为I进行递减比对,将求出的这组数字信号中第一个数据值、最大数据值、最小数据值和最后一个数据值经压缩模块5存入FPGA2中存储器FIF026内,具体方法如下 a).将信号本文档来自技高网...

【技术保护点】
一种基于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内的数据送给示波器屏幕显示。...

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡振越庄双集陈焕洵
申请(专利权)人:福建利利普光电科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1