[发明专利]高精度低硬件复杂度的sinc插值实现方法及系统有效
申请号: | 201710351440.5 | 申请日: | 2017-05-17 |
公开(公告)号: | CN107193784B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 李丽;钱昕伟;李宏炜;潘红兵;何书专;沙金;李伟 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/17 | 分类号: | G06F17/17 |
代理公司: | 南京汇盛专利商标事务所(普通合伙) 32238 | 代理人: | 陈扬;吴扬帆 |
地址: | 210046 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高精度 硬件 复杂度 sinc 实现 方法 系统 | ||
本发明提供了一种高精度低硬件复杂度的sinc插值实现方法,包括:将采样点数据和待插值点数据存储于RAM的不同bank中,根据待插值点数据的整数部分从RAM中取出采样点数据,并且和待插值点数据的小数部分一起,分成两部分输入计算单元中,分别进行通分除法计算和SIN计算,最后通过延时模块后相乘得到结果数据,全过程采用流水线设计。本发明支持多种插值核长度,支持浮点复数计算,通过卷积核现场计算的方式,在保证了计算效率的同时,提高了计算精度,降低了硬件资源的开销。
技术领域
本发明涉及数字信号处理领域,尤其涉及一种高精度低硬件复杂度的sinc插值实现方法及系统。
背景技术
在数字信号处理中,有时会需要变换抽样频率,插值就是从离散的已知采样数据点构建新的数据点的方法。通过插值可以增加抽样率,并且这种对序列域直接处理的方法,相比于经过数模转换器变换成模拟信号再以另一个抽样率抽样的方式,可以有效减小失真,降低量化误差。
根据采样定理,为了不失真地从采样离散信号点中恢复出模拟信号,采样频率应该不小于模拟信号频谱中最高频率的2倍。这是sinc插值无失真的从离散抽样信号中恢复出模拟信号的必要条件。
sinc插值的时域重建方程为:f(x)≡∑ifd(i)·sinc[ωc(x-i)]
其中是fd(x)离散抽样信号,ωc是抽样频率。
上述公式中可以理解为离散抽样信号在时域上对函数的加权叠加,所以理论上如果计算某一点的精确值,则需要覆盖完整周期内时域上的点,即原始模拟信号最小周期内的所有点,这需要非常大的计算量。但是根据sinc函数的函数特性,插值核的值随着离x的间隔增加在加权叠加中所占的权重减小,所以在实际运用中可以根据对结果的精度要求对卷积核进行截断。
即对于任一点x求f(x),已知x左右共R+1个点离散函数fd(x),重建方程为:
上式可以看成是fd(xn)与sinc(xn)的卷积,其中卷积核为:
上述就是对于某一点R的sinc插值计算流程。
硬件实现sinc插值运算一般采用串行的运算方式,运算效率较低,仅仅适用于小点数低精度的运算。虽然现有的一些并行结构的sinc插值对串行的运算效率有所改善,但是由于这种简单的并行结构对卷积核系数也仅仅是采用缓存的方式,并没有进行现场计算,因此会存在低精度的问题,并且每提高一位精度就需要RAM的缓存深度成指数倍增长,所以这些插值方法都难以适用于现在高精度sinc插值的计算要求。
发明内容
本发明的目的是提供一种高精度低硬件复杂度的sinc插值实现方法,具体由以下方案实现:
所述高精度低硬件复杂度的sinc插值实现方法,包括如下步骤:
1)将现有的RAM资源分成3块,分别为存储采样点数据的RAM0、存储待插值点数据的RAM1以及存储结果数据的RAM2;
2)顺序将RAM1中的待插值点数据取出,对待插值点数据进行定浮转换和四舍五入估值,得到待插值点数据的整数部分和小数部分;
3)根据待插值点数据的整数部分得到需要使用的采样点数据的地址,并根据地址信息从RAM0中取出对应的采样点数据;
4)将采样点数据进行乘加操作后再进行除法操作,由待插值点数据的小数部分得到最终的待插值点结果数据;
5)由结果数据的地址生成器产生地址,并将待插值点结果数据存入RAM2,完成整个运算流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710351440.5/2.html,转载请声明来源钻瓜专利网。