一种数字信号的任意重采样方法及系统

文档序号:1365692 发布日期:2020-08-11 浏览:25次 >En<

阅读说明:本技术 一种数字信号的任意重采样方法及系统 (Random resampling method and system for digital signal ) 是由 田宣宣 梁强 万耿华 于 2020-04-03 设计创作,主要内容包括:本发明公开了一种数字信号的任意重采样方法及系统,属于信号采样技术领域。本发明的方法为先设定输入信号的采样率f&lt;Sub&gt;in&lt;/Sub&gt;和输出信号的采样率f&lt;Sub&gt;out&lt;/Sub&gt;,根据f&lt;Sub&gt;in&lt;/Sub&gt;和f&lt;Sub&gt;out&lt;/Sub&gt;计算获取初始化参数M和N;再根据初始化参数M和辛格函数计算重采样变换系数;之后写入并存储输入信号的数据,根据辛格函数的截断长度计算输入信号的抽样序列的起点和终点;再采用辛格函数并根据重采样变换系数、抽样序列的起点及终点计算得到输出信号的数据。本发明系统包括输入模块、输出模块、重采样模块以及系数模块,输入模块、输出模块、系数模块分别与重采样模块电连接。本发明的目的在于克服现有技术中,不能对任意数字信号进行重采样的不足,本发明可以实现对数字信号的任意重采样。(The invention discloses a method and a system for randomly resampling a digital signal, and belongs to the technical field of signal sampling. The method of the invention is that the sampling rate f of the input signal is firstly set in And the sampling rate f of the output signal out According to f in And f out Calculating and obtaining initialization parameters M and N; calculating a resampling transformation coefficient according to the initialization parameter M and the Singer function; then writing and storing the data of the input signal, and calculating the starting point and the end point of the sampling sequence of the input signal according to the truncation length of the sine function; and calculating to obtain data of the output signal by adopting a sine function according to the resampling transformation coefficient and the starting point and the ending point of the sampling sequence. The system comprises an input module, an output module, a resampling module and a coefficient module, wherein the input module, the output module and the coefficient module are respectively and electrically connected with the resampling module. The invention aims to overcome the defect that any digital signal cannot be repeated in the prior artDue to the insufficient sampling, the invention can realize random resampling of the digital signal.)

一种数字信号的任意重采样方法及系统

技术领域

本发明涉及信号采样技术领域,更具体地说,涉及一种数字信号的任意重采样方法及系统。

背景技术

数字处理芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。随着数字处理芯片的发展和应用,中频数据处理也采用数字模块代替模拟处理模块。在接收机或者频谱仪中,A/D转换的时钟采样速率一般都是固定的,对于不同的通信系统,所需要的数据速率也是不同的,这就需要对信号进行采样率变换,也就是对信号进行重采样。重采样是指根据一类象元的信息内插出另一类象元信息的过程。在遥感中,重采样是从高分辨率遥感影像中提取出低分辨率影像的过程。

常用的重采样方法有最邻近内插法、双线性内插法和三次卷积法内插。最邻近法是将与该影像中距离某像元位置最近的像元值作为该像元的新值。双线性内插法是通过取采样点到周围4邻域像元的距离加权来计算其栅格值新值。三次卷积内插法是一种精度较高的方法,同时运算量较大,它是通过增加参与内插计算的邻近像元的数目来达到最佳的重采样效果。

常用的数字端数据重采样法包括模拟重采样和数字重采样。模拟重采样是通过DA和AD进行重采样;数字重采样包括整数倍抽取、整数倍插值、有理因子数据速率变换。对于有理化因子比值,其分子和分母比较大,采用整数倍插值和插取的级联难以实现重采样;即现有技术中数字处理模块的采样率变换难以实现对任意有理数数据的重采样。

综上所述,如何实现对数字信号的任意重采样,是现有技术亟需解决的问题。

发明内容

1.要解决的问题

本发明的目的在于克服现有技术中,不能对任意数字信号进行重采样的不足,提供了一种数字信号的任意重采样方法及系统,可以实现对数字信号的任意重采样,并且可以减小重采样输出数据的失真度。

2.技术方案

为了解决上述问题,本发明所采用的技术方案如下:

本发明的一种数字信号的任意重采样方法,包括设定输入信号的采样率fin和输出信号的采样率fout,根据fin和fout计算获取初始化参数M和N;再根据初始化参数M和辛格函数计算重采样变换系数;之后写入并存储输入信号的数据;再根据辛格函数的截断长度INF_L计算输入信号的抽样序列的起点和终点;再采用辛格函数并根据重采样变换系数、抽样序列的起点及终点计算得到输出信号的数据。

更进一步地,计算重采样变换系数的具体过程为:先对辛格函数的截断长度内的值进行M倍插值,再对插值后的值进行量化得到重采样变换系数。

更进一步地,计算输入信号的抽样序列的起点和终点的具体过程为:先根据辛格函数的截断长度INF_L计算输入信号的数据序列的时间起点和时间终点,再根据时间起点、时间终点及辛格函数的截断长度INF_L计算输入信号的抽样序列的起点和终点。

更进一步地,利用下列公式计算输入信号的数据序列的时间起点和时间终点:

设定n为第n个输入信号的数据,m为第m个输出信号的数据;

输入信号的数据序列的时间长度Tbound为:

Tbound=INF_L/fin

输出信号的数据序列对应的时间点Tm为:

Tm=m/fout

输入信号的数据序列的时间起点Tbegin和时间终点Tend为:

Tbegin=Tm-Tbound

Tend=Tm+Tbound

其中,fin和fout的最大公约数为K,fout/fin=M/N,M=fout/K,N=fin/K。

更进一步地,利用下列公式计算输入信号的抽样序列的起点seq_begin和终点seq_end:

更进一步地,计算得到输出信号的数据的具体过程为:先根据抽样序列的起点及终点读取输入信号的数据,并读取对应位置的重采样变换系数,再利用辛格函数对读取的输入信号的数据及变换系数进行计算得到输出数据。

更进一步地,利用以下公式计算输出信号的数据:

其中,x(n)表示输入信号的数据,sinc表示辛格函数。

本发明一种采用上述的数字信号的任意重采样方法的系统。

更进一步地,包括输入模块、输出模块、重采样模块以及系数模块,输入模块、输出模块、系数模块分别与重采样模块电连接,其中,系数模块用于存储重采样变换系数;重采样模块用于计算输出信号的数据。

更进一步地,输入模块和输出模块为RAM,系数模块为ROM。

3.有益效果

相比于现有技术,本发明的有益效果为:

本发明的一种数字信号的任意重采样方法,通过采用辛格函数的截断长度INF_L截取输入信号的数据以此计算输出信号的数据,可以使得重构输出信号的数据失真度小,并且可以实现对数字信号的任意重采样;进一步地,由于输入信号的采样率和输出信号的采样率的比值等于N与M的比值,从而通过改变输入信号和输出信号采样率的值,进而可以改变初始化参数M和N的值即可改变采样率,进而可以实现对数字信号的任意重采样。本发明的系统结构简单,可以在FPGA上实现,通过使用较少的硬件资源就可实现数字信号的任意重采样。

附图说明

图1为本发明的方法流程示意图;

图2为本发明的系统结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;而且,各个实施例之间不是相对独立的,根据需要可以相互组合,从而达到更优的效果。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。

实施例1

结合图1所示,本发明的一种数字信号的任意重采样方法,设定输入信号的采样率fin和输出信号的采样率fout,根据fin和fout计算获取初始化参数M和N;值得说明的是,fout/fin=M/N,通过改变输入信号和输出信号采样率的值,进而可以改变初始化参数M和N的值即可改变采样率,从而实现对数字信号的任意重采样。进一步地,根据初始化参数M和辛格函数计算重采样变换系数,通过计算重采样变换系数从而可以实现采样率的变换。之后写入并存储输入信号的数据,根据辛格函数的截断长度INF_L计算输入信号的抽样序列的起点和终点;再采用辛格函数并根据重采样变换系数、抽样序列的起点及终点计算得到输出信号的数据。值得说明的是,辛格函数是重采样函数,本发明采用辛格函数对数据进行重构,使得重构输出信号的数据失真度小,并且可以实现对数字信号的任意重采样。

本发明的一种数字信号的任意重采样方法,具体步骤如下:

1)初始化

设定输入信号的采样率fin和输出信号的采样率fout,根据fin和fout计算获取初始化参数M和N;值得说明的是,重采样的变换率进一步地,设定fin和fout的最大公约数为K,M=fout/K,N=fin/K;例如输入信号的采样率fin为10,输出信号的采用率为25,两者的最大公约数为5,则M=25/5=5,N=10/5=2;通过对输入信号的数据进行M倍的插值,再进行N倍的抽取即可实现重采样的变换率η的变换。

2)计算重采样变换系数

先对辛格函数的截断长度内的值进行M倍插值,再对插值后的值进行量化得到重采样变换系数,之后将重采样变换系数进行存储;本发明使用MATLAB对插值后的值进行量化处理。值得说明的是,辛格函数理论上长度是无穷长的,输入信号的数据的长度也是无穷长的。由于辛格函数的拖尾虽然无穷长,但后面的幅度已经很小,可以忽略不计。本发明的辛格函数的截断长度为INF_L,通过设定辛格函数的截断长度,可以实现辛格函数的截断,从而使得输入信号的数据长度也是有限的。在一定范围内辛格函数的截断长度INF_L越长,可使得输出信号的数据的失真越小。本发明的重采样变换系数的长度为INF_L*M+1。

3)输入数据

写入并存储输入信号的数据;

4)计算序列范围

计算输入信号的抽样序列的起点和终点的具体过程为:先根据辛格函数的截断长度INF_L计算输入信号的数据序列的时间起点和时间终点,再根据时间起点、时间终点及辛格函数的截断长度INF_L计算输入信号的抽样序列的起点和终点。具体地,利用下列公式计算输入信号的数据序列的时间起点和时间终点:

设定n为第n个输入信号的数据,n=[1,2,3……N1];m为第m个输出信号的数据;m=[1,2,3……N2];其中,N1为输入信号的数据的总个数,N2为输出信号的数据的总个数;

输入信号的数据序列的时间长度Tbound为:

Tbound=INF_L/fin

输出信号的数据序列对应的时间点Tm为:

Tm=m/fout

输入信号的数据序列的时间起点Tbegin和时间终点Tend为:

Tbegin=Tm-Tbound

Tend=Tm+Tbound

利用下列公式计算输入信号的抽样序列的起点seq_begin和终点seq_end:

需要说明的是,友示向下取整。

5)计算输出信号的数据

先根据抽样序列的起点及终点读取输入信号的数据,并读取对应位置的重采样变换系数,再利用辛格函数对读取的输入信号的数据及变换系数进行计算得到输出数据。值得说明的是,通过辛格函数重构任意位置的输出信号的数据,从而可以减少数据处理量。具体地,利用以下公式计算输出信号的数据:

其中,y(m)为输出信号的数据,x(n)表示输入信号的数据,sinc表示辛格函数。

本发明的一种数字信号的任意重采样方法,通过采用辛格函数可简便地实现重采样,还可以减小重采样输出数据的失真度;进一步地,通过改变输入信号和输出信号采样率的值,进而可以改变初始化参数M和N的值即可改变采样率,从而实现对数字信号的任意重采样。

本发明的一种数字信号的任意重采样系统,采用上述的一种数字信号的任意重采样方法,以此来实现对数字信号的任意重采样。具体地,本发明的一种数字信号的任意重采样系统包括输入模块、输出模块、重采样模块以及系数模块,输入模块、输出模块、系数模块分别与重采样模块电连接。本发明的重采样模块用于计算重采样变换系数及序列范围,并且重采样模块用于计算得到输出信号的数据;系数模块用来存储重采样的变换系数,输入模块用于存储输入信号的数据,输出模块用于存储输出信号的数据;值得说明的是,由于实现的是小数插值,插值前的数据和插值后的数据并不是整数倍关系,如果用插值前和插值后匹配的时钟进行插值,取出的数据跟时钟不对齐,出现冒险冲击导致数据错误;本发明通过使用输入模块和输出模块实现数据的缓冲,从而可以避免数据对不齐产生毛刺。

本发明的系统可以在FPGA上实现,可以通过使用较少的硬件资源实现数字信号的任意重采样,具体地,本发明的系数模块为ROM,即在FPGA上生成一个ROM模块,存储深度大于等于INF_L*M+1,存储数据宽度等于重采样变换系数量化的位宽。由于本发明采用重采样的倍数插值计算重采样变换系数,从而使得存储的ROM的占用空间最小。此外,本发明输入模块和输出模块为RAM,从而可以实现数据的缓存。本发明的系统结构简单,容易实现对数字信号的任意重采样。值得说明的是,辛格函数的任意重采样算法具有很多应用领域,例如可以应用于如接收机和频谱仪的速率转换和显示数据插值,也可以应用于如音频数据速率转换。

在上文中结合具体的示例性实施例详细描述了本发明。但是,应当理解,可在不脱离由所附权利要求限定的本发明的范围的情况下进行各种修改和变型。详细的描述和附图应仅被认为是说明性的,而不是限制性的,如果存在任何这样的修改和变型,那么它们都将落入在此描述的本发明的范围内。此外,背景技术旨在为了说明本技术的研发现状和意义,并不旨在限制本发明或本申请和本发明的应用领域。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:低频大功率高压信号发生装置及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类