CN104077492A - 一种基于fpga的采样数据内插方法 - Google Patents

一种基于fpga的采样数据内插方法 Download PDF

Info

Publication number
CN104077492A
CN104077492A CN201410330675.2A CN201410330675A CN104077492A CN 104077492 A CN104077492 A CN 104077492A CN 201410330675 A CN201410330675 A CN 201410330675A CN 104077492 A CN104077492 A CN 104077492A
Authority
CN
China
Prior art keywords
interpolation
data
fpga
image data
method based
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410330675.2A
Other languages
English (en)
Other versions
CN104077492B (zh
Inventor
张成森
刘洪庆
郭同华
李云彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 41 Institute
Original Assignee
CETC 41 Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201410330675.2A priority Critical patent/CN104077492B/zh
Publication of CN104077492A publication Critical patent/CN104077492A/zh
Application granted granted Critical
Publication of CN104077492B publication Critical patent/CN104077492B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

本发明提出了一种基于FPGA的采样数据内插方法,适用于数字示波器。基于FPGA的采样数据内插方法包括:内插开始阶段:当采集数据结束后要进入内插时,首先通过快速加载使能端将起始数据快速填满FIR滤波器流水线,填入数据的长度等于FIR滤波器的阶数L;两采样点插值计算阶段:内插计算根据内插倍数从滤波器系数存储ROM中选取适当的系数;采样点更新阶段。本发明的方法在FPGA内部实现,充分利用了FPGA并行处理数据的能力,降低了硬件成本,减小了功耗和体积,加上FPGA高速并行特性,可以有效提高数据吞吐率,减少数据等待时间,增加波形捕获率。

Description

一种基于FPGA的采样数据内插方法
技术领域
本发明涉及测试技术领域,特别涉及一种应用于数字示波器中对采样点之间进行数据内插的方法。
背景技术
在高时间档位下,传统的示波器多采用随机采样技术或是软件插值方法来显示被测信号波形。
随机采样是一种等效采样技术。由于每次采样时,触发时刻与其后第一个采样点之间的时间间隔是随机变化的,因此,随机采样需要精确地测量出此时的时间间隔,并根据测量结果将每次采样得到的采样点填入存储器的相应位置,最终通过多次采样来重新组合出原始信号的波形,随机采样原理如图1所示。随机采样技术的关键是如何精确地测量触发时刻与其后第一个采样点之间的时间间隔,测量结果的精度决定了最终重组出波形的实际效果。随机采样技术采用的时间测量方法主要有时间电压转换方法和双斜坡脉冲扩展法。
软件内插方法,就是在每次采样后,根据内插公式,采用软件来计算采样点之间的插值。但由于插值需要多次乘加运算,因此,软件插值会影响波形捕获率。
随机采样技术在波形显示方面存在以下几个问题:1)需要额外的电路测量时间间隔,增加了布局空间、成本和功耗;2)时间测量结果的误差会积累到组合后信号中;3)需要多次采样才能组合出信号波形,并且时间测量需要额外时间,降低了信号的波形捕获率。
软件插值技术由于受CPU处理能力限制,也存在信号波形捕获率低的缺点。
发明内容
针对以上缺点,本发明提出了一种适用于数字示波器的基于FPGA的采样数据内插方法。由于本发明在FPGA内部实现,充分利用了FPGA并行处理数据的能力,降低了硬件成本,减小了功耗和体积,加上FPGA高速并行特性,可以有效提高数据吞吐率,减少数据等待时间,增加波形捕获率。
本发明的技术方案是这样实现的:
一种基于FPGA的采样数据内插方法,包括以下步骤:
步骤(a),内插开始阶段:
当采集数据结束后要进入内插时,首先通过快速加载使能端将起始数据快速填满FIR滤波器流水线,填入数据的长度等于FIR滤波器的阶数L;
步骤(b),两采样点插值计算阶段:
内插计算根据内插倍数从滤波器系数存储ROM中选取适当的系数,选取适当的系数的步骤具体为:滤波器系数存储ROM中共存放N组FIR滤波器系数,对应的地址分别为0~(N-1),内插倍数为I,其中I能被N整除,选取系数的地址分别为0,L/I,2*L/I...(I-1)L/I;
步骤(c),采样点更新阶段:
当计算完I个插值后,将需要载入新采集数据位置“1”,内插控制模块根据采集数据有效位来判断下一步状态,如果采集数据没有准备好,外部逻辑将采集数据有效位置“0”,则暂停插值运算,并将输出数据有效位置“0”;如果采集数据准备好,外部逻辑将采集数据有效位置“1”,则读入采集数据进行内插运算,并将输出数据有效位置“1”。
可选地,所述FIR滤波器采用流水线架构,由L个乘累加单元级联而成。
可选地,所述L个乘累加单元通过配置FPGA的DSP单元来实现。
可选地,所述L为偶数。
可选地,所述滤波器系数存储ROM由L个独立ROM组成,存放的系数分别对应FIR滤波器L个乘累加单元的输入系数。
本发明的有益效果是:
(1)全部在FPGA内部实现,成本低、功耗小;
(2)内插倍数可变,灵活;
(3)采集数据在FPGA内部并行处理并且数据可快速加载流水线,速度快,使示波器波形捕获率显著提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为随机采样原理示意图;
图2为本发明基于FPGA的采样数据内插方法原理示意图;
图3为图2中FIR滤波器的结构示意图;
图4为本发明基于FPGA的采样数据内插方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在高时间档位下,传统的示波器多采用随机采样技术或是软件插值方法来显示被测信号波形。随机采样需要额外的电路来精确测量触发点与采样点之间的时间间隔,并根据所测时间间隔将多次采集的采样点进行拼接。然而,额外的时间间隔测量电路有布局空间大、成本高、功耗大等缺点。软件插值是将采集数据通过核心板上的CPU来计算插值,由于插值运算量巨大,此方法会影响示波器的波形捕获率。
本发明提出了一种适用于数字示波器的基于FPGA的采样数据内插方法,由于本发明在FPGA内部实现,因此,降低了硬件成本、减小了功耗和体积,加上FPGA高速并行特性,可以有效提高数据吞吐率,减少数据等待时间,增加波形捕获率。
图2为本发明基于FPGA的采样数据内插方法的原理图,其中的所有模块均在FPGA内部实现。
图2中,内插控制模块,负责内插运算的时序控制及和外部模块的交互。快速加载使能端可以控制采集数据是否按时钟节拍填满FIR滤波器的流水线。由于高档位下,每采集一次波形都需要做内插运算,在新采集数据没装满FIR滤波器流水线之前,由于误差较大,输出的内插数据都是无效的,而正常情况下,要间隔内插倍数I个时钟周期才能读入一个采集数据,当I值很大时,需要较长时间才能装满流水线。因此,每次采集数据后,都需要通过快速加载使能端来加快数据加载。当新数据装满流水线后,输出数据有效位开始置“1”,表示FIR滤波器输出的内插数据有效。在两个采样数据计算完I个内插值后,需要新的采样点,此时需要载入新采集数据位置“1”,然后内插控制模块就根据采集数据有效位来判断下一步状态,如果采集数据还没准备好,则暂停插值运算,并将输出数据有效位置“0”;如果采集数据准备好,则载入采集数据接着进行内插运算,并将输出有效位置“1”。在计算内插时,控制模块通过内插倍数来计算滤波器系数ROM的存储地址。内插控制模块设置内插数据有效、快速加载使能、输出数据有效、需要载入新采集数据、内插倍数等控制端口,方便与外部电路进行交互。
图2中,FIR滤波器采用流水线架构,插值计算采用流水线方式,以增加数据的吞吐速率。
如图3所示,FIR滤波器主要由L个乘累加单元MAC级联而成,而MAC可以通过适当配置FPGA的DSP单元来实现,优选地,为了对称设计,L为偶数。读入新采样数据时,送往MAC的采集数据,在时钟节拍下依次移位到下一阶MAC中,系数则是通过查找滤波器系数存储ROM得到。
图2中,滤波器系数存储ROM由L个独立ROM组成,存放的系数分别对应FIR滤波器L个MAC单元的输入系数。滤波器系数存储ROM依次存放着***所需要最大内插值所需要的滤波器系数,当需要采用较低内插时,只需要通过控制模块选取适当间隔的子滤波器即可实现。例如ROM中存放1000个子滤波器系数最多实现1000倍内插时,只需选取间隔50的子滤波器就可以实现20倍内插。计算内插数据时,在时钟节拍下,ROM的读取地址依次移位到下一阶ROM的读取地址中,从而实现流水线操作。
图4中示出了基于FPGA的采样数据内插方法的详细流程,包括以下步骤:
步骤(a),内插开始阶段:
当采集数据结束后要进入内插时,外部电路首先通过快速加载使能端将起始数据快速填满FIR滤波器流水线,填入数据的长度等于FIR滤波器的阶数L。当新数据装满流水线后,输出数据有效位开始置“1”,表示FIR滤波器输出的内插数据有效。
步骤(b),两采样点插值计算阶段:
内插计算要根据内插倍数从滤波器系数存储ROM中选取适当的值。ROM中共存放N组滤波器系数,对应的地址分别为0~(N-1),现在需要的内插倍数为I,I能被N整除,则应选取系数的地址分别为0,L/I,2*L/I...(I-1)L/I。
步骤(c),采样点更新阶段:
当计算完I个插值后,滤波器采样点系数需要更新数据,此时将需要载入新采集数据位置“1”,然后内插控制模块根据采集数据有效位来判断下一步状态,如果采集数据没有准备好,外部逻辑将采集数据有效位置“0”,则暂停插值运算,并将输出数据有效位置“0”;如果采集数据准备好,外部逻辑将采集数据有效位置“1”,则读入采集数据进行内插运算,并将输出数据有效位置“1”。
本发明的基于FPGA的采样数据内插方法,全部在FPGA内部实现,成本低、功耗小;内插倍数可变,灵活;采集数据在FPGA内部并行处理并且数据可快速加载流水线,速度快,使示波器波形捕获率显著提高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于FPGA的采样数据内插方法,其特征在于,包括以下步骤:
步骤(a),内插开始阶段:
当采集数据结束后要进入内插时,首先通过快速加载使能端将起始数据快速填满FIR滤波器流水线,填入数据的长度等于FIR滤波器的阶数L;
步骤(b),两采样点插值计算阶段:
内插计算根据内插倍数从滤波器系数存储ROM中选取适当的系数,选取适当的系数的步骤具体为:滤波器系数存储ROM中共存放N组FIR滤波器系数,对应的地址分别为0~(N-1),内插倍数为I,其中I能被N整除,选取系数的地址分别为0,L/I,2*L/I...(I-1)L/I;
步骤(c),采样点更新阶段:
当计算完I个插值后,将需要载入新采集数据位置“1”,内插控制模块根据采集数据有效位来判断下一步状态,如果采集数据没有准备好,外部逻辑将采集数据有效位置“0”,则暂停插值运算,并将输出数据有效位置“0”;如果采集数据准备好,外部逻辑将采集数据有效位置“1”,则载入采集数据进行内插运算,并将输出数据有效位置“1”。
2.如权利要求1所述的基于FPGA的采样数据内插方法,其特征在于,所述FIR滤波器采用流水线架构,由L个乘累加单元级联而成。
3.如权利要求2所述的基于FPGA的采样数据内插方法,其特征在于,所述L个乘累加单元通过配置FPGA的DSP单元来实现。
4.如权利要求3所述的基于FPGA的采样数据内插方法,其特征在于,所述L为偶数。
5.如权利要求1所述的基于FPGA的采样数据内插方法,其特征在于,所述滤波器系数存储ROM由L个独立ROM组成,存放的系数分别对应FIR滤波器L个乘累加单元的输入系数。
CN201410330675.2A 2014-07-08 2014-07-08 一种基于fpga的采样数据内插方法 Expired - Fee Related CN104077492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410330675.2A CN104077492B (zh) 2014-07-08 2014-07-08 一种基于fpga的采样数据内插方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410330675.2A CN104077492B (zh) 2014-07-08 2014-07-08 一种基于fpga的采样数据内插方法

Publications (2)

Publication Number Publication Date
CN104077492A true CN104077492A (zh) 2014-10-01
CN104077492B CN104077492B (zh) 2018-08-14

Family

ID=51598744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410330675.2A Expired - Fee Related CN104077492B (zh) 2014-07-08 2014-07-08 一种基于fpga的采样数据内插方法

Country Status (1)

Country Link
CN (1) CN104077492B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104459259A (zh) * 2014-12-16 2015-03-25 南京国睿安泰信科技股份有限公司 一种用于示波器的改进型波形内插***
CN104506197A (zh) * 2014-12-16 2015-04-08 北京航天测控技术有限公司 一种定位高速并行数据流触发点位置的方法
CN106301287A (zh) * 2016-08-20 2017-01-04 航天恒星科技有限公司 一种重采样方法及装置
CN107483031A (zh) * 2017-03-17 2017-12-15 深圳市鼎阳科技有限公司 示波器及其支持多插值倍数的滤波方法、***、数字芯片
CN107707820A (zh) * 2017-09-29 2018-02-16 中国科学院长春光学精密机械与物理研究所 基于fpga的航空相机实时电子变倍***
CN110708070A (zh) * 2019-08-15 2020-01-17 北京航天驭星科技有限公司 一种重采样方法及装置
CN112051442A (zh) * 2020-08-05 2020-12-08 中电科仪器仪表有限公司 一种微波峰值功率测量中提高时间参数测量速度的方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
张海潮等: ""正弦内插算法的FPGA实现"", 《河南大学学报(自然科学版)》 *
徐文波等: "《Xilinx FPGA开发实用教程》", 31 July 2012, 清华大学出版社 *
惠腾飞等: ""三角函数内插法分析及其FPGA实现"", 《空间电子技术》 *
李备: ""一种改进型整数倍多相滤波器在FPGA中的应用"", 《电脑与信息技术》 *
杨扩军等: ""一种提高DSO插值性能的方法研究"", 《电子质量》 *
罗婷婷: ""数字示波器中高速实时数据处理技术的研究"", 《中国优秀硕士学位论文全文数据库 工程科技II辑》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104459259A (zh) * 2014-12-16 2015-03-25 南京国睿安泰信科技股份有限公司 一种用于示波器的改进型波形内插***
CN104506197A (zh) * 2014-12-16 2015-04-08 北京航天测控技术有限公司 一种定位高速并行数据流触发点位置的方法
CN104506197B (zh) * 2014-12-16 2017-11-03 北京航天测控技术有限公司 一种定位高速并行数据流触发点位置的方法
CN106301287A (zh) * 2016-08-20 2017-01-04 航天恒星科技有限公司 一种重采样方法及装置
CN107483031A (zh) * 2017-03-17 2017-12-15 深圳市鼎阳科技有限公司 示波器及其支持多插值倍数的滤波方法、***、数字芯片
CN107707820A (zh) * 2017-09-29 2018-02-16 中国科学院长春光学精密机械与物理研究所 基于fpga的航空相机实时电子变倍***
CN110708070A (zh) * 2019-08-15 2020-01-17 北京航天驭星科技有限公司 一种重采样方法及装置
CN112051442A (zh) * 2020-08-05 2020-12-08 中电科仪器仪表有限公司 一种微波峰值功率测量中提高时间参数测量速度的方法
CN112051442B (zh) * 2020-08-05 2023-08-25 中电科思仪科技股份有限公司 一种微波峰值功率测量中提高时间参数测量速度的方法

Also Published As

Publication number Publication date
CN104077492B (zh) 2018-08-14

Similar Documents

Publication Publication Date Title
CN104077492A (zh) 一种基于fpga的采样数据内插方法
CN103368676B (zh) 一种基于周期性脉冲信号的异地数据同步采集方法及***
CN107133011B (zh) 一种示波记录仪的多通道数据存储方法
CN102053186B (zh) 一种具有可变阶数数字滤波器的数字示波器
CN109104190B (zh) 一种基于多次采样的时间数字转换电路
CN102931994B (zh) 应用于信号处理芯片的高速信号采样和同步的架构及方法
CN102928772A (zh) 时序测试***及其测试方法
CN105117196A (zh) 一种基于FPGA的并行结构Sinc插值方法
CN102353891A (zh) 一种数字集成电路功能测试仪
CN109918332A (zh) Spi从设备及spi设备
CN105116318A (zh) 一种逻辑分析仪中实现毛刺检测的方法
CN109030926A (zh) 多通道电压采集模块
CN211791464U (zh) 一种fpga数字滤波器
CN106443115B (zh) 一种基于深度存储的示波器
CN109991458B (zh) 一种基于fpga的波形纵向平均***
CN104459259A (zh) 一种用于示波器的改进型波形内插***
CN101858953A (zh) 基于arm核芯片的数模转换器自动测试***及其方法
CN202043074U (zh) 可配置数字下变频器
CN103095249A (zh) 一种中值滤波电路及方法
CN113778940B (zh) 基于fpga的高精度可重构相位调整ip核
CN113091897B (zh) 一种符合计数方法、装置、符合计数设备及存储介质
CN102163967B (zh) 一种对脉冲数据进行采样的方法
CN101625704B (zh) 模拟信号数据压缩处理器
CN110957995B (zh) 一种分布式故障监测装置iir滤波***及其设计方法
CN108509382B (zh) 一种基于fpga实现超长序列快速卷积运算的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180814

Termination date: 20190708