一种产生低失真调制信号方法与流程

文档序号:33631612发布日期:2023-03-28 23:09阅读:27来源:国知局
一种产生低失真调制信号方法与流程

1.本发明属于数字调制信号领域,具体涉及一种产生低失真调制信号的方法。


背景技术:

2.模拟调制作为信号发生器的常用基础功能,包含有调频调相等技术指标,随着仪器指标的提升、仪器体积日渐减小的趋势下,数字调制已逐渐替代模拟调制实现调制功能。然而,数字调试的实现需要采用adc(数模转换)对信号进行采集,而adc在进行数据采集时,由于采样定理和器件的非线性、时钟不确定性等特性产生的非线性误差、失调等问题,从而导致信噪比以及失真等指标变差。其次,在信号进入adc之前,往往需要通过放大器进行放大器处理,通过放大器的噪声会累加到adc中,通过adc的采样反馈到采样数据中,从而降低了部分高精度adc对噪声和失真的良好处理效果。
3.典型的adc结构有flash结构、sar(逐次逼近型)、sigma-delta、流水线等结构。各种结构都有各自的优缺点,如flash结构分辨率不高,导致精度不够,但是比较高速;sar有中高精度但是速度较低;sigma-delta通过多次采样会减少采样的量化误差,但非线性严重,导致谐波失真较大且电路复杂度高;流水线型通过多级流水结构可以达到较高的精度和简单的电路结构,应用广泛,但处理速度不高。
4.综合几种adc的优缺点,考虑到信号发生器中模拟调制信号速率不高,一般在10mhz左右,一般采用流水线型adc作为信号采集模块,然而由于adc采样前放大器的影响,会导致adc采集数据存在误差,一般处理上会采用增加校准电路对放大器的非线性以及噪声进行处理。常用的校准技术分模拟和数字两种。其中模拟校准技术有电容误差平均技术、dac辅助校准算法等,算法简单,但电路复杂度高。数字校准技术一般通过将误差进行采用,在数字域中进行优化,无需增加模拟电路,可在全数字域中进行操作。针对数据处理不同的阶段,数字域校准分为前台校准和后台校准。前台校准通过将采集的数据和标准数据进行比较得到误差信号,从而对数据进行有效矫正,简单有效。但该方法前提为输入信号信息已知,这样才能和标准信号进行比较,如果输入信号信息未知,则无法利用标准数据进行矫正。后台校准利用伪随机码输入和输出之间的相关性进行计算误差,实时的计算采用数据,并根据采用的结果进行调整校准数据,从而达到较好的效果,国内外对后台校准算法进行了相关的研究,如lms算法、基于统计理论、dnc(dac噪声消除)算法、hdc(谐波失真校准)等技术,在很大程度上解决了数据校准的问题。这些技术都针对adc器件的噪声失真特性进行改善优化,取得了较好的结果,但都是对输入信号的adc模块进行优化处理,而不是对已采集的adc信号进行处理优化。因此,本文提出一种产生低失真调制信号的方法,通过数据滤波区域融合对adc采集的数据进行优化处理,降低信号失真。


技术实现要素:

5.本发明的主要目的在于提供一种产生低失真调制信号的方法,以解决现有技术中采用数字方式实现的模拟调制由于采用adc进行数据采集,局限于数字器件的非线性,失真
相较于模拟电路实现起来较差的问题。
6.为实现上述目的,本发明提供一种产生低失真调制信号的方法,一种产生低失真调制信号的方法,包括如下步骤:
7.步骤1,对多片adc当前周期采集的数据两两相乘后进行平方根,得到的数据作为参考值,根据参考值计算得到当前周期的基准值r
in

8.步骤2,记录adc采集的当前周期基准值r
in
,并对数据进行比较,寻找数据r
in
的最大值r
max
和最小值r
min
,并记录最大值r
max
和最小值r
min
之间经过的周期,记为

t 1


t 2


t 3


9.步骤3,将多个间隔周期

t相加后取平均得到t
in

10.步骤4,利用fpga本身的时钟以及dds的ip核,根据得到的平均周期t
in
自动生成完的数据r
ref

11.步骤5,比较每个周期的r
in
和r
ref
,得到的误差值记为

r0,

r1,

r2、

r3、

,对相邻误差值相减,得到误差趋势
△r11

△r12

△r13



12.步骤6,判断误差值趋势是否在所需范围内,如果是则当前周期为最终所需周期t
in
,fpga用该周期产生所需数据,如果不是则继续执行步骤7;
13.步骤7,判断误差趋势是否在大趋势上逐渐增加,如果是则在当前fpga数据周期t
in
的基础上减固定周期,形成新的t
in
,如果误差趋势在大趋势上逐渐减小,则在当前fpga数据周期t
in
的基础上加固定周期,形成新的t
in
,然后再继续重复判断,直至误差趋势在所需范围内摆动。
14.进一步地,采用多片同一型号adc进行数据采样,多片adc采样的时钟为同一时钟,采样的数据宽度取决于所用adc的输出位数。
15.进一步地,r
in
根据时钟周期变动,每个周期变动一次。
16.本发明方案具有如下优点:
17.(1)本发明技术方案采用多片adc作为输入通道,通过fpga对adc采集的数据进行综合处理,利用多片adc的数据进行融合分析,从中提取得到优异的信号数据,从而达到降低失真的目的;
18.(2)本发明旨在通过现有的adc通用芯片,无论高中低端芯片,皆可通过采用本发明的方法,不同程度的降低由器件、电路等问题导致的失真;
19.(3)本发明具体实现原理核心为fpga对多片adc采样数据的处理方法,在执行fpga数据处理之前,需要保证多片adc采样的时钟为同一时钟,多片adc为同一型号,从而保证采取的数据不存在由于外部因素导致的相位误差,如此采集的数据只是各个adc芯片本身个体差异引起的误差;
20.(4)本发明利用fpga本身纯算法对数据进行操作,利用多片adc数据利用基本算法进行初始数据优化,操作简单,能初步减少数据毛刺等误差,然后通过与dds数据进行反复比较,通过比较结果反馈给dds,从而使得dds的数据不断收敛到所需的要求,从而得到完美数据。
附图说明
21.图1是本发明的一种产生低失真调制信号的方法流程图。
具体实施方式
22.需要注意的是,在本发明的描述中,术语如“上”、“下”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件结构关系而确定的关系词,并非特指本发明中任一部件必须具有特定的方位、以特定的方位构造和操作,不能理解为对本发明的限制。
23.另外,在发明中如涉及“第一”、“第二”等描述仅用于描述目的,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅仅是为了区别以相同技术用语描述的组件或操作而已,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
24.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
25.下面结合说明书附图对本发明的具体实施方式作进一步详细的说明:
26.如图1所示的一种产生低失真调制信号的方法,一种产生低失真调制信号的方法,一种产生低失真调制信号的方法,包括如下步骤:
27.步骤1,对多片adc当前周期采集的数据两两相乘后进行平方根,得到的数据作为参考值,根据参考值计算得到当前周期的基准值r
in

28.步骤2,记录adc采集的当前周期基准值r
in
,并对数据进行比较,寻找数据r
in
的最大值r
max
和最小值r
min
,并记录最大值r
max
和最小值r
min
之间经过的周期,记为

t 1


t 2


t 3


29.步骤3,将多个间隔周期

t相加后取平均得到t
in

30.步骤4,利用fpga本身的时钟以及dds的ip核,根据得到的平均周期t
in
自动生成完的数据r
ref

31.步骤5,比较每个周期的r
in
和r
ref
,得到的误差值记为

r0,

r1,

r2、

r3、

,对相邻误差值相减,得到误差趋势
△r11

△r12

△r13



32.步骤6,判断误差值趋势是否在所需范围内,如果是则当前周期为最终所需周期t
in
,fpga用该周期产生所需数据,如果不是则继续执行步骤7;
33.步骤7,判断误差趋势是否在大趋势上逐渐增加,如果是则在当前fpga数据周期t
in
的基础上减固定周期,形成新的t
in
,如果误差趋势在大趋势上逐渐减小,则在当前fpga数据周期t
in
的基础上加固定周期,形成新的t
in
,然后再继续重复判断,直至误差趋势在所需范围内摆动。
34.具体地,采用多片同一型号adc进行数据采样,多片adc采样的时钟为同一时钟,采样的数据宽度取决于所用adc的输出位数。将所需转换的信号功分后进行采样,然后将adc得到的数据发送给fpga,fpga根据误差精度对得到的数据进行分析处理,直到误差趋势在一定范围内摆动,此时形成的t
in
为最终所需t
in
,根据所得t
in
,利用fpga本身dds的ip核,产生所需波形数据,数据宽度由后续dac以及方案所需要求决定
35.具体地,r
in
根据时钟周期变动,每个周期变动一次。
36.本发明采用多片adc作为输入通道,通过fpga对adc采集的数据进行综合处理,利
用多片adc的数据进行融合分析,从中提取得到优异的信号数据,从而达到降低失真的目的。
37.本发明中,采用多片同一型号adc进行采样,采样的数据宽度取决于所用adc的输出位数,将所需进行转换的信号进行功分后进行采样,然后将adc得到的数据发送给fpga,fpga根据误差精度对得到的数据进行分析处理,最终周期t
in
作为fpga产生数据的周期,以此周期产生完美数据,发送给后续的dac。
38.在执行fpga数据处理之前,需要保证多片adc采样的时钟为同一时钟,多片adc为同一型号,从而保证采取的数据不存在由于外部因素导致的相位误差,如此采集的数据只是各个adc芯片本身个体差异引起的误差。
39.优选实施例:
40.采用4片同等型号adc,如ad9244bst,此adc的数据位数为14位。4片adc通过4
×
14根数据线共56根数据线连接到fpga中,fpga型号可采用xilinx的xc7a35t系列,只要能支持时钟大于100mhz即可。本例采用100mhz作为fpga时钟对4片adc采集的数据进行处理。
41.首先,在fpga内定义4个14位的数组用于记录每个时钟周期采集到的数据d1、d2、d3、d4,将4个数据进行两两相乘后求和求得到d3、d4,将4个数据进行两两相乘后求和求得到通过fpga时钟记录每个时钟周期的数据并进行记录和计算。
42.具体操作如下:
43.第0个周期t0采集数据r0,并进行存储,第1个周期t1采集的数据r1,进行保存,并进行比较,如果r1比r0大,则r1赋给r
max
,当前最大值周期为t
max
,r0赋给r
min
,当前最小值周期为t
min
。第2个周期t2采集的数据r2,将r2与r
max
和r
min
进行比较,判断r2是否为最大值或者最小值,如果是最大值,则将r2赋给r
max
,并记录当前周期t
max
为t2,如果是最小值,则将r2赋给r
min
,并记录当前周期t
min
为t2。根据fpga时钟不断采集数据并进行以上操作,则可以得到多个最大值和最小值以及相应的t
max
和t
min
。将多个相邻的t
max
和t
min
相减将得到间隔时间,记为

t 1


t 2


t 3

,本例可将其中10个进行相加后除以10,得到平均周期
[0044][0045]
其次,在fpga内通过fpga自带的dds内核根据得到的平均周期t
in
生成完美的数据r
ref
,该数据的位数为14位,与所选的adc位数相同。fpga产生的数据的方式与adc采集数据方式相同,都是每隔1个fpga时钟周期内产生1个数据。将fpga产生的数据和采集到的数据进行比较,第一个比较的周期开始于采集到的数据为最小值时,此时让fpga产生最小值数据,并将这两个最小值进行比较,得到误差值

r0,下一个周期误差值为

r1,以此顺序进行得到

r2、

r3、

r4…
,将相邻的误差值进行相减,得到误差趋势值
△r11

△r12

△r13

,如果误差趋势值在逐渐增加,在标明fpga自身产生的数据周期偏小,在当前fpga数据周期的基础上增加固定周期作为新的产生数据的周期,本例可采用当前周期的百分之一周期为固定周期值,也可以采用千分之一或者更小,也可以更大,根据最终输出要求精度决定,要求越高,固定周期值越小,反之,则越大。如果误差趋势值逐渐减小,则需要减小当前fpga产生数据的周期,减小量本例采用当前周期的百分之一。如此重复操作,直到误差趋势值在一定范围内摆动则标明当前fpga产生数据的周期与采样周期一致,此范围本例中采用5,也就是
如果误差趋势值摆动范围在5以内则表明此时周期为所需的周期。
[0046]
最后,将上一步得到的最终周期t
in
作为fpga产生数据的周期,以此周期产生完美数据,发送给后续的dac,从而得到所需的低失真调制信号。
[0047]
最后应说明的是,上述实施方式的说明仅用于说明本发明的技术方案,并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1