任意波形

2024-11-16

任意波形(精选7篇)

任意波形 篇1

摘要:提出了一种任意波形发生器(AWG)的设计方法,基于现场可编程门阵列(FPGA)的任意波形发生器采用直接数字频率合成(DDS)技术,用硬件描述语言Verilog HDL编程实现。采用该方法设计的任意波形发生器输出的波形具有平滑、稳定度高、频率稳定度和分辨率高等众多优点。

关键词:任意波形发生器,直接数字频率合成,现场可编程门阵列

0 引言

在测试系统应用领域中,除了需要一些规则的信号如正弦波、方波、脉冲波、三角波之外,有时还需要一些不规则的信号,如模拟系统中各种瞬变波形、电子设备中出现的各种干扰杂波等,普通的信号发生器无法完成,因此需要用到任意波形发生器AWG(Arbitrary Waveform Generator)。在此基础上,本文提出了基于现场可编程门阵列(FPGA),采用直接数字频率合成(DDS)技术的任意波形发生器的设计思想。

1 DDS的技术及其原理

DDS的核心是建立在采样定理的基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为数据表,然后再通过查表将数据读出,经过D/A转换器转换成模拟量,把存入的数据重新合成出来[1]。它是一种全数字化的频率合成技术,由相位累加器、加法器、波形存储器ROM、D/A转换器以及低通滤波器(LPF)构成,其基本原理如图1所示。

上图中K代表频率控制字(F S W—F r e q u e n c y Setting Word)、P表示相位控制字、W表示波形控制字、fc为参考时钟频率、N表示相位累加器的字长、L表示ROM的地址位数、D表示ROM的数据位数以及D/A转换器的字长。

DDS的工作原理是:相位累加器的参考时钟fc以频率控制字K进行累加,将所得N位的二进制代码,加上相位控制字P和波形控制字W,取其高L位作为ROM的地址,将地址的相应数字信号通过D位的D/A转换器进行数模转换,再将模拟信号通过低通滤波器平滑之后即是所合成的波形信号。设输出信号的频率为fo,N位累加器的高L位(L≤N)作为存储器的地址位,则有以下相关参数关系式:

每周期的最高采样点数:M=fc/fo;

波形数据存储器的点数最长为:2L;

累加器最小相位增量:δ=2π/2N;

对应频率控制字K的相位增量:K×2π/2N;

输出信号频率fo:fo=Kfc/2N。

可见,时钟频率fc给定后,输出信号的频率取决于频率控制字K,频率分辨率取决于累加器位数N,相位分辨率取决于波形存储器的地址线位数L,幅度量化噪声取决于波形存储器的数据位字长D和D/A转换器的位数,这样合成信号的3个参量(频率、相位和幅度)便均可由数字信号精确控制,从而达到了全数字化合成的目的。

DDS具有众多突出优点:极高的频率稳定度,极高的频率分辨率,超高速的频率转换时间,变频相位连续,相位噪声低,全数字自动化控制,可以合成任何波形,集成度高,容易实现小型化。

2 任意波形发生器的方案论证

利用DDS技术的任意波形发生器的实现,提出2个设计方案:

(1)正弦波采用专用的DDS集成芯片AD9850产生[2],正弦波通过比较器得到方波,方波再通过积分器得到三角波,其它任意波以及系统的控制模块在FPGA内编程产生。这种方法能实现高频率的正弦波,设计方便,具有低相位噪声。但由于采用大量的倍频、分频、混频和滤波环节,硬件复杂,从而导致设计系统的结构比较复杂,成本较高。

(2)所有的信号波形与控制模块都在FPGA里实现,采用硬件描述语言与FPGA上编程设计相结合方式。利用硬件描述语言设计基于DDS的各种要求信号,能够保证控制系统的稳定性;同时在FPGA编程实现DDS控制模块,也增加了系统的灵活性。该方案软硬结合,系统稳定性高,可扩展性强,成本低。

综合比较上述2种方案的优缺点,本文采用方案二。

3 任意波形发生器的系统结构与实现方法

任意波形发生器在整个系统结构上由电源模块、FPGA控制模块、D/A转换模块、滤波器模块、可变增益放大器模块、信号输出调理模块以及USB通信模块构成,如图2所示。本设计通过编程在FPGA内构造时钟控制模块、累加器模块以及存储器单元,将产生的波形数字信号输出至电路板上的D/A模块转换成模拟波形。其中FPGA控制模块是整个设计系统的核心,用于指挥各模块协调运作[3],它由硬件描述语言Verilog HDL编程完成。

硬件系统中,DDS的参考时钟是一个高稳定性的晶体振荡器,用来作为系统时钟同步整个系统的各组成部分。但由于随着步长和输出频率的增加,输出信号的采样点数会减少,会降低产生波形的精度和平滑度,因此也限制了输出信号的最高频率。由采样定理可知,所产生的信号频率不能超过时钟频率的一半,而在实际应用中,为了保证信号的输出质量,输出的频率不要高于时钟频率的33%,以避免混叠或谐波落入有用输出频带内。

经过数模转换后的信号除了基波外还含有基波的各次谐波分量和高频杂散信号,所以在D/A转换之后必须加低通滤波器以获得平滑且较为纯净的基波信号。因要求输出波形的频率覆盖范围为1 Hz~1 MHz,且需产生多种波形,为使整个频率范围内均有较为理想的滤波效果,采用分段低通滤波器的方式。低通滤波器组有3种:全通、截止频率为500 kHz的低通滤波器以及截止频率为1 MHz的低通滤波器。FPGA输出的控制信号经继电器进行滤波器组的切换。脉冲信号采用全通方式,即直接输出;频率小于500 kHz的波形信号经截止频率500 kHz的低通滤波器输出;频率在500 kHz~1 MHz之间的波形信号经截止频率1 MHz的低通滤波器输出。

LTC1560-1是一款截止频率在500 kHz~1 MHz之间可选的5阶椭圆函数型低通滤波器。图3是LTC1560-1的典型电路图,当需500 kHz的截止频率时,将LTC1560-1的第5脚接+5 V电压,当需1 MHz的截止频率时,接-5 V电压即可。

任意波的幅度调节方式采用可变增益放大器(VGA)的幅值调控方式。将DDS输出的数字信号通过D/A转换芯片产生一个幅值固定的基准波形,通过对此基准电压的可变增益放大实现幅值的控制。

通信接口方案上采用USB总线接口,因为USB接口的传输速度快、操作简单、支持多个设备而且价格较低,同时以前常用的PCI接口已经逐渐被取消了,USB接口是一个普遍的趋势。

4 FPGA的内部逻辑设计

任意波形发生器的FPGA控制单元的程序编写是整个设计的核心环节,FPGA控制单元用于控制USB接口电路,获取PC机上应用软件下达的命令,再将命令转换成控制信号协调PCB板上的硬件进行相应操作,同时回馈信号给应用软件。FPGA控制单元程序编写采用层次化和模块化的编程方法,先使用Verilog HDL[4]语言编写各个底层模块,再在顶层文件以原理图的方式编写,协调各模块工作,如图4所示。

时钟控制单元用于产生逻辑电路中所需的时钟信号。累加器模块、存储器模块用于产生波形信号,幅值和直流偏置控制模块结合在USB控制模块内,实现对PCB上用于幅值、直流偏置调节的相关硬件的控制。USB控制模块是信息集散地,一方面监听USB接口芯片,判断PC机上应用软件是否有下达命令,另一方面根据命令调动各模块工作。

相位累加器是DDS模块的核心部件,完成接收上位机送来的频率、相位等控制数据,然后根据控制信息完成FPGA内部存储器的地址生成功能。累加器为逐点累加,每个时钟节拍累加步进K=1,累加器位数N=13,与存储器地址位数相等。

在设计平台QuartusⅡ上利用硬件描述语言Verilog HDL编程实现。其中创建文件Acc_Module.v文件编写累加器模块。模块的输入包括累加器使能信号、累加器工作模式信号、频率控制字、相位控制字和时钟,输出为累加器的13位输出地址。使能信号、累加器工作模式信号、频率控制字以及相位控制字均由USB控制模块提供。一旦累加器模块检测到累加器使能信号出现上跳沿,重置地址为0,在时钟信号上跳沿开始计数,根据累加器工作模式进行相应累加计数。

在软件设计的时候,要注意在FPGA内实现ROM表的资源是有限的,并且ROM表的大小随着地址位数和数据位数的增加成指数递增关系,因此在满足采样信号性能的前提条件下,要尽量减少资源的开销。在实际设计时,要注意利用正弦波信号周期内的对称性和算术关系来减少ROM表资源的开销。例如正弦波的波形是随着相位周期变化的,所以将一个正弦波的前1/4周期通过相位变换就可以得到其整个波形周期的采样值,这样就节省了将近3/4的资源。而又如三角波波形是对称的,每边呈线性变化,可以根据地址数据做简单运算等等。

5 结语

通过硬件调试与软件编程,最终把示波器接到任意波形发生器的输出上,我们可以很清楚的看到输出波形,如图5所示。

图5分别是正弦波与方波的输出波形,频率分别为38.296 7 k Hz与28.729 0 k Hz。

由此可见这种将DDS技术与FPGA相结合设计实现的任意波形发生器,实现了各种波形的生成,波形具有平滑、稳定度高、频率稳定度和分辨率高等众多优点,并且其生成的波形同一般的波形发生器相比,产生的波形可以达到很高的频率分辨率、输出频率的转换速度快,而且在频率转换时,DDS输出波形的相位是连续的。同时其硬件电路也比较简单,改变存储器波形数据即可改变输出波形,这在实际工作中将十分方便。

参考文献

[1]迟忠君,徐云,常飞.频率合成技术发展概述[J].现代科学仪器,2006,16(3):21-24.

[2]王慧.基于虚拟仪器技术的电气测试平台的研制[D].南京:东南大学,2006.

[3]周立功,夏宇闻.单片机与CPLD综合应用技术[M].北京:北京航空航天大学出版社,2003.

[4]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.

任意波形 篇2

随着超短光脉冲在各领域应用的扩大,实际应用中经常要求波形是可调谐的。OAWG(光学任意波形产生)系统可以通过控制空间位置、振幅、相位和波长等参数实现脉冲整形[1,2]。脉冲整形广泛采用的方法是单独控制每个谱线的 振幅和相 位[3,4]。 根据傅里叶变换原理,可以得到任意波形。

传统的OAWG系统使用衍射光栅实现光纤谱线分离,然后利用空间光调制器和电光调制器分别独立调整每条谱线的幅度和相位[5,6,7]。然而,这些系统准直控制复杂,耦合损耗高,难以在通信系统中集成。近年来,基于FBG(光纤布拉格光栅)的脉冲整形技术得到快速发展。2006年,Naum K.Berger等人提出利用简单的级联光栅,设计反射率和相移,得到了30ps的高斯脉冲[8]。2008年,Kenny Ho等人采用级联的FBG结合PC(偏振控制器)和相位控制器,输出了周期为62.5ps的三角波形和锯齿波形[9]。但上述结构得到的波形重复频率较低。

本文提出一种新型OAWG系统,通过HNLF (高非线性光纤)的SPM(自相位调制)效应获得了高重复频率 的光学频 率梳。首先,拍频信号 受到SPM作用,脉冲在时域被压缩,在频域获得一系列的边频;然后,光梳进入脉冲整形部分,它由一系列FBG、PC、FS(光纤拉伸器)和偏振片串接而成。在脉冲整形部分,每条谱线的振幅和相位可以进行动态操纵。因此,在输出端能够得到高重复频率的任意波形输出。

1实验系统和基本原理

新型OAWG系统结构如图1所示。其基本原理如下:两个DFB(分布反馈激光器)用于产生单频信号。通过调节PC,使两束光的偏振态一致,以使HNLF中的SPM效应达到最大。两路信号在耦合器中发生干 涉,生成一个 双波长拍 频信号。 经过EYDFA(铒镱共掺光纤放大器)放大后,拍频信号传送到HNLF中,光纤长度为2km,衰减为0.7dB/km, 色散系数为±0.5ps/(nm·km),非线性系 数为10.7 W-1km-1。在SPM效应作用下,拍频信号在时域被压缩,在频域生成一系列的边频,得到光学频率梳并经光环行器进入FBG阵列。FBG的中心波长和频率梳的波长一一对应。因此,每个FBG只反射对应波长的谱线,我们可以对每根谱线分别进行操作。为了调整谱线的振幅,各个FBG之间插入PC,在环行器的端口3连接一个偏振片。不同波长的谱线经过不同数量的PC,其偏振态各不相同。谱线经过偏振片时,不同偏振态谱线的幅度发生不同的改变。FS用来改变光纤的长度,不同的谱线经过的光路不同,其相位得到了不同程度的调整。周期信号的傅里叶级数表达式为

式中,Fn为傅里叶系数;Ω =2π/T,T为信号的周期。可以看出周期信号在频域包含离散谱线。

脉冲整形系统的频率响应表示为

式中,Xn为输入脉冲的傅里叶级数;φnX为输入脉冲的相位函数;φnF为输出脉冲的相位函数。由式(1) 和式(2)可以看出,通过分别调节幅度和相位,可以得到目的波形。

2实验及结果分析

调节两个DFB,使输出的波长分别为1 549.4和1 550.4nm。调节EYDFA使输入HNLF的拍频信号功率为80mW,得到8条谱线,如图2所示。 由此证明HNLF中的SPM效应足够强。输入功率为80mW时,谱线的最高功率达6.5dBm。这是因为存在插入损耗和光谱仪中的固有损耗,信号的损耗较高。谱线的间隔为1nm,表明信号在频域的重复频率为125GHz,对应的时域脉冲宽度为8ps。

为了实现脉冲的整形,在脉冲整形部分用三个FBG串接成一个FBG阵列。三个FBG的中心波长分别为1 548.51、1 549.54和1 550.55nm,反射谱宽度分 别为0.19、0.20和0.19nm,反射率为10dB。由图2可以看出,有三条谱线对应于FBG的中心波长,这三条谱 线波长分 别为1 548.49 、 1 549.51和1 550.52nm。

为了测试FBG阵列的频谱响应特性,我们用飞秒脉冲激光器作为光源。图3所示为FBG阵列的频率响应,由于存在插入损耗及环境噪声,得到的反射率为15~18dB,明显低于理论值。

在实验中,先调节第一个PC,此时三条谱线的偏振态都发生了改变;再调节第二个PC,此时改变后两条谱线的偏振态;最后调节第三个PC,改变第三条谱线的偏振态。通过调节FS,使每条谱线相位为零。通过仿真获得的幅度谱和时域波形图如图4所示。脉冲形状近似三角形,其周期为8ps。

继续调节PC,并使谱线的相位为零,可以得到如图5所示的光谱图及其时域的波形图,波形类似为高斯波,周期也为8ps。

对于特定的脉冲,通过控制尽可能多的谱线可以生成更精确的波形。然而,这意味着需要更多的FBG、PC和FS,实验结构也将非常复杂,降低了可操作性。

3结束语

本文提出了一种新型OAWG结构,其结构较简单,易于与其他系统集成。压缩拍频光易于产生高重复频率的光梳,FBG用作窄带滤波器分离各条谱线,具有损耗低的优点。通过调节PC和FS,可以很容易地实现波形的动态整形。实验中,首先得到谱线 间隔为1nm的光梳 ,脉冲整形部分用三个FBG级联,三条光梳的幅度得到控制。对于经过幅度控制的谱线,假设谱线相位为零时,通过仿真可得到类似三角波和高斯波的波形,其重复频率较高,为125GHz。

摘要:提出了一种基于单阵列FBG(光纤布拉格光栅)的任意波形产生装置。该装置包括光学频率梳产生部分和脉冲整形部分。在光学频率梳产生部分,利用自相位调制效应压缩拍频光得到光学频率梳;脉冲整形部分包括FBG阵列、偏振控制器、光纤拉伸器和偏振片。不同波长的谱线经过不同数量的偏振控制器后其偏振态各不相同,经过偏振片后各条谱线的幅度会发生不同程度的衰减。相位控制器通过改变光纤的长度改变谱线的相位。通过该结构进行实验并仿真,得到了频率为125GHz的类似三角波和高斯波的波形。

任意波形 篇3

方案一:直接数字合成

它的工作过程是:振荡器产生高频脉冲波形, 经分频器得地址计数器的计数频率, 若地址计数器为Ⅳ位 (模值=2) , 则把波形的一个周期分为2个等间隔数据点 (抽样点) 存入数据存储器, 地址计数器不断地循环计数, 存储器内数据被逐个读出, 经D/A转换器和低通滤波器, 可得所需波形。该方法的特点是每一周期波形的点数是固定的, 每一周期内点与点的相位间隔相同。但两个相邻周期波形之间的两个点的时间间隔与其他点之间的相位间隔有可能不同。当计数器的位数增加时, 这种相邻间隔的误差可以忽略。

用该方法产生波形, 其波形频率由两方面决定: (1) 波形的频率由地址计数器的计数时钟决定, 当波形存储的点数一定时, 计数器的计数时钟频率越快, 读出一周期波形数据的时间就越短, 输出波形的频率就越高, 反之则波形频率低; (2) 波形的频率也由组成一周期波形的点数来确定, 当地址计数器的时钟频率一定时, 一周期波形的点数越多, 读完一周期波形所需的时间越长, 波形频率就低, 反之则高。

方案二:基于LabVIEW的信号发生器

任意函数发生器可以输出基本波形、手动绘制的任意波形。其中, 基本波形函数库中存放了正弦波、三角波、方波等常用的函数波形, 我们只要从中选取修改函数、设置波形频率、幅值等参数, 就可以产生波形;此外还可以绘制任意波形, 先将鼠标移到画图区的移动光标上, 然后按住鼠标左键拖动鼠标, 鼠标的移动轨迹即形成任意波形。

仪器控制程序包括仪器初始化模块、仪器管理模块、波形调制选取、设置模块和波形输出模块。

1.初始化模块:执行仪器的初始化, 自检, 清零功能。

2.仪器管理模块:执行仪器运行模式, 锁定与解锁通道, 是否恢复出厂设置等仪器管理操作。

3.波形调制模块:设置SWP、FM、AM、FSK等各种调制参数及调制波形。

4.波形输出模块:由于仪器硬件只能识别ASCII字符, 所以本模块将用户交互操作产生的任意波形通过转换, 下载到任意波形发生器的内部存储器, 并打到仪器输出通道, 输出所需波形。

在这两个方案中, 因为我们并没有硬件, 只是做软件方面的仿真, 所以我们采用方案二, 同样LabWindows/CVI (C for Virtual Instrumentation) 也可以实现.因为它是为C程序员开发的环境, 它有着交互的编程环境和可用于创建数据采集、分析的函数库和仪器控制驱动程序。而Labview则使用了G (图形化) 的数据流编程模式, 它有别于基于文本语言的线性结构。在Labview中执行程序的顺序是由块之间的数据流决定的, 而不是传统文本语言的按命令行次序连续执行的方式。考虑到我们对C语言不是很熟悉, 而Labview的G (图形化) 的数据流编程比较简单和清楚, 最后我们决定使用方案二。

初始化通道模块:

该程序主要是用来对通道0、1行初始化的, 也就是在运行程序之前先对两个通道清0.使用了顺序结构。

通道选择模块:

该Boolean控件主要用来在0, 1两个通道进行选择, 通过数据通道传递数据给Case结构, 当它为当为False时选中0通道, 为True时选中1通道。

通道编辑模块:

在这模块上有8个Boolean控件, 分别为标准波形、手绘波形、编辑波形、0+1->0、0+1->1、读入波形文件、保存波形文件、清空通道.这8个控件用以选择不同的功能, 它们组成一个簇。当任意的一个控件按下后, 其值会变成True, 然后通过Cluster To Array、Search 1D Array函数选择被按下的控件.这个模块采用Case结构, 控件与Case结构对应的框图略。

退出模块:

功能是退出程序。由于采用的是WHILE结构, 所以只需要在QUIT控件为真也就是控件按下去的时候退出即可。

软件设计流程框图:

主要程序流程图使用的是WHILE结构, 只要退出控件没按下, 程序就将一直运行下去, 当按下退出控件时, 程序停止运行。设计流程框图如图。

手绘任意波形:

在通道编辑模板中单击手绘波形控件, 会弹出手绘波形窗口如图, 拖动光标画出需要的任意波形.按下DONE键, 绘制的波形会显示在Waveforms中。系统调试和保存和读取波形等过程省略。

这次虚拟仪的器设计是实现基于LabVIEW的任意波形发生器。设计要求该发生器能生成两路标准的波形 (包括正弦波、方波、三角波、锯齿波) , 而且其频率、幅值、相位、电压偏置等参数可以手动设置。同时能生成两路手工绘制的任意波形。此外, 可对当前的两路波形进行手工编辑以及能将两路信号相加输出后输出。还可以将当前生成的两路波形数据存为文件保存在盘上, 并能将其重新读出生成对应的波形。

参考文献

[1]杨乐平, 李海涛等.LabVIEW高级程序设计[M].清华大学出版社.2003.4.

[2]杨乐平, 李海涛, 宵相生等.LABVIEW程序设计与应用[M].北京:电子工业出版社.2001.

[3]邓焱, 王磊。LabVIEW7.1测试技术与仪器应用[M].机械工业出版社.2004.8.

[4]王洪波, 张彦斌等.在LabVIEW中对Access数据库访问研究[J].微计算机信息.2003.12.

任意波形 篇4

本文提出了一种基于FPGA的信号波形发生器,实现产生任意波形信号的设计。利用累加器对所需频率按照所需的步进对其增量进行设置,得到的值就为设计所需的地址码,同时获取提前设计好的ROM中设计好的波形数据,经过相应的D/A进行转换,再进行平滑滤波得到所需的波形。通过硬件平台实现了不同要求的波形。通过结果分析,设计波形效果较好,有一定的工程实际意义。

1 系统的设计基本原理

DDS进行频率合成是直接从“相位”的概念出发。所需要的是相位累加,可以通过寄存器和相应的加法器来实现。实现的原理为当有时钟脉冲fc时,加法器对寄存器的输出和频率控制字进行相加。得到数据通过反馈给倒寄存器的相应输入端。等到需要改变频率再进行相加。可以看出当有一个钟脉冲输是,相位累加起就累加一次,得到的信号的相位是由累加器输出结果产生的,DDS的信号输出相应的频率为累加其输出的频率。

也就是相位累加器的溢出频率。一种全数字的频率合成方基本结构由四个部分构成,主要有相位累加器、波形ROM、D/A转换器和低通滤波器,如图1所示。

2 系统模块设计

系统框图由FPGA存储数据及DDS实现、DAC数字波形转换得到模拟波形、程控增益,实现电压伏值控制、信号调理,滤波这四个模块组成,整体系统框图如图2所示。

3 单元模块系统设计

3.1 寄存器和相位累加器的设计原理

设计中对所需的累加器和寄存器作用是实现累加功能,从而来得到可调的波形频率。用VHDL进行设计。相位累加与相位寄存器的框图如图3所示。

3.2 波形ROM的设计

ROM设计不同波形所需的ROM是不一样的,设计方法是相同的,首先要确定所需波形ROM的数据子长,同时要知道所需地址的位数。通过实际设计可以得到一般情况下ROM的子长是小于地址位数的,设计中选择的DA转换的位数是10,可以得到ROM字长应该也为10。同理可以得到地址位数为8。波形的存储器是通过相位累加到的高8位数据作为地址线来寻址。设计中以正弦信号数据的产生来进行设计可以直接在Quartus II下设计也可以通过:MATLAB编辑程进行相应的编辑。得到所需二进制数据通过VHDL程序来实现对应波形ROM的设计。

3.3 频率控制模块设计

实际中要输出的信号频率大小可通过键盘进行设置。实际中所需信号的频率一般跨度很大,大小频率变化实现需要很长的时间通过控制步进得到,这样设计控制模块就要以最简方法设计,设计中使用四个按键实现直接输入所需频率。

4 系统的软件设计

实现这个设计的方法由公式f0=k∙fc/2N可以看出,当fc2N确定后f0和K的值有一定的比例关系,通过其线性比例关系可以得到频率f0=1HZ时对应的所需K的值,计算得到的K就是步进1HZ对应的K变化的大小,步进就是利用此原理进行设计,设计中如果步进要整数倍的进行增加,设计中只需要按照倍数增加ΔK的值就能实现任意整数倍的信号步进变化。系统的整体控制频率流程图如图4所示。

5 仿真结果与分析

5.1 锯齿波仿真结果

由于幅度和频率调节在设计结果中不好表示以,设计中可以设计给定频率和幅度恒定的波形,设计锯齿波数据如图5所示。

5.2 正弦波仿真结果

同样的条件下实现了频率和幅度恒定的正弦波如图7所示。

5.3 三角波仿真结果

下图设计出了相应的三角波如图7所示。

5.4 方波仿真结果与分析

相应的方波的设计结果如图8所示。

图7三角波信号仿真

6 结论

本文实现了一种任意波形发生器系统,各模块利用硬件描述语言进行设计,最终利用FPGA硬件平台对其进行硬件测试,通过硬件平台实现了不同要求的波形。通过结果分析,设计波形效果较好,这种波形发生器同时可以根据工程实际需要实现不同的调制功能。输出信号的频率稳定度较高,有一定的工程实际意义。

摘要:针对传统设计信号发生器需要庞大的电路的问题。该文提出了一种基于FPGA的信号波形发生器,实现产生任意波形信号的设计。设计中利用硬件语言VHDL设计了所需的各个硬件模块。通过硬件平台QuartusⅡ实现了方波,锯齿波,三角波,正弦波等波形。通过结果分析,设计波形效果较好,有一定的工程实际意义。

关键词:FPGA,QuartusⅡ,信号发生器

参考文献

[1]徐彬,谭征,袁蕾,等.基于DDS技术的任意波形发生器[J].电子世界,2002(1):58-61.

[2]Nashaatdm,Elsadekha,Ghalih.Single feed compact quad-band PIFA antenna for wireless communication applications[J].IEEETrans Antennas Propagat Lett,2005,53(8):2631-2635.

[3]范秋华,张冬梅.基于VHDL的可编程分频器在波形发生器中的应用[J].清华大学学报,2003(4):68-71.

[4]于鸿洲,宋立新,徐吉吉.基于DDS技术的函数波形发生器[J].哈尔滨理工大学学报,2006,11(5):7-13.

[5]范秋华,张冬梅.基于VHDL的可编程分频器在波形发生器中的应用[J].青岛大学学报,2003,16(4):68-71.

[6]赵曙光.可编程逻辑器件原理开发与应用[M].西安:西安电子科技大学出版社,2000..

任意波形 篇5

由于所有电子和射频细分市场领域的数据率与信号复杂性都不断增加, 因此工程师和研究人员需要更先进的信号发生器对设计进行充分的压力测试或者开展前沿研究。该数/模转换器帮助AWG70000任意波形发生器实现了行业领先参数, 包括50 GS/s采样率、16 GS波形内存和10位垂直分辨率, 使其能够支持业内最苛刻的信号发生要求, 可满足上述测试需求。这意味着它能够生成可通过接收器或其他被测器件传送长时间的快速和无干扰的信号, 以便进行真正的全面测试。

AWG70000系列任意波形发生器为克服以下应用中的测量挑战提供了业内最佳的解决方案:

宽带电子–AWG70000通过在基带、IF和RF频率 (可达20GHz) 下生成宽带宽信号来提供按需带宽, 动态范围大于80 dBc。凭借高达16 GS的波形内存, 它能生成足够长的独特信号来模拟实际环境, 这使其成为目前最灵活的宽频带信号发生产品。

光通信–研发新的和更快光通信技术的研究人员可借助AWG70000的采样率和高垂直分辨率来采集具有优异频谱纯度的极高带宽信号。在这些高带宽下, 可以同步多个任意波形发生器来提供完整的IQ信号发生功能。

任意波形 篇6

1 DDS基本原理

DDS技术的核心是利用累加器将频率控制字、相位控制字和波形控制字转化成读取波形数据的地址值,再将读出的波形数据与幅度控制字相乘得到不同的波形,其结构框图如图1所示[3]。

输出波形的频率由频率控制字与输入时钟共同决定,其关系表示如下:

其中,fo为输出频率;K为频率控制字;N为一个正整数,其数值一般为频率控制字K的位宽;fc为输入时钟的频率。由累加器输出的结果与相位控制字相加,相当于将输出波形进行一次相移,从而确定波形的相位。因为DDS任意波形发生器能够产生多种类型的波形,所以需要将不同类型的波形数据分区块地写入波形存储器(ROM)中,将之前产生的地址值与波形控制字相加,即为用于将地址指向特定的波形类型的数据所在的区块。读出的离散波形数据经过D/A转换器就转换成了连续的模拟信号,再经过低通滤波器(LPF)就可以得到所需要的平滑波形输出。

2 DDS优化设计

2.1 整体设计方案

本设计的DDS任意波形发生器能够直接产生0~1 k Hz的正弦波、三角波、升/降锯齿波和占空比可变的方波等5种波形,经过后接的功率放大电路其幅值可达65 V。系统采用型号为AD9746的高精度差分D/A转换芯片,其数据位宽为14 bit,这就意味着每个波形数据都为14 bit位宽,则对模拟信号采样生成波形数据时,就需要采集214个数据点。如果按照传统的DDS设计方案,所占用的片上RAM资源为:波形类型数×数据位宽×数据量=5×14×214=1 146 880 bit。由此可以看出,资源的占用量已经远远超出了大多数常用FPGA芯片的片上资源总量。为了减小资源的占用,本设计首先对不同类型的波形数据的存储方式进行优化。

如图1所示,传统的DDS任意波形发生器是将所有类型的波形数据按区块存储在ROM中,按照需求读出某一区块的数据用于产生相应波形。这种设计方案的ROM利用率很低,以存储5种波形数据为例,在生成某种波形时,ROM空间的80%存储的都是无关数据。因此,为了节省空间,将不同类型的波形数据以数组的形式写在软件中,当需要产生某种波形时,通过波形控制字的控制,将指定的波形数据移入FPGA的片上存储器。由于软件运行的存储区域为片外的SDRAM,而SDRAM的存储空间较大,因此,用SDRAM的空间占用取代FPGA片上存储资源的占用可以在很大程度上降低成本。

另外,从式(1)中可以看出,当频率控制字K取1时,可以得到系统的频率分辨率[4]:

由此可见,N的取值越大,输出频率的步长就越小,频率分辨率也就越高。本设计采用了32 bit字长的频率控制字,参考时钟为100 MHz,所以频率分辨率可达0.023 2 Hz。但是,累加器输出的结果将要作为对ROM寻址的地址,而ROM的寻址空间显然无法达到232 bit。为了使地址值能够与ROM中的数据一一对应,又不影响频率分辨率,这里截取累加结果的高14位作为寻址的地址值,但并不表示ROM的寻址空间为214 bit,而是对不同的波形类型将对这14位的地址值做不同的处理,从而进一步对ROM进行优化。

2.2 正弦波、三角波的ROM优化设计

因为系统中采用的D/A的精度为14 bit,所以在对参考的模拟波形采样时,需要采集214个离散的数据点。但是不难发现,正弦波和三角波在4个象限的波形具有很好的对称性,因此,为了进一步对ROM进行优化,只存储波形在第一象限的数据点,利用基于VHDL硬件描述语言编写的硬件反相器对寻址地址值和波形数据进行处理,就可以在不改变数据精度的情况下得到完整的波形[5,6]。由于三角波和正弦波的原理完全相同,所以这里仅以正弦波的ROM优化设计为例进行说明,其硬件框图如图2所示。

从图2中可以看出,虽然累加器输出的结果为14 bit位宽,但是真正对ROM寻址的只有12 bit。实际上,只是累加器输出的最高2位用于对生成波形的4个象限进行选择,其对应关系如图3所示。

在正弦波的生成电路中,ROM只存储第一象限,即图3中是高2位为00时所对应的波形数据。由图3可分析得出,第二象限的波形数据相当于对第一象限数据进行反方向读取,即对地址值先取反再寻址;第三象限的波形数据为第一象限数据的相反数,即对波形数据先取反再读取;第四象限的波形数据为第三象限数据的反方向读取,即同时对地址值和波形数据取反再寻址读出数据。综上所述,反相器1在累加器输出结果的次高位为0时不采取任何操作,在次高位为1时将地址值取反;反相器2在最高位为0时不采取任何操作,在最高位为1时对ROM中的波形数据取反。这样利用2个反相器就可以仅存储212个数据点,还原出14 bit精度的完整正弦波形和三角波形。

2.3 升、降锯齿波ROM优化设计

与正弦波和三角波不同,升/降锯齿波为单调线性波形,所以在针对参考波形进行14 bit精度采样时,将生成的214个数据点每隔3个存储1个,把所存储的数据点个数减小到212个,这对于单调的线性波形几乎没有影响。因此,在寻址时只需要截取累加器输出的高12 bit作为地址值。另外,为了进一步简化设计,考虑到降锯齿波实际上是对升锯齿波的波形数据进行反向读取得到的,因此,可以仅存储升锯齿波的波形数据,利用波形控制字和反相器就可以得到降锯齿波形。其电路框图如图4所示。

2.4 方波生成电路设计

与之前介绍的所有波形的性质不同,方波只是高低电平之间的转换,转换的时间即为占空比。因此,在方波生成的电路中,只需把单一的高电平数据存入ROM中,利用定时器控制一个反相器,在特定时间将ROM中读出的数据取反,就可以生成占空比可变的方波。其电路框图如图5所示。

定时器中,以输入的占空比控制字为初值,每个时钟周期对频率控制字进行一次累加。当累加结果≤232-1时,控制位为0,反相器不工作,D/A直接收到ROM中读出的数据,即输出方波高电平;当累加结果>232-1时,控制位置1,反相器将ROM中读出的波形数据取反,即输出方波的低电平。累加结果为33 bit位宽,当发生溢出时,自动回到初值状态,从占空比控制字开始继续对频率控制字进行累加。因此,通过输入不同的占空比控制字就可以得到占空比可变的方波。

3 测试结果

按照上述优化方法设计出基于DDS的任意波形发生器,FPGA的片上存储器仅需要存储4 096个14 bit位宽的波形数据,就能够实现可输出5种波形的任意波形发生器。在Quartus II 8.0软件中的综合结果如图6所示。

从图6中可以读出,片上存储资源的占用量仅为108 928 bit,这是因为中间过程中用到的寄存器和嵌入的NIOS II软核占用了一部分的存储空间。利用RIGOL公司生产的型号为DS1102CA的示波器可观察到最终的不同频率、不同幅值的输出波形,如图7~图12所示。

若按照传统的设计方案,5种波形、14 bit精度的DDS任意波形发生器将占用FPGA片上大于1 Mb的存储空间,而符合这个要求的FPGA芯片市场价格一般都接近千元。本系统采用Altera公司生产的Cyclone II系列的FPGA芯片EP2C20F484C8为核心处理器件,能够大大减小FPGA的片上资源占用,其市场价格仅为100元左右,很大程度上减小了成本。

参考文献

[1]张严,洪远泉.基于FPGA的任意波形发生器设计与研究[J].现代电子技术,2011,34(10):157-159.

[2]杜伟韬,卢起斌,徐伟掌,等.面积优化的调相DDS软核编译器设计与实现[J].微电子学,2008,38(3):381-384.

[3]江志浩,孙明珠,蔡德荣.高精度DDS的FPGA资源优化设计[J].微计算机信息,2009,25(1-2):191-193.

[4]傅沈文,曾广玺.基于DDS技术的高性能脉冲信号源设计[J].微计算机信息,2011,40(4):108-109.

[5]蓝天,张金林.直接数字频率合成器DDS的优化设计[J].电子技术应用,2007,33(5):42-44.

任意波形 篇7

通过增加50MHz机型,泰克公司现在具有业内广泛和全面的任意波形/函数发生器产品,带宽范围10~240MHz,采样率最高2GS/s,电压幅度最高20Vp-p。AFG3000C系列在AFG3000B系列的易用性和灵活性基础上,提供了大尺寸和色彩明亮的显示屏、针对关键参数的专用前面板按钮以及双输出功能。

AFG3000C机型的双输出功能不仅相当于两个信号发生器,而且能够轻松进行同步。为帮助生成任意波形,AFG3000C系列在出厂时预装了ArbExpress软件,使用该PC软件可以无缝导入来自任意泰克示波器或者由标准函数、公式编辑器和波形数学运算定义的波形。

上一篇:体育课堂教育下一篇:听说领先