CN111525912B - 一种数字信号的任意重采样方法及系统 - Google Patents
一种数字信号的任意重采样方法及系统 Download PDFInfo
- Publication number
- CN111525912B CN111525912B CN202010258902.0A CN202010258902A CN111525912B CN 111525912 B CN111525912 B CN 111525912B CN 202010258902 A CN202010258902 A CN 202010258902A CN 111525912 B CN111525912 B CN 111525912B
- Authority
- CN
- China
- Prior art keywords
- resampling
- data
- module
- input signal
- calculating
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种数字信号的任意重采样方法及系统,属于信号采样技术领域。本发明的方法为先设定输入信号的采样率fin和输出信号的采样率fout,根据fin和fout计算获取初始化参数M和N;再根据初始化参数M和辛格函数计算重采样变换系数;之后写入并存储输入信号的数据,根据辛格函数的截断长度计算输入信号的抽样序列的起点和终点;再采用辛格函数并根据重采样变换系数、抽样序列的起点及终点计算得到输出信号的数据。本发明系统包括输入模块、输出模块、重采样模块以及系数模块,输入模块、输出模块、系数模块分别与重采样模块电连接。本发明的目的在于克服现有技术中,不能对任意数字信号进行重采样的不足,本发明可以实现对数字信号的任意重采样。
Description
技术领域
本发明涉及信号采样技术领域,更具体地说,涉及一种数字信号的任意重采样方法及系统。
背景技术
数字处理芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的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,从而可以实现数据的缓存。本发明的系统结构简单,容易实现对数字信号的任意重采样。值得说明的是,辛格函数的任意重采样算法具有很多应用领域,例如可以应用于如接收机和频谱仪的速率转换和显示数据插值,也可以应用于如音频数据速率转换。
在上文中结合具体的示例性实施例详细描述了本发明。但是,应当理解,可在不脱离由所附权利要求限定的本发明的范围的情况下进行各种修改和变型。详细的描述和附图应仅被认为是说明性的,而不是限制性的,如果存在任何这样的修改和变型,那么它们都将落入在此描述的本发明的范围内。此外,背景技术旨在为了说明本技术的研发现状和意义,并不旨在限制本发明或本申请和本发明的应用领域。
Claims (7)
1.一种数字信号的任意重采样方法,其特征在于,包括
设定输入信号的采样率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。
2.根据权利要求1所述的一种数字信号的任意重采样方法,其特征在于,利用下列公式计算输入信号的抽样序列的起点seq_begin和终点seq_end:
3.根据权利要求2所述的一种数字信号的任意重采样方法,其特征在于,计算得到输出信号的数据的具体过程为:
先根据抽样序列的起点及终点读取输入信号的数据,并读取对应位置的重采样变换系数,再利用辛格函数对读取的输入信号的数据及变换系数进行计算得到输出数据。
4.根据权利要求3所述的一种数字信号的任意重采样方法,其特征在于,利用以下公式计算输出信号的数据:
其中,x(n)表示输入信号的数据,sinc表示辛格函数。
5.一种采用权利要求1~4任一项所述的数字信号的任意重采样方法的系统。
6.根据权利要求5所述的一种数字信号的任意重采样系统,其特征在于,包括输入模块、输出模块、重采样模块以及系数模块,输入模块、输出模块、系数模块分别与重采样模块电连接,其中,系数模块用于存储重采样变换系数;重采样模块用于计算输出信号的数据。
7.根据权利要求6所述的一种数字信号的任意重采样系统,其特征在于,输入模块和输出模块为RAM,系数模块为ROM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010258902.0A CN111525912B (zh) | 2020-04-03 | 2020-04-03 | 一种数字信号的任意重采样方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010258902.0A CN111525912B (zh) | 2020-04-03 | 2020-04-03 | 一种数字信号的任意重采样方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111525912A CN111525912A (zh) | 2020-08-11 |
CN111525912B true CN111525912B (zh) | 2023-09-19 |
Family
ID=71910625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010258902.0A Active CN111525912B (zh) | 2020-04-03 | 2020-04-03 | 一种数字信号的任意重采样方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111525912B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103728619A (zh) * | 2014-01-16 | 2014-04-16 | 北京航空航天大学 | 基于变重频技术的机载大斜视条带sar成像方法 |
CN104734725A (zh) * | 2015-03-16 | 2015-06-24 | 哈尔滨工业大学 | 基于fri的自适应采样恢复方法 |
CN105117196A (zh) * | 2015-07-28 | 2015-12-02 | 南京航空航天大学 | 一种基于FPGA的并行结构Sinc插值方法 |
CN105866774A (zh) * | 2016-03-23 | 2016-08-17 | 南京航空航天大学 | 线性调频信号极坐标格式成像算法的fpga实现方法 |
CN109976660A (zh) * | 2019-02-25 | 2019-07-05 | 安徽白鹭电子科技有限公司 | 基于线性插值的任意重采样算法和数据采样系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5845934B2 (ja) * | 2012-01-30 | 2016-01-20 | 株式会社Jvcケンウッド | 非同期サンプリング周波数変換装置、変換方法、及び、プログラム |
CA2987808C (en) * | 2016-01-22 | 2020-03-10 | Guillaume Fuchs | Apparatus and method for encoding or decoding an audio multi-channel signal using spectral-domain resampling |
-
2020
- 2020-04-03 CN CN202010258902.0A patent/CN111525912B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103728619A (zh) * | 2014-01-16 | 2014-04-16 | 北京航空航天大学 | 基于变重频技术的机载大斜视条带sar成像方法 |
CN104734725A (zh) * | 2015-03-16 | 2015-06-24 | 哈尔滨工业大学 | 基于fri的自适应采样恢复方法 |
CN105117196A (zh) * | 2015-07-28 | 2015-12-02 | 南京航空航天大学 | 一种基于FPGA的并行结构Sinc插值方法 |
CN105866774A (zh) * | 2016-03-23 | 2016-08-17 | 南京航空航天大学 | 线性调频信号极坐标格式成像算法的fpga实现方法 |
CN109976660A (zh) * | 2019-02-25 | 2019-07-05 | 安徽白鹭电子科技有限公司 | 基于线性插值的任意重采样算法和数据采样系统 |
Non-Patent Citations (3)
Title |
---|
Y.T.Chan.Joint time-scale and TDOA estimation:analysis and fast approximation.IEEE.2005,全文. * |
于进强 ; 陶小鱼 ; 欧斌 ; .基于CIC滤波的重采样技术.信息技术.2008,(12),全文. * |
何健标 ; .任意采样频率转换滤波器的设计与实现.计算机与数字工程.2016,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111525912A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1578137B (zh) | 有理数采样率转换方法和系统 | |
CN101126772A (zh) | 一种示波器的高速信号重构方法 | |
US7324025B1 (en) | Non-integer interpolation using cascaded integrator-comb filter | |
CN1819457A (zh) | 采样率转换器 | |
CN109976660B (zh) | 基于线性插值的任意信号采样率重构方法和数据采样系统 | |
JP2002026690A (ja) | サンプリング速度変換器および方法 | |
CN105117196A (zh) | 一种基于FPGA的并行结构Sinc插值方法 | |
CN104506161A (zh) | 复系数希尔伯特带通滤波器分数倍采样率转换方法 | |
CN110619604B (zh) | 三维降尺度方法、装置、电子设备及可读存储介质 | |
CN111525912B (zh) | 一种数字信号的任意重采样方法及系统 | |
CN107977043B (zh) | 一种可变分数倍采样率的选取方法 | |
CN114124034A (zh) | 一种基于fpga的高速并行插值滤波器设计 | |
CN101207372A (zh) | 一种可实现固定小数采样率转换的方法及其装置 | |
CN115685318B (zh) | 一种基于动态匹配的抗假频地震数据插值方法、电子设备及存储介质 | |
Kim et al. | An efficient GPU implementation of an arbitrary resampling polyphase channelizer | |
KR101123605B1 (ko) | 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 | |
JPWO2007102244A1 (ja) | 画像拡大縮小装置 | |
US6727837B2 (en) | Method and a system of acquiring local signal behavior parameters for representing and processing a signal | |
JP5573901B2 (ja) | 標本化レート変換装置 | |
CN102420611B (zh) | 一种数字信号的采样率转换方法及装置 | |
CN113872566B (zh) | 带宽连续可调的调制滤波装置和方法 | |
JP2012147133A (ja) | サンプリングレート変換装置およびサンプリングレート変換方法 | |
JP2001216290A (ja) | 逆離散ウェーブレット変換方法およびその装置 | |
Xu et al. | Modified polyphase filter for arbitrary sampling rate conversion | |
Cherifi et al. | Comparative study between super-resolution based on polynomial interpolations and Whittaker filtering interpolations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |