CN105117196B - 一种基于FPGA的并行结构Sinc插值方法 - Google Patents
一种基于FPGA的并行结构Sinc插值方法 Download PDFInfo
- Publication number
- CN105117196B CN105117196B CN201510450583.2A CN201510450583A CN105117196B CN 105117196 B CN105117196 B CN 105117196B CN 201510450583 A CN201510450583 A CN 201510450583A CN 105117196 B CN105117196 B CN 105117196B
- Authority
- CN
- China
- Prior art keywords
- interpolation
- point
- sinc
- data
- sample
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 230000008520 organization Effects 0.000 title claims abstract description 8
- 238000007667 floating Methods 0.000 claims abstract description 5
- 230000000694 effects Effects 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 abstract 1
- 238000005070 sampling Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于FPGA的并行结构Sinc插值方法,主要解决串行插值效率低的问题,该方法主要步骤包括:将缓存采样点数据的RAM进行分块,将截断加窗后插值核系数存储在ROM里;待插值点坐标通过浮点转定点,通过整数部分寻址样本数据、小数部分寻址插值核系数,在同一个时钟周期取出一组样本数据和系数进行相乘后进入后续并行加法树得到插值结果;对超出范围和边界点的特殊情况,利用标识置零方法使其进入后续流水线。本发明的结构并行、简单,能够实现流水输入和输出,一个时钟周期就插值出一个数据,插值效率大大提高;并且支持浮点数复数,适用范围广。
Description
技术领域
本发明涉及一种插值电路结构设计,特别是涉及一种基于FPGA的并行结构Sinc插值的电路结构设计。
背景技术
插值(Interpolation)是一种利用已知采样点去预测或估计未采样点数值的运算,能够起到样本重采样、平滑等作用,在通信、信号处理、图像处理领域有着广泛的应用。插值种类主要有线性插值、多项式插值、Sinc插值等。在数字信号处理领域,特别是合成孔径雷达(Synthetic Aperture Radar,SAR)成像领域,Sinc插值以其实现算法简单、精度较好的优点被广泛的使用。采样定理表明,只要函数满足以下两个条件就可以从函数的等间隔离散样本中无失真恢复原始信号:
(1)信号是带限的;
(2)采样频率满足奈奎斯特采样率。实信号的采样率必须大于最高频率的两倍,复信号的采样率必须大于信号带宽。
时域信号的离散化对应其频域的周期延拓。在满足以上条件时,只需要理想矩形低通滤波器在频域提取基带频谱。时域重建方程为:
fd(i)是f(x)在x=i的采样值。为了得到加矩形窗滤波的效果,理论上需要无数个采样点系数进行加权求和,这种滤波器在工程实践中是无法实现的。如图1所示,观察Sinc插值核的时域波形可以发现,Sinc函数关于原点对称,原点对应函数值最高,越远离中心点函数值渐渐变小。所以工程实践中一般在不过度损失精度的同时对Sinc卷积核进行截断。当使用截断Sinc函数对陡峭边缘的函数进行插值时,会出现吉布斯振铃效应。为减小这种影响,可以对Sinc函数进行加窗处理使得系统的冲击响应在边界平缓地衰减到零。
以往,SAR成像里Sinc插值运算主要用软件方式或者数字信号处理器(DigitalDignal Processor,DSP)实现。随着技术的发展,工作者需要处理的数据量越来越大,软件或DSP实现插值的速度远达不到要求。随着现场可编程门阵列(Field Programmable GateArray,FPGA)的集成度不断提高,工作者开始采用FPGA来实现插值运算。目前基于FPGA的Sinc插值,如文献(何斌,张志敏.基于FPGA的sinc插值算法的研究和实现[J].电子器件,Vol.33,No.3,2010,pp.340-343.),其实现的Sinc插值的基本思想都是把采样点数据(N点)缓存在一个深度为N的RAM里,然后按照时钟节拍顺序选择L(L为插值核长度,典型为8或16)个数据出来与L个Sinc插值核系数进行累乘加。这种串行结构插值每L个时钟节拍只能计算一个待插值点,效率较低。另外其插值运算采用了定点数,难以适用于如雷达信号这种具有大动态范围的数据。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于FPGA的并行结构Sinc插值方法。
本发明采用的技术方案为:一种基于FPGA的并行结构Sinc插值方法,包括以下步骤:
步骤一:将一个缓存采样点数据的RAM分割成L个独立的子块RAM,按顺序把采样点数据每L个数据分为一组,每一组存储到L个子块RAM的相同地址位置。
步骤二:对截断Sinc函数加窗以降低吉布斯振铃效应,同时将具有相同偏移量的一组Sinc插值核系数存放在L个ROM的相同地址位置。
步骤三:把输入浮点格式待插值点坐标转换成定点数,其整数部分为定位坐标,小数部分指定了Sinc系数偏移量。定位坐标的前3个和后4个样本的分别落在L个子块RAM上,可在同一个时钟节拍里取出这L个采样点与L个Sinc系数进行相乘,再经过log2(L)级并行加法树就能得到待插值点的插值结果。
步骤四:对于待插值点坐标超出采样样本的范围,或者待插值点位于样本边界导致数据取不到L个点这两种特殊情况,本发明提供一种基于标识置零的解决方法。使用了两个标识信号指示超出范围和边界点的特殊情况,只要这两个标识其一有效,则把数据RAM的输出置零,并让其进入后续的乘法和加法模块。
步骤五:采样点数据和输入待插值点坐标均为浮点数格式。待插值点可以连续不断地输入,即每个时钟周期就能输入一个待插值点。经一定的流水线延迟后,插值结果连续不断地输出。
本发明的有益效果:(1)将缓存采样点数据的RAM分成多个子块,设置采样点数据在子块RAM中的排列方式,不需要增加FPGA额外的Block RAM资源,这样能在一个时钟节拍内读出待插值点所需的L个采样点数据的和Sinc系数,这意味着每个时钟节拍都能插值出一个点,相比原来的串行结构,这种并行架构插值的效率是原来的L倍。
(2)本发明并行结构插值输入输出是浮点数,支持的数据动态范围更广,同时也支持浮点复数输入输出,适用范围更广。
(3)本发明对采样点范围外和边界点采用了标识置零方法,使得特殊点和正常点的处理一体化,模块结构更加简单、稳定。
附图说明
图1为Kaiser窗加权后的Sinc函数,β=2.5;
图2为采样点数据在子块RAM中的存储;
图3为Sinc插值核系数在ROM中存储;
图4为分块RAM式并行Sinc插值结构框图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步详细的解释。为使说明简单明确,我们令插值核长度为L=8,采样点数N=8192为例进行说明。
(1)步骤一:如图2所示,当采样点数据输入时,按每8个数据写一列,逐列缓存所有采样点。这样的好处就是待插值点周围的8个采样点会落在这8个不同的子块RAM上,这样就能够在同一个时钟周期内取出这8个采样点出来,经过多路选择器选择合适的输出接到乘法器的输入端,保证与对应的Sinc系数相乘。
(2)步骤二:如图3所示,将偏移量相同的一组截断加窗后Sinc插值核系数存储在8个ROM的相同地址位置,系数值以单精度浮点数表示。Sinc系数量化位移为采样间隔的1/16,即每个ROM的深度为16。偏移量为0的一组系数放在地址0,偏移量大的系数存储在ROM的高地址位置。
(3)步骤三:如图4所示,原始采样一般为等间隔采样,先将输入浮点格式的待插值点坐标归一化,再通过一个浮点转定点模块,得到该坐标的整数和小数部分:整数部分为中心定位坐标,设为located_index,其前3个和后4个为所需的一组采样点数据;小数部分量化为0,1/16,…,15/16,指定了8个ROM上同一地址上的一组Sinc系数。设located_index/8=m,located_index%8=n,则子块RAM的读取地址如表1所示。例如当n=2时,相邻8个采样点按顺序依次落在Sub_RAM7~Sub_RAM6,如图2的阴影所示,且Sub_RAM7的地址为m-1,Sub_RAM0~Sub_RAM6的地址为m。在同一个时钟周期取出的一组样本数据,经过数据选择器后与对应的一组Sinc系数进行相乘,并行乘法器个数为8。随后进入后续的三级并行加法树(总共4+2+1=7个加法器)后输出插值结果。
表1
(4)步骤四:对于待插值点坐标超出采样样本的范围,或者待插值点位于样本边界导致数据取不到8个点这两种特殊情况,本发明提供一种基于标识置零的解决方法。当待插值点溢出范围,out_of_range标识有效。为了判断边界情况,我们把子块RAM的地址增加了额外的一位,当地址的最高位为1时,代表当前点已上溢或下溢了,把相应border_cond标识置为1。只要这两个标识其一有效,则把数据RAM的输出置为0,让其继续进入乘法和加法模块。这样带来一个好处,特殊点和正常点的处理一体化,使得模块设计简单、稳定。
(5)步骤五:输入和输出。N个待插值点可以连续不断输入,即每个时钟周期就能输入一个待插值点。经一定的流水线延迟后,插值结果连续不断地输出。
应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (1)
1.一种基于FPGA的并行结构Sinc插值方法,其特征在于:包括以下步骤:
步骤一:将缓存采样点数据的RAM分割成独立的子块RAM,然后把采样点数据按一定顺序存储到子块RAM里;
步骤二:对截断Sinc函数加窗以降低吉布斯振铃效应,同时将Sinc插值核系数存放在ROM里;
步骤三:把输入浮点格式待插值点坐标转换成定点数,其整数部分为定位坐标,小数部分指定了Sinc系数偏移量,在同一个时钟节拍里取出一组样本数据和Sinc系数进行相乘后进入后续并行加法树得到插值结果;
步骤四:对于待插值点坐标超出采样样本的范围,或者待插值点位于样本边界,使用了两个标识信号指示这两种特殊情况,只要这两个标识其一有效,则把数据RAM的输出置零,并让其进入后续的乘法和加法模块;
步骤五:采样点数据和输入待插值点坐标均为浮点数格式;待插值点可以连续不断地输入,插值结果连续不断地输出;
所述步骤一中:缓存采样点数据的RAM分割成L个独立的子块RAM,L为插值核长度,按顺序把采样点数据每L个数据分为一组,每一组存储到L个子块RAM的相同地址位置;
所述步骤二中:将具有相同偏移量的一组Sinc插值核系数存放在L个ROM的相同地址位置;
所述步骤三中:定位坐标的前3个和后4个样本的分别落在L个子块RAM上,在同一个时钟节拍里取出这L个采样点与L个Sinc系数进行相乘,再经过log2(L)级并行加法树就能得到待插值点的插值结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510450583.2A CN105117196B (zh) | 2015-07-28 | 2015-07-28 | 一种基于FPGA的并行结构Sinc插值方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510450583.2A CN105117196B (zh) | 2015-07-28 | 2015-07-28 | 一种基于FPGA的并行结构Sinc插值方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117196A CN105117196A (zh) | 2015-12-02 |
CN105117196B true CN105117196B (zh) | 2017-11-24 |
Family
ID=54665199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510450583.2A Expired - Fee Related CN105117196B (zh) | 2015-07-28 | 2015-07-28 | 一种基于FPGA的并行结构Sinc插值方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117196B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105866774A (zh) * | 2016-03-23 | 2016-08-17 | 南京航空航天大学 | 线性调频信号极坐标格式成像算法的fpga实现方法 |
CN107180014B (zh) * | 2017-04-28 | 2018-10-23 | 华讯方舟科技有限公司 | 一种快速sinc插值方法及系统 |
CN107193784B (zh) * | 2017-05-17 | 2020-11-20 | 南京大学 | 高精度低硬件复杂度的sinc插值实现方法及系统 |
CN109116353B (zh) * | 2018-07-19 | 2020-11-20 | 中国科学院电子学研究所 | 运用FPGA实现stolt插值的方法以及FPGA系统 |
CN111525912B (zh) * | 2020-04-03 | 2023-09-19 | 安徽白鹭电子科技有限公司 | 一种数字信号的任意重采样方法及系统 |
CN112051442B (zh) * | 2020-08-05 | 2023-08-25 | 中电科思仪科技股份有限公司 | 一种微波峰值功率测量中提高时间参数测量速度的方法 |
CN113726499B (zh) * | 2021-07-28 | 2024-02-13 | 南方电网数字电网研究院有限公司 | 数字采样数据高速插值同步方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103776907A (zh) * | 2014-01-03 | 2014-05-07 | 浙江大学 | 基于sinc插值的超声相控阵接收信号精延时方法 |
-
2015
- 2015-07-28 CN CN201510450583.2A patent/CN105117196B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103776907A (zh) * | 2014-01-03 | 2014-05-07 | 浙江大学 | 基于sinc插值的超声相控阵接收信号精延时方法 |
Non-Patent Citations (4)
Title |
---|
一款基于新型Field Programmable Gate Array芯片的投影仪梯形校正系统研究与实现;曹凤莲 等;《南京大学学报(自然科学)》;20060731;第42卷(第4期);第362-367页 * |
基于FPGA多带宽合成孔径雷达系统的数字接收技术;何斌 等;《中国科学院研究生院学报》;20101130;第27卷(第6期);第853-858页 * |
基于FPGA的sinc插值算法的研究和实现;何斌 等;《电子器件》;20100630;第33卷(第3期);第340-343页 * |
基于SPECAN处理的斜视SAR实时成像算法及其FPGA实现;李学仕 等;《系统工程与电子技术》;20111231;第33卷(第12期);第2618-2622页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105117196A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117196B (zh) | 一种基于FPGA的并行结构Sinc插值方法 | |
CN105911351B (zh) | 基于dsp的实时zfft方法 | |
CN106059530B (zh) | 一种频率响应与系数量化位数弱相关的半带滤波器 | |
Wang et al. | Design of pipelined FFT processor based on FPGA | |
WO2008010908A2 (en) | Programmable, digital filter system | |
DE102008043603A1 (de) | Vorverarbeitung von Datenabtastwerten von parallel geschalteten Datenwandlern | |
CN113778940B (zh) | 基于fpga的高精度可重构相位调整ip核 | |
CN110208755A (zh) | 一种基于fpga的动态雷达回波数字下变频系统及方法 | |
Tao et al. | Multirate-based fast parallel algorithms for 2-D DHT-based real-valued discrete Gabor transform | |
CN106849904A (zh) | 数字滤波设备 | |
CN111859274B (zh) | 一种用于度量复杂动力系统本征因果关系的方法 | |
CN116578819A (zh) | 一种稀疏分数傅里叶变换fpga实现方法及系统 | |
CN103997355B (zh) | 一种插值滤波方法及插值滤波器 | |
Li et al. | Application of Distributed FIR filter based on FPGA in the analyzing of ECG signal | |
CN106936405A (zh) | 基于fpga实现单路数字fir滤波器的方法及装置 | |
Subathradevi et al. | Delay optimized novel architecture of FIR filter using clustered-retimed MAC unit Cell for DSP applications | |
CN103605636A (zh) | 一种实现fft运算的装置及方法 | |
CN107193784B (zh) | 高精度低硬件复杂度的sinc插值实现方法及系统 | |
CN106160701A (zh) | 多通道数据采集系统、陷波器以及陷波器的设计方法 | |
Kalaiyarasi et al. | Area efficient implementation of FIR filter using distributed arithmetic with offset binary coding | |
JP2005514599A5 (zh) | ||
Khanam et al. | Design and implementation of ALU-based FIR filter | |
Grandmaison et al. | Frequency domain filter using an accurate reconfigurable FFT/IFFT core | |
KR910005791B1 (ko) | 영상신호 처리용 멀티플라이어리스 fir 디지탈 필터 | |
Ahmed et al. | FPGA based implementation of a multiplier-less fir filter for ECG signal processing |
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 |
Granted publication date: 20171124 Termination date: 20190728 |
|
CF01 | Termination of patent right due to non-payment of annual fee |