一种基于多DAC的宽带高精度任意波形合成方法转让专利

申请号 : CN202110973881.5

文献号 : CN113791666B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵文浩刘科郭广坤刘航麟付在明肖寅东张朋侯东

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于多DAC的宽带高精度任意波形合成方法,通过配置采样时钟的相位和采样点的分解以实现采样率的提升和分辨率的提升。假设有2Q个DAC的并行结构,均分为a组分辨率提升结构,每组2b个DAC,通过该分配方式可以将系统的采样率提升a倍,分辨率提升b倍;这样使得本发明可以通过灵活的配置方法,自由的选择采样率和分辨率的提升倍数,具有非常好的扩展性和灵活性,能够适应当今社会对信号合成的需求。

权利要求 :

1.一种基于多DAC的宽带高精度任意波形合成方法,其特征在于,包括以下步骤:(1)、参数设定;

Q

设定DAC个数为2 ,DAC的垂直分辨率nDAC;设定采样率提升倍数a和垂直分辨率提升位数Q b Qb,a≤2,b≤Q,且a·2=2;

(2)、根据采样率提升倍数和垂直分辨率提升位数对DAC进行分组;

b b

将DAC依次均分为a组,每组2个;其中,每组的2 个DAC用于提升b位垂直分辨率,a组用于提升a倍的系统采样率;

(3)、计算待合成波形数据的二进制分辨率;

根据DAC的垂直分辨率nDAC和垂直分辨率提升位数b,上位机计算的待合成波形数据的二进制分辨率为nDAC+b位;

(4)、上位机通过PCIe总线接口将二进制分辨率为nDAC+b的待合成波形数据和对应的控制命令发送给FPGA;

其中,控制命令包括:用户设置的存储器地址、待合成的波形数据长度、DAC的采样时钟频率fs、采样率提升倍数a和垂直分辨率提升位数b;

(5)、设置采样时钟频率及相位;

FPGA驱动时钟管理芯片产生时钟频率为fs的a路时钟,记为sample_clk0,sample_clk1,…,sample_clki,…,sample_clka‑1,并将这a路时钟作为a组DAC的采样时钟;其中,每一路采样时钟的初始输出相位为:(6)、将a路采样时钟分别进行c倍分频,得到a路数据时钟记为,data_clk0,data_clk1,…,data_clki,…,data_clka‑1;

(7)、FPGA驱动存储器读写控制模块先执行写操作,再执行读操作;

写操作的具体过程为:存储器读写控制模块接收待合成的波形数据,根据用户设置的存储器地址将接收的波形数据通过存储器接口控制器写入波形存储器;

读操作的具体过程为:存储器读写控制模块根据用户设置的存储器地址和波形数据长度将对应的波形数据从波形存储器中读出,每个时钟读出并行的a·c组波形数据,其中,第w个时钟读出数据记为x0(w),x1(w),…,xi(w),…,xac‑1(w);

(8)、通过数据分解器分别对并行的a·c路波形数据进行降低分辨率处理,从而将a·cb路波形数据分解为2个二进制分辨率为nDAC的数据;

b b

(9)、通过数据分配器将a·c·2路波形数据分配为a·2 组c路并行的数据,分别用于b ba·2片DAC进行数据合成;其中,第l1·2+l2组数据用于DAC组中第l1组第

l2个DAC进行数据合成;其中,l1表示当前数据对应DAC的所在的组序,l2表示当前数据对应DAC在组内的序号,l3表示每组数据中第l3‑1个数据;

b b

(10)、将步骤S8中分配a·2组数据分别存入a·2个FIFO中;

b

(11)、利用数据时钟data_clk0,data_clk1,…,data_clki,…,data_clka‑1从a·2 个bFIFO中顺序读出数据,其中,第l1·2 +l2个FIFO使用的数据时钟为 读出的数据为:b

(12)、将步骤S10中FIFO输出的a·2组数据分别进行并串转换,从而将并行的c路数据b串行化输出到a·2个DAC;

(13)、DAC在采样时钟的驱动下将串行输出的数字信号进行数模转换,使其转换为模拟b信号;其中,第l1·2+l2个DAC使用的数据时钟为(14)、利用合路器将所有DAC输出的模拟信号相加,再通过低通滤波器滤除模拟信号中的镜像频率分量,得到用户所需的合成波形;

所述步骤(8)中,a·c路波形数据进行降低分辨率处理的具体方法为:(8.1)、将并行的a·c路波形数据x0(w),x1(w),…,xi(w),…,xac‑1(w)分别进行右移n位操作,得到DAC的基础分配编码值k0(w),k1(w),…,ki(w),…,kac‑1(w),且每个基础分配编码值满足:(8.2)、计算数据均匀分配后的余值:r0(w),r1(w),…,ri(w),…,rac‑1(w),其中,ri(w)=n nxi(w)‑2·ki(w),且每个余值满足:0≤ri(w)≤2‑1;

b

(8.3)、根据基础分配编码值和余值分别将a·c路波形数据分解为2个二进制分辨率为nDAC的数据:其中,xij(w)表示在第w个时钟下第i路第j个分解数据。

说明书 :

一种基于多DAC的宽带高精度任意波形合成方法

技术领域

[0001] 本发明属于波形发生器技术领域,更为具体地讲,涉及一种基于多DAC的宽带高精度任意波形合成方法。

背景技术

[0002] 任意波形发生器是一种广泛应用于电子装备、设备研制、生产和维护保障的信号源,可解决真实信号场景难以复现或风险代价极高等问题。如雷达的整机调试和性能鉴定,全部采用真实目标(如飞机)给雷达提供测试信号,不仅花费大量的人力和物力,影响研制进度,甚至在某些情况下(如恶劣天气)无法实现,宽带高精度的任意波形发生器是解决这一难题的理想工具。随着现代通信、航空航天探测、人工智能、雷达侦查等相关电子信息领域的高速发展,电子系统变得越来越庞大,电子信号的复杂程度也越来越高,尤其是信号的频率范围不断拓宽,信号的偶发性、瞬时性也迅速增长,因此对于作为测试设备的任意波形发生器也提出了更高精度和带宽的要求。
[0003] 在基于DDS技术的任意波形发生器中,采样率决定了输出信号带宽,垂直分辨率决定了输出信号精度。提升任意波形发生器采样率和垂直分辨率最直接的方法是选用高采样率和高垂直分辨率的数模转换器(DAC),但是在高性能商用芯片受限的背景下,提高系统采样率和垂直分辨率有效的途径是从系统级设计下手。在现有的方法中,可以通过并行伪插值技术、分相并行存储技术打破器件限制实现采样率的提升,但对于垂直分辨率提升的方法还未见报道。

发明内容

[0004] 本发明的目的在于克服现有技术的不足,提供一种基于多DAC的宽带高精度任意波形合成方法,采用低精度的数模转换器DAC实现高精度的任意波形合成,这样利用DAC资源提升采样率和垂直分辨率,生成所需要的信号。
[0005] 为实现上述发明目的,本发明一种基于多DAC的宽带高精度任意波形合成方法,其特征在于,包括以下步骤:
[0006] (1)、参数设定;
[0007] 设定DAC个数为2Q,DAC的垂直分辨率nDAC;设定采样率提升倍数a和垂直分辨率提Q b Q升位数b,a≤2,b≤Q,且a·2=2;
[0008] (2)、根据采样率提升倍数和垂直分辨率提升位数对DAC进行分组;
[0009] 将DAC依次均分为a组,每组2b个;其中,每组的2b个DAC用于提升b位垂直分辨率,a组用于提升a倍的系统采样率;
[0010] (3)、计算待合成波形数据的二进制分辨率;
[0011] 根据DAC的垂直分辨率nDAC和垂直分辨率提升位数b,上位机计算的待合成波形数据的二进制分辨率为nDAC+b位;
[0012] (4)、上位机通过PCIe总线接口将二进制分辨率为nDAC+b的待合成波形数据和对应的控制命令发送给FPGA;
[0013] 其中,控制命令包括:用户设置的存储器地址、待合成的波形数据长度、DAC的采样时钟频率fs、采样率提升倍数a和垂直分辨率提升位数b;
[0014] (5)、设置采样时钟频率及相位;
[0015] FPGA驱动时钟管理芯片产生时钟频率为fs的a路时钟,记为sample_clk0,sample_clk1,…,sample_clki,…,sample_clka‑1,并将这a路时钟作为a组DAC的采样时钟;其中,每一路采样时钟的初始输出相位为:
[0016]
[0017] (6)、将a路采样时钟分别进行c倍分频,得到a路数据时钟记为,data_clk0,data_clk1,…,data_clki,…,data_clka‑1;
[0018] (7)、FPGA驱动存储器读写控制模块先执行写操作,再执行读操作;
[0019] 写操作的具体过程为:存储器读写控制模块接收待合成的波形数据,根据用户设置的存储器地址将接收的波形数据通过存储器接口控制器写入波形存储器;
[0020] 读操作的具体过程为:存储器读写控制模块根据用户设置的存储器地址和波形数据长度将对应的波形数据从波形存储器中读出,每个时钟读出并行的a·c组波形数据,其中,第w个时钟读出数据记为x0(w),x1(w),…,xi(w),…,xac‑1(w);
[0021] (7)、通过数据分解器分别对并行的a·c路波形数据进行降低分辨率处理;
[0022] (7.1)、将并行的a·c路波形数据x0(w),x1(w),…,xi(w),…,xac‑1(w)分别进行右移n位操作,得到DAC的基础分配编码值k0(w),k1(w),…,ki(w),…,kac‑1(w),且每个基础分配编码值满足:
[0023] (7.2)、计算数据均匀分配后的余值:r0(w),r1(w),…,ri(w),…,rac‑1(w),其中,rin n(w)=xi(w)‑2·ki(w),且每个余值满足:0≤ri(w)≤2‑1;
[0024] (7.3)、根据基础分配编码值和余值分别将a·c路波形数据分解为2b个二进制分辨率为nDAC的数据:
[0025]
[0026] 其中,xij(w)表示在第w个时钟下第i路第j个分解数据;
[0027] (8)、通过数据分配器将a·c·2b路波形数据分配为a·2b组c路并行的数据,分别b b用于a·2片DAC进行数据合成;其中,第l1·2+l2组数据用于DAC组中第l1组第l2个DAC进行数据合成:
[0028]
[0029] 其中,l1表示当前数据对应DAC的所在的组序,l2表示当前数据对应DAC在组内的序号,l3表示每组数据中第l3‑1个数据;
[0030] (9)、将步骤S8中分配a·2b组数据分别存入a·2b个FIFO中;
[0031] (10)、利用数据时钟data_clk0,data_clk1,…,data_clki,…,data_clka‑1从a·2bb个FIFO中顺序读出数据,其中,第l1·2+l2个FIFO使用的数据时钟为 读出的
数据为:
[0032]
[0033] (11)、将步骤S10中FIFO输出的a·2b组数据分别进行并串转换,从而将并行的c路b数据串行化输出到a·2个DAC;
[0034] (12)、DAC在采样时钟的驱动下将串行输出的数字信号进行数模转换,使其转换为b模拟信号;其中,第l1·2+l2个DAC使用的数据时钟为
[0035] (13)、利用合路器将所有DAC输出的模拟信号相加,再通过低通滤波器滤除模拟信号中的镜像频率分量,得到用户所需的合成波形。
[0036] 本发明的发明目的是这样实现的:
[0037] 本发明基于多DAC的宽带高精度任意波形合成方法,通过配置采样时钟的相位和Q采样点的分解以实现采样率的提升和分辨率的提升。假设有2个DAC的并行结构,均分为ab
组分辨率提升结构,每组2个DAC,通过该分配方式可以将系统的采样率提升a倍,分辨率提升b倍;这样使得本发明可以通过灵活的配置方法,自由的选择采样率和分辨率的提升倍数,具有非常好的扩展性和灵活性,能够适应当今社会对信号合成的需求。
[0038] 同时,本发明基于多DAC的宽带高精度任意波形合成方法还具有以下有益效果:
[0039] (1)、本发明利用多片DAC并行波形合成,突破器件性能限制,实现高带宽高精度波形信号的合成,并可实现多种采样率和垂直分辨率搭配模式;
[0040] (2)、本发明采样低采样率的数模转换器实现高采样率的信号合成,对于片外突破器件采样率由重要意义;
[0041] (3)、本发明利用所设计的波形数据分配策略,可使波形合成具备多种采样率和垂直分辨率的搭配模式,灵活分配硬件资源以满足不同测试需求;
[0042] (4)、本发明采用高性能FPGA,在实现高速数据合成和发送的同时,可直接利用其丰富的逻辑资源完成多路采样时钟相位配置以及波形数据的分配,另外FPGA作为可编程逻辑器件,还具有便于设计任意做调试、用户二次开发和定制自身所需功能的有点。

附图说明

[0043] 图1是本发明基于多DAC的宽带高精度任意波形合成方法流程图;
[0044] 图2是a路DAC并行伪插值实现采样率a倍提升的原理示意图;
[0045] 图3是a路DAC并行伪插值实现采样率a倍提升的结构示意图;
[0046] 图4是双通道的垂直交替方案的提升原理示意图;
[0047] 图5是2b路DAC并行伪插值实现分辨率增加b位的结构示意图;
[0048] 图6是基于多分辨率数字波形合成结构的采集装置原理图;
[0049] 图7是波形数据的流向图。

具体实施方式

[0050] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0051] 实施例
[0052] 图1是本发明基于OFDMA的融合接入网系统一种具体实施方式架构图。
[0053] 在本实施例中,如图1所示,本发明一种基于多DAC的宽带高精度任意波形合成方法,包括以下步骤:
[0054] S1、参数设定;
[0055] 设定DAC个数为2Q,DAC的垂直分辨率nDAC;设定采样率提升倍数a和垂直分辨率提Q b Q升位数b,a≤2,b≤Q,且a·2=2;
[0056] S2、根据采样率提升倍数和垂直分辨率提升位数对DAC进行分组;
[0057] 在本实施例中,为了充分利用硬件资源,我们可以在每种特定条件下重新排列Q bDAC。若硬件资源共有2个DAC,我们可以将所有的DAC分为a组,每组共有2个DAC;其中,每组b b
的2个DAC用于提升b位垂直分辨率,a组用于提升a倍的系统采样率。如此分配后,每组的2个DAC可以看成一个分辨率增加b位的增强型DAC,系统也变成了a个增强型DAC组成的采样率倍增结构,系统的采样率也因此提升了a倍。例如硬件资源中若有4个DAC,可分为1*4、2*
2、4*1的组合,1*4的组合不会提升系统采样率,但是系统的分辨率会增加两位;2*2的组合不仅把系统采样率提升两倍,也增加了一位分辨率;4*1的组合提升了四倍采样率,但不改变系统分辨率。
[0058] 下面我们对提示原理进行详细描述:
[0059] (1)、采样率提升原理:
[0060] 图2是a路DAC并行伪插值实现采样率a倍提升的原理示意图,假设采样率为afs,采样周期为Ts/a的采集系统对输出频率为fo的正弦波进行采样,则每个周期的波形样点数为N,则N=afs/fo。若DAC的采样率只有fs,要保持原信号的输出频率,则参与波形恢复的波形样点数需减少为N/4,将可能会造成波形细节信息的丢失。并行伪插值技术是通过将波形样点分为a份,分别由a路DAC进行合成,其中第0,a,2a,...,ka,...样点由通道1进行合成,第1,a+,2a+,...,ka+1,...样点由通道2进行合成,依次类推。然后通过采样时钟模块对各路的采样时钟相位进行调节,实现如图2所示效果,在一个DAC的采样时钟周期内,合成的波形样点数通过并行伪插值技术提升至a个,因此波形合成系统的采样率提升至afs。其实现结构如图3所示。
[0061] (2)、垂直分辨率提升原理:
[0062] 图4是双通道的垂直交替方案的提升原理示意,所用的DAC分辨率是nDAC位,共有个量化码值,量化步进表示为 图4(a)中的‘通道0’是理想的模数转换曲线,当电压值在(‑0.5Vref,+0.5Vref)范围内均匀增加时,该DAC在一个转换区间之内保持一个恒定的量化码值,通过比较电压真实值和量化码值可以发现,量化结果与真实值之间产生偏差,即量化误差,其最大值为一个量化步进 ‘通道1’是增加模拟偏置 后的模数转换曲线,由于增加了模拟偏置,使得原有的较低电压可以获得较大的量化码值,因此曲线向左移动
[0063] 至此得到两条交替的两条转换曲线,由于该偏置加在一维信号的垂直电压方向,故称该法为垂直交替采样法。之后将两条转换曲线直接累加,即上述的“对两组同步采样的量化值进行直接累加”过程,使得组合后的模数转换曲线变成图4(b)所示的转换曲线。可以看出该曲线的最大量化误差减小为图4(a)中‘通道0’的1/2, 即量化步进变为应用双通道的垂直交替法之后,垂直分辨率从nDAC位提升为nDAC+1位,得到1位的分辨率提升。
[0064] 通过上述原理,可知通过增加垂直方向的量化代码量来提高分辨率。通过图5的结构来将系统的分辨率提升b位。首先,将分辨率为nDAC+b的高分辨率波形样本存储在数据存b储器中。时钟分配器生成与采样时钟相关的相位的时钟(clk0,clk1,…,clk(2‑1))。然后,b
数据分配器在每个时钟周期将高分辨率数据降低为2 个分辨率为nDAC的数据给DAC。最后,b
将2个DAC的模拟输出相加在一起,得到最终输出。因此,利用低分辨率DAC建立了更高波形分辨率的垂直合成结构。
[0065] 在本实施例中,为了实现对于DAC阵列的灵活控制,如图6所示,硬件上采用“FPGA+DAC”的架构。从图中可以得出,系统的输入为工控机编写好的波形数据,分辨率为nDAC+b。在本实施案例中,电路还安装PCIe电路接口,主要用于工控机波形数据快速传输给FPGA,通过该接口,还可以对整个装置进行实时控制。
[0066] S3、计算待合成波形数据的二进制分辨率;
[0067] 根据DAC的垂直分辨率nDAC和垂直分辨率提升位数b,上位机计算的待合成波形数据的二进制分辨率为nDAC+b位;
[0068] S4、上位机通过PCIe总线接口将二进制分辨率为nDAC+b的待合成波形数据和对应的控制命令发送给FPGA;
[0069] 其中,控制命令包括:用户设置的存储器地址、待合成的波形数据长度、DAC的采样时钟频率fs、采样率提升倍数a和垂直分辨率提升位数b;
[0070] S5、设置采样时钟频率及相位;
[0071] FPGA驱动时钟管理芯片产生时钟频率为fs的a路时钟,记为sample_clk0,sample_clk1,…,sample_clki,…,sample_clka‑1,并将这a路时钟作为a组DAC的采样时钟;其中,每一路采样时钟的初始输出相位为:
[0072]
[0073] S6、将a路采样时钟分别进行c倍分频,得到a路数据时钟记为,data_clk0,data_clk1,…,data_clki,…,data_clka‑1;
[0074] S7、FPGA驱动存储器读写控制模块先执行写操作,再执行读操作;
[0075] 写操作的具体过程为:存储器读写控制模块接收待合成的波形数据,根据用户设置的存储器地址将接收的波形数据通过存储器接口控制器写入波形存储器;
[0076] 读操作的具体过程为:存储器读写控制模块根据用户设置的存储器地址和波形数据长度将对应的波形数据从波形存储器中读出,每个时钟读出并行的a·c组波形数据,其中,第w个时钟读出数据记为x0(w),x1(w),…,xi(w),…,xac‑1(w);
[0077] S7、通过数据分解器分别对并行的a·c路波形数据进行降低分辨率处理;
[0078] S7.1、将并行的a·c路波形数据x0(w),x1(w),…,xi(w),…,xac‑1(w)分别进行右移n位操作,得到DAC的基础分配编码值k0(w),k1(w),…,ki(w),…,kac‑1(w),且每个基础分配编码值满足:
[0079] S7.2、计算数据均匀分配后的余值:r0(w),r1(w),…,ri(w),…,rac‑1(w),其中,rin n(w)=xi(w)‑2·ki(w),且每个余值满足:0≤ri(w)≤2‑1;
[0080] S7.3、根据基础分配编码值和余值分别将a·c路波形数据分解为2b个二进制分辨率为nDAC的数据:
[0081]
[0082] 其中,xij(w)表示在第w个时钟下第i路第j个分解数据;
[0083] 在本实施例中,针对不同的DAC结构,波形数据分配方式也不一样。如表1所示,波b b形数据值若为2·k+r,则除以每组DAC的数量值2 ,商为k,余数为r,则每组的前r个DAC的接受的波形数据数据为k+1,后面的DAC接收的波形数据值为i。
[0084] 表1波形数据分配表
[0085]
[0086]
[0087] S8、通过数据分配器将a·c·2b路波形数据分配为a·2b组c路并行的数据,分别用b b于a·2片DAC进行数据合成;其中,第l1·2+l2组数据用于DAC组中第l1组第l2个DAC进行数据合成:
[0088]
[0089] 其中,l1表示当前数据对应DAC的所在的组序,l2表示当前数据对应DAC在组内的序号,l3表示每组数据中第l3‑1个数据;
[0090] 在本实施例中,下面给出了a·c·2b路波形数据分配为a·2b组c路并行的数据的具体值如下:
[0091] 第1组数据:x0,0(w),xa,0(w),…,xai,0(w),…,xa(c‑1),0(w)
[0092] 第2组数据:x0,1(w),xa,1(w),…,xai,1(w),…,xa(c‑1),1(w)
[0093] ……
[0094]
[0095] ……
[0096] 第j·2b+k组数据:xj,k‑1(w),xa+j,k‑1(w),…,xai+j,k‑1(w),…,xa(c‑1)+j,k‑1(w)[0097] ……
[0098] 第(a‑1)·2b+1组数据:
[0099] xa‑1,0(w),xa+a‑1,0(w),…,xai+a‑1,0(w),…,xa(c‑1)+a‑1,0(w)[0100] ……
[0101] 第a·2b组数据:
[0102]
[0103] S9、将步骤S8中分配a·2b组数据分别存入a·2b个FIFO中;
[0104] S10、利用数据时钟data_clk0,data_clk1,…,data_clki,…,data_clka‑1从a·2bb个FIFO中顺序读出数据,其中,第l1·2+l2个FIFO使用的数据时钟为 读出的
数据为:
[0105]
[0106] S11、将步骤S10中FIFO输出的a·2b组数据分别进行并串转换,从而将并行的c路b数据串行化输出到a·2个DAC;
[0107] S12、DAC在采样时钟的驱动下将串行输出的数字信号进行数模转换,使其转换为b模拟信号;其中,第l1·2+l2个DAC使用的数据时钟为
[0108] 如图7所示由上位机传到FPGA的数据是ac路数据位宽为nDAC+b的波形样点,通过数b b据分解器分解为a·c·2 路数据位宽为nDAC的波形样点,将这些数据分为a·2 组得到,将这些数据分别存入
b
a·2 个FIFO,然后利用数据时钟 读出第l1个FIFO中的数据得到
经数据并串转换后送给
DAC,在采样时钟 的驱动下转换为模拟信号。
[0109] S13、利用合路器将所有DAC输出的模拟信号相加,再通过低通滤波器滤除模拟信号中的镜像频率分量,得到用户所需的合成波形。
[0110] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。