CN103873018A - 一种生成谐波信号的方法及谐波信号发生器 - Google Patents

一种生成谐波信号的方法及谐波信号发生器 Download PDF

Info

Publication number
CN103873018A
CN103873018A CN201210530225.9A CN201210530225A CN103873018A CN 103873018 A CN103873018 A CN 103873018A CN 201210530225 A CN201210530225 A CN 201210530225A CN 103873018 A CN103873018 A CN 103873018A
Authority
CN
China
Prior art keywords
harmonic
harmonic signal
initial phase
word
frequency control
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.)
Granted
Application number
CN201210530225.9A
Other languages
English (en)
Other versions
CN103873018B (zh
Inventor
丁新宇
王悦
王铁军
李维森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rigol Technologies Inc
Original Assignee
Rigol Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rigol Technologies Inc filed Critical Rigol Technologies Inc
Priority to CN201210530225.9A priority Critical patent/CN103873018B/zh
Publication of CN103873018A publication Critical patent/CN103873018A/zh
Application granted granted Critical
Publication of CN103873018B publication Critical patent/CN103873018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本发明涉及一种谐波信号发生器,该谐波信号发生器基于DSP 芯片和FPGA 芯片生成谐波信号;所述DSP芯片,用于获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA芯片;所述FPGA芯片,用于根据所述DSP芯片获取的信息生成谐波信号。其中,所述FPGA芯片包括谐波信号分量获取单元和谐波加法单元;所述谐波信号分量获取单元,用于根据所述DSP 芯片获取的信息生成谐波信号的各分量fi(kTs);所述谐波加法单元,用于将所述谐波信号分量获取单元生成的谐波信号的各分量相加生成谐波信号。

Description

一种生成谐波信号的方法及谐波信号发生器
技术领域
本发明涉及信号与信息系统领域,特别涉及一种生成谐波信号的方法及谐波信号发生器。
背景技术
谐波信号发生器在通信、检测、导航等领域有着广泛的应用。特别是在高压电力系统的检测领域,常常用谐波信号发生器模拟电网谐波,对检测设备的性能进行校验,例如高压电力线路的相位检测,避雷器的性能检测,用户电能表的性能校验等。
早期的谐波信号发生器用模拟电路搭建,主要由乘法器、除法器、混频器、滤波器和快速开关构成,其缺点是谐波参数可调性差、输出信号的精度差、稳定度不高;若产生较复杂的谐波信号,则电路非常复杂、体积庞大、不易移动。
随着晶体管工艺的出现和发展,大规模集成电路得到广泛的应用。出现了一种以DSP+FPGA为基本架构的谐波信号发生器。如图1所示,为现有技术中一种谐波信号发生器生成谐波的工作流程图。首先获取各次谐波的幅度补偿系数;根据当前各次谐波的输出位标识确定当前谐波公式;根据所述幅度补偿系数及所述当前谐波公式获取当前谐波的波表数据;获取幅度配置增益系数,所述幅度配置增益系数为谐波波形的幅度最大值与基波波形的幅度最大值的比值;将所述波表数据、基波参数、所述幅度配置增益系数和基波幅度的乘积配置到现场可编程门阵列FPGA中,以供直接数字式频率合成器DDS输出;配置DDS的运行标志位和输出标识位以输出谐波波形。
由图1提高的谐波信号发生器的工作流程可知,谐波信号发生器的DSP芯片按照式(1)的产生当前谐波的波表数据,并配置至FPGA芯片中,由FPGA芯片以DDS方式输出。
f ( t ) = Σ i = 0 n f i ( t ) = Σ i = 0 n A i sin ( 2 π f i t + θ i ) - - - ( 1 )
正弦信号的三要素是幅度、相位和频率,谐波信号由各次谐波叠加而成,它的参数也包括基波的幅度、初始相位及频率和各次谐波的幅度、初始相位及频率。在式(1)中,分别用Ai、θi、fi表示;其中i是谐波的次数,f0(t)称为基波,f1(t)表示二次谐波,f2(t)表示三次谐波,以此类推。
在式(1)中,有比较耗时的乘法、加法、求正弦等运算,随着谐波次数的增多,运算时间会成倍增加;而且,波表数据的每一个点都需要计算,因此整个运算时间会很长。除了频率,上述谐波参数发生改变时,即使是很小的变化,例如基波的初始相位从0度修改为1度,也需要重新计算所有点的波表数据,然后重新配置给FPGA。按照10nS的DSP指令周期、8次谐波、16384个点的波表数据估算,由图1提供的谐波信号发生器的整个响应时间约为2秒钟。总之,该谐波信号发生器的捷变性差,且占用DSP较长处理时间。
另外,图1提供的谐波信号发生器的各次谐波的形状都只能是正弦波;现有市场上的谐波信号发生器的谐波形状也只有正弦波和方波两种,较为单一。在实际应用环境中,n次谐波的频率往往有畸变,并非基波频率的整数倍,这就要求谐波信号发生器的各次谐波的频率能够灵活设置。但图1提供的谐波信号发生器的n次谐波的频率是基波的n倍,只能实现整数倍的关系,无法满足实际的需要。
发明内容
本发明的目的是针对上述问题,提供一种生成谐波信号的方法及谐波信号发生器,能够实现谐波参数改变时,谐波信号发生器能够快速响应,不需要长时间的运算和处理,并且满足实际的需要。
为实现上述目的,本发明提供了一种谐波信号发生器,该谐波信号发生器基于DSP 芯片和FPGA 芯片生成谐波信号;
所述DSP 芯片,用于获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA芯片;
所述FPGA芯片,用于根据所述DSP芯片获取的信息生成谐波信号。
可选的,在本发明一实施例中,所述FPGA芯片包括谐波信号分量获取单元和谐波加法单元;
所述谐波信号分量获取单元,用于根据所述DSP 芯片获取的信息生成谐波信号的各分量fi(kTs);其中,i为谐波信号中的谐波次数,i≥0;
所述谐波加法单元,用于将所述谐波信号分量获取单元生成的谐波信号的各分量相加生成谐波信号。
可选的,在本发明一实施例中,所述谐波信号分量获取单元包括相位累加模块、相位加法模块、波形存储模块和幅度乘法模块;
所述相位累加模块,用于当启动信号有效时在所述FPGA芯片的时钟脉冲fs上升沿时累加一次频率控制字来产生相码;
所述相位加法模块,用于将所述相位累加模块获取的相码与所述初始相位字相加的结果作为所述波形存储模块的读地址;
所述波形存储模块,用于存储所述基波波表数据,并在生成谐波信号时,根据所述相位加法模块获取的读地址来获取基波波表数据;
所述幅度乘法模块,用于从所述波形存储模块获取的基波波表数据与所述幅度系数相乘生成谐波信号的各分量fi(kTs)。
可选的,在本发明一实施例中,所述DSP 芯片根据谐波信号频率fi获取频率控制字;其中,i为谐波信号中的谐波次数,i≥0。
可选的,在本发明一实施例中,所述DSP 芯片根据下式获取频率控制字;
Ki=2N*fi/fs
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA 芯片的时钟频率。
可选的,在本发明一实施例中,所述DSP 芯片根据谐波信号的初始相位θi获取初始相位字;其中,i为谐波信号中的谐波次数,i≥0。
可选的,在本发明一实施例中,所述DSP芯片根据下式获取初始相位字;
Pi=2Mi/360
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
可选的,在本发明一实施例中,所述波形存储模块用于存储2M个样点的基波波表数据。
可选的,在本发明一实施例中,所述频率控制字和初始相位控制字均进行设置。
可选的,在本发明一实施例中,所述谐波信号中基波的形状进行设置。
为实现上述目的,本发明还提供了一种生成谐波信号的方法,该方法基于DSP芯片和FPGA芯片生成谐波信号;
获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA 芯片;
根据获取的基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号。
可选的,在本发明一实施例中,所述根据获取的基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的步骤包括:
根据所述基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的各分量fi(kTs);其中,i为谐波信号中的谐波次数,i≥0;
将所述谐波信号的各分量fi(kTs)相加生成谐波信号。
可选的,在本发明一实施例中,所述根据所述基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的各分量fi(kTs)的步骤包括:
当启动信号有效时,在时钟脉冲fs上升沿时累加一次频率控制字来产生相码;
将所述相码与所述初始相位字相加的结果作为读地址;
存储所述基波波表数据,并在生成谐波信号时,根据所述读地址来获取各次谐波的波表数据;
将各次谐波的波表数据与所述幅度系数相乘生成谐波信号的各分量fi(kTs)。
可选的,在本发明一实施例中,所述频率控制字根据谐波信号频率fi获取;其中,i为谐波信号中的谐波次数,i≥0。
可选的,在本发明一实施例中,所述频率控制字根据下式获取;
Ki=2N*fi/fs
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA 芯片的时钟频率。
可选的,在本发明一实施例中,所述初始相位字根据谐波信号的初始相位θi获取;其中,i为谐波信号中的谐波次数,i≥0。
可选的,在本发明一实施例中,所述初始相位字根据下式获取;
Pi=2Mi/360
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
可选的,在本发明一实施例中,所述基波波表数据为2M个样点。
可选的,在本发明一实施例中,所述频率控制字和所述初始相位控制字均进行设置。
可选的,在本发明一实施例中,所述谐波信号中基波的形状进行设置。
上述技术方案具有如下有益效果:本申请提供的谐波信号发生器算法简单、容易实现以及捷变性好,无需DSP芯片长时间运算;通过DSP芯片设置谐波形状,不限于正弦波;并且各次谐波频率不是整数倍关系,可通过DSP芯片独立设置。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种谐波信号发生器生成谐波的工作流程图;
图2为本发明提出的一种谐波信号发生器结构框图;
图3为本发明提出的谐波信号发生器中FPGA 芯片结构框图;
图4为FPGA芯片中谐波信号分量获取单元的结构框图;
图5为本发明提出的一种生成谐波信号的方法流程图;
图6为实施例中的谐波信号发生器的实现框图;
图7为实施例中的谐波信号发生器生成谐波的工作流程图;
图8为实施例中的谐波信号发生器中FPGA芯片的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明依然采用DSP+FPGA为基本架构,与图1技术方案相比,本发明重新赋予DSP和FPGA所担任的功能,DSP除了将基波的波表数据送给FPGA,还将谐波参数转换为幅度系数、初始相位字、频率控制字送给FPGA,FPGA按照谐波参数和公式1生成数字化的谐波信号。
如图2所示,为本发明提出的一种谐波信号发生器结构框图。该谐波信号发生器基于DSP芯片201和FPGA 芯片202生成谐波信号;其中,所述DSP芯片201用于获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA芯片202;所述FPGA 芯片202用于根据所述DSP芯片201获取的信息生成谐波信号。
如图3所示,为本发明提出的谐波信号发生器中FPGA芯片结构框图。所述FPGA芯片202包括谐波信号分量获取单元2021和谐波加法单元2022;其中,所述谐波信号分量获取单元2021,用于根据所述DSP芯片获取的信息生成谐波信号的各分量fi(kTs);其中,i为谐波信号中的谐波次数,i≥0。所述谐波加法单元2022用于将所述谐波信号分量获取单元生成的谐波信号的各分量相加生成谐波信号。
如图4所示,为FPGA 芯片中谐波信号分量获取单元的结构框图。所述谐波信号分量获取单元2021包括相位累加模块1、相位加法模块2、波形存储模块3和幅度乘法模块4;其中,所述相位累加模块1用于当启动信号有效时在所述FPGA芯片的时钟脉冲fs上升沿时累加一次频率控制字来产生相码;所述相位加法模块2用于将所述相位累加模块获取的相码与所述初始相位字相加的结果作为所述波形存储模块的读地址;所述波形存储模块3用于存储所述基波波表数据,并在生成谐波信号时,根据所述相位加法模块获取的读地址来获取基波波表数据;所述幅度乘法模块4用于从所述波形存储模块获取的基波波表数据与所述幅度系数相乘生成谐波信号的各分量fi(kTs)。
实施例中,所述DSP 芯片201根据谐波信号频率fi获取频率控制字;其中,i为谐波信号中的谐波次数,i≥0。
优选地,所述DSP芯片201根据下式获取频率控制字;
Ki=2N*fi/fs
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA芯片的时钟频率。
优选地,所述DSP芯片201根据谐波信号的初始相位θi获取初始相位字;其中,i为谐波信号中的谐波次数,i≥0。
优选地,所述DSP芯片201根据下式获取初始相位字;
Pi=2Mi/360
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
优选地,所述波形存储模块用于存储2M个样点的基波波表数据。
更进一步地,所述频率控制字和初始相位控制字均进行设置。
更进一步地,所述谐波信号中基波的形状进行设置。
如图5所示,为本发明提出的一种生成谐波信号的方法流程图。该方法基于DSP芯片和FPGA 芯片生成谐波信号;包括:
步骤501:获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA芯片;
步骤502:根据获取的基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号。
其中,所述步骤502包括:
步骤5021:根据所述基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的各分量fi(kTs);其中,i为谐波信号中的谐波次数,i≥0;
步骤5022:将所述谐波信号的各分量fi(kTs)相加生成谐波信号。
更进一步地,步骤5021包括:
步骤50211:当启动信号有效时,在时钟脉冲fs上升沿时累加一次频率控制字来产生相码;
步骤50212:将所述相码与所述初始相位字相加的结果作为读地址;
步骤50213:存储所述基波波表数据,并在生成谐波信号时,根据所述读地址来获取各次谐波的波表数据;
步骤50214:将各次谐波的波表数据与所述幅度系数相乘生成谐波信号的各分量fi(kTs)。
实施例中,所述频率控制字根据谐波信号频率fi获取;其中,i为谐波信号中的谐波次数,i≥0。
更进一步地,所述频率控制字根据下式获取;
Ki=2N*fi/fs
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA 芯片的时钟频率。
实施例中,所述初始相位字根据谐波信号的初始相位θi获取;其中,i为谐波信号中的谐波次数,i≥0。
更进一步地,所述初始相位字根据下式获取;
Pi=2Mi/360
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
优选地,所述基波波表数据为2M个样点。
优选地,所述频率控制字和所述初始相位控制字均进行设置。
优选地,所述谐波信号中基波的形状进行设置。
实施例1:
如图6所示,为实施例中的谐波信号发生器的实现框图。包括:人机界面和用户接口203、非易失存储器204、DSP芯片201、FPGA 芯片202、DAC205和模拟电路206。
人机界面和用户接口203用于接受用户本地或者远程控制,包括GPIB、LAN、USB等,用户可通过此接口设置谐波参数以及谐波的基波形状。
非易失存储器204用于存储内置的基波波表数据或者是用户自定义的基波波表数据。
DSP 芯片201用于实现系统控制以及信号处理,实现下列功能:
(1)、通过用户接口接受用户控制;
(2)、访问非易失存储器204;
(3)、与FPGA芯片202通信。DSP芯片201与FPGA芯片202之间的通信接口可以非常灵活,通信协议可以是自定义的。DSP芯片201将下述数据送给FPGA芯片202:基波波表数据、基波和各次谐波对应的频率控制字、初始相位字、幅度系数。
FPGA芯片202用于根据DSP 芯片201配置的参数生成数字化的谐波信号f(kTs)。
DAC(数模转换器)205:将FPGA 芯片202输出的数字信号转换为模拟信号。
模拟电路206:对模拟形式的谐波信号进一步处理,包括滤波、衰减、放大等,最终输出谐波信号。
本实施例采用DSP+FPGA的基本架构,与现有技术相比,生成谐波信号的工作方式做了改进,重新划分了DSP 芯片的功能和FPGA芯片的功能,DSP芯片的运算量大为减少。
当用户通过人机界面设置好谐波参数后,DSP芯片根据谐波参数计算基波和各次谐波的频率控制字、初始相位字、幅度系数,并送给FPGA芯片;DSP 芯片按照用户设置的谐波形状,从非易失存储器中读出相应基波波表数据并送给FPGA芯片,DSP芯片要求FPGA芯片开始运行,即通过处理器接口给FPGA芯片内部的相位累加器发送启动信号。FPGA芯片内部的工作方式为:在时钟脉冲的控制下,当启动信号有效时,相位累加器按照频率控制字累加产生相码;相码通过相位加法器与初始相位字相加,产生波表存储器的读地址;波表存储器按照读地址读出波表数据,也就是基波分量与各次谐波的分量;谐波加法器求出这些分量之和,从而产生数字形式的谐波信号。DAC完成数模转换,再经过滤波、衰减、放大,就生成了谐波信号。当然,如果用户前后设置的谐波形状相同,则无需重新给FPGA芯片配置基波波表数据了。在这个过程中,可以看到,DSP芯片的运算量与波表长度是没有关系的。但在现有技术中,每个点的波表数据都需要重新计算,因此,本发明的运算量大为减小。
如图7所示,为实施例中的谐波信号发生器生成谐波的工作流程图。包括:
步骤701:用户通过人机界面和用户接口203设置各个谐波参数以及谐波形状;
步骤702:DSP 芯片201根据谐波参数计算基波和各次谐波的频率控制字、初始相位字、幅度系数,并送给FPGA芯片202。
DSP芯片201按照式(2)计算频率控制字Ki。因为基波和各次谐波的频率控制字可分别设置,因此它们的频率可灵活设置,不一定是整数倍的关系。
Ki=2N*fi/fs                                                        (2)
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA 芯片的时钟频率。
DSP 芯片201按照式(3)计算初始相位字Pi,因为基波和各次谐波的初始相位字可分别设置,因此它们的频率可灵活设置。
Pi=2Mi/360                                                       (3)
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
从公式2、公式3中可以看到,基波和各次谐波的频率、初始相位都是独立控制的,因此DSP只需计算改动的部分参数,例如用户修改了二次谐波的初始相位,则DSP只需将计算得到的二次谐波的初始相位字送给FPGA即可,无需其它计算。这种简单的工作方式是耗时较长、运算复杂的现有技术所不能比的。
在本发明中,基波与各次谐波之间唯一有关联的是幅度,为了保证不溢出,要求基波分量与给次谐波分量的最大值之和等于最终输出的谐波信号的最大值。因此,如果用户修改了幅度系数,则DSP需要重新计算基波和各次谐波的幅度系数。但与每个样点都需要重新计算的现有技术相比,本发明的DSP运算还是要简单得多。
步骤703:DSP芯片201按照用户设置的谐波形状,从非易失存储器204中读出相应基波波表数据并送给FPGA芯片202;在后续工作过程中,倘若谐波形状没有修改,则无需重新给FPGA芯片202配置基波波表数据。
步骤704:谐波参数、基波波表数据配置完成后,DSP 芯片要求FPGA芯片开始运行,即通过处理器接口给FPGA芯片内部的相位累加器发送启动信号;
步骤705:FPGA芯片202生成数字形式的谐波信号;
步骤706:经DAC和模拟电路处理后输出模拟形式的谐波信号。
在本实施例中,如图8所示,为实施例中的谐波信号发生器中FPGA芯片的结构示意图。
时钟器801用于给FPGA 芯片202内部其它单元提供高精度的稳定时钟源,时钟频率以fs表示,周期用Ts表示。
处理器接口802是FPGA芯片202与DSP芯片201的通信接口,解析DSP芯片201下发的指令,然后转发给内部其他模块,包括幅度系数、初始相位字、频率控制字;并将DSP芯片201配置的基波波表数据写入到各个波形存储器中;还将启动信号送给第一相位累加器803,………,第n相位累加器8n3,启动信号有效时为高电平,启动信号无效时为低电平。
第一相位累加器803是实现基波频率的控制,当启动信号有效时,第一相位累加器803在每一个时钟脉冲fs上升沿到来时,就累加一次频率控制字K0产生相码;当启动信号无效时,则停止累加,且相码复位为0。频率控制字K0与基波频率f0的关系如式(2),DSP芯片201按照式(2)计算频率控制字K0。因为基波和各次谐波的频率控制字可分别设置,因此它们的频率可灵活设置,不一定是整数倍的关系。
K0=2N*f0/fs                                                      (2)
其中,N为相位累加器的位宽,也就是相码的数据位宽。
第一相位加法器804是实现基波初始相位的控制,将N位相码的高M位与初始相位字P0相加,结果作为第一波形存储器805的读地址。初始相位字P0与基波的初始相位θ0(单位:度)的关系如式(3),DSP芯片201按照式(3)计算初始相位字P0。当谐波参数变化时,DSP只需重新计算得到相应的控制字,比如基波的初始相位从0度修改为1度,则按照公式3计算基波的初始相位字,并送给FPGA即可。这样就大大缩短了DSP的数据处理时间。
P0=2M0/360                                                       (3)
其中,M为第一相位加法器804的位宽,也是初始相位字的数据位宽,以及波形存储器的地址位宽,通常N远大于M。
第一波形存储器805:波表长度也就是波形存储器的深度为2M,DSP芯片201预先将一个周期的即2M个样点的基波波表数据通过处理器接口写入到波形存储器中;在生成谐波信号时,第一波形存储器805根据第一相位加法器804生成的读地址输出基波波表数据;基波的形状由用户任意设置,可以是正弦波、方波、三角波等等。另外,鉴于FPGA 芯片202的并行处理能力,各个波形存储器可以同时写入同样的基波波表数据,这样可节省数据处理时间,同时也实现了谐波形状的任意设置。
第一幅度乘法器806用于将第一波形存储器805输出的基波原始数据与基波的幅度系数Ai相乘,从而实现基波的幅度控制。DSP 芯片201在计算基波与各次谐波的幅度系数时要让谐波信号的最大值等于基波分量与各次谐波分量的最大值之和。
第一相位累加器803、第一相位加法器804、第一波形存储器805和第一幅度乘法器806产生了谐波信号中的基波分量f0(kTs)。
第n相位累加器8n3、第n相位加法器8n4、第n波形存储器8n5、第n幅度乘法器8n6的作用分别与第一相位累加器803、第一相位加法器804、第一波形存储器805和第一幅度乘法器806类似,第n幅度乘法器8n6输出谐波信号中的n+1次谐波分量fn(kTs)。其它次数的谐波分量没有一一画出。
谐波加法器807用将基波分量与各次谐波分量按照式(4)相加,生成数字形式的谐波信号f(kTs)。
f ( kT s ) = Σ i = 0 n f i ( kT s ) - - - ( 4 )
由上述实施例可知:
本发明实现的谐波信号发生器,集成度高、电路简单、体积小,采用的模拟器件较少,不仅降低系统功耗、减少设计复杂度,而且使得系统一致性和稳定性较好;本发明实现的谐波信号发生器,在谐波参数改变时,DSP芯片只需相应的做一些简单的运算,工作量小,能够快速响应,生成的谐波信号能够很快变化,具有良好的捷变性。另一方面,本发明的谐波可灵活设置。
本发明实现的谐波信号发生器,谐波形状可由用户任意设置,可以是正弦波、方波、三角波等等任意形状;DSP芯片只需将相应的基波波表数据送给FPGA芯片即可,仅仅是数据传输,没有复杂的运算。
本发明实现的谐波信号发生器,基波和各次谐波的频率是独立控制的,不一定是整数倍的关系,非常适合用于波形畸变日益严重的电网测试中。
现有技术用DSP芯片生成波表数据,本发明用数字化的可编程器件FPGA 芯片根据式(1)生成谐波信号,无需修改波表,也就不用计算每个点的波表数据;并且FPGA 芯片实时处理、各模块并行计算,具有容易升级、实现时间短、维护简单、成本低的优点。而且FPGA芯片使用的都是一些比较简单、易于实现的模块,例如相位累加器、相位加法器、波表存储器等,因此生成谐波信号的算法较为简单。由于采用了DDS技术产生载波,因此具备了DDS的优点,诸如载波频率精度高、范围宽等。
目前的信号发生器功能多样,很多都采用FPGA 芯片实现,因为本发明很容易移植于信号发生器,使其不仅是通用信号发生器,还兼具谐波信号发生器的功能。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种谐波信号发生器,该谐波信号发生器基于DSP 芯片和FPGA 芯片生成谐波信号;其特征在于,
所述DSP芯片,用于获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA 芯片;
所述FPGA芯片,用于根据所述DSP芯片获取的信息生成谐波信号。
2.根据权利要求1所述的谐波信号发生器,其特征在于,所述FPGA 芯片包括谐波信号分量获取单元和谐波加法单元;
所述谐波信号分量获取单元,用于根据所述DSP芯片获取的信息生成谐波信号的各分量fi(kTs);其中,i为谐波信号中的谐波次数,i≥0;
所述谐波加法单元,用于将所述谐波信号分量获取单元生成的谐波信号的各分量fi(kTs)相加生成谐波信号。
3.根据权利要求2所述的谐波信号发生器,其特征在于,所述谐波信号分量获取单元包括相位累加模块、相位加法模块、波形存储模块和幅度乘法模块;
所述相位累加模块,用于当启动信号有效时,在所述FPGA 芯片的时钟脉冲fs上升沿时累加一次频率控制字来产生相码;
所述相位加法模块,用于将所述相位累加模块获取的相码与所述初始相位字相加的结果作为所述波形存储模块的读地址;
所述波形存储模块,用于存储所述基波波表数据,并在生成谐波信号时,根据所述相位加法模块获取的读地址来获取各次谐波的波表数据;
所述幅度乘法模块,用于从所述波形存储模块获取的各次谐波的波表数据与所述幅度系数相乘生成谐波信号的各分量fi(kTs)。
4.根据权利要求3所述的谐波信号发生器,其特征在于,所述DSP芯片根据谐波信号频率fi获取频率控制字;其中,i为谐波信号中的谐波次数,i≥0。
5.根据权利要求4所述的谐波信号发生器,其特征在于,所述DSP 芯片根据下式获取频率控制字;
Ki=2N*fi/fs
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA芯片的时钟频率。
6.根据权利要求3所述的谐波信号发生器,其特征在于,所述DSP 芯片根据谐波信号的初始相位θi获取初始相位字;其中,i为谐波信号中的谐波次数,i≥0。
7.根据权利要求6所述的谐波信号发生器,其特征在于,所述DSP芯片根据下式获取初始相位字;
Pi=2Mi/360
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
8.根据权利要求7所述的谐波信号发生器,其特征在于,所述波形存储模块用于存储2M个样点的基波波表数据。
9.根据权利要求1~8所述的谐波信号发生器,其特征在于,所述频率控制字和初始相位控制字均进行设置。
10.根据权利要求1~8所述的谐波信号发生器,其特征在于,所述谐波信号中基波的形状进行设置。
11.一种生成谐波信号的方法,该方法基于DSP芯片和FPGA 芯片生成谐波信号;其特征在于,
获取基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据并传输至所述FPGA芯片;
根据获取的基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号。
12.根据权利要求11所述的方法,其特征在于,所述根据获取的基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的步骤包括:
根据所述基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的各分量fi(kTs);其中,i为谐波信号中的谐波次数,i≥0;
将所述谐波信号的各分量fi(kTs)相加生成谐波信号。
13.根据权利要求12所述的方法,其特征在于,所述根据所述基波的幅度系数、初始相位字和频率控制字,各次谐波对应的幅度系数、初始相位字和频率控制字以及基波波表数据生成谐波信号的各分量fi(kTs)的步骤包括:
当启动信号有效时,在时钟脉冲fs上升沿时累加一次频率控制字来产生相码;
将所述相码与所述初始相位字相加的结果作为读地址;
存储所述基波波表数据,并在生成谐波信号时,根据所述读地址来获取各次谐波的波表数据;
将各次谐波的波表数据与所述幅度系数相乘生成谐波信号的各分量fi(kTs)。
14.根据权利要求13所述的方法,其特征在于,所述频率控制字根据谐波信号频率fi获取;其中,i为谐波信号中的谐波次数,i≥0。
15.根据权利要求14所述的方法,其特征在于,所述频率控制字根据下式获取;
Ki=2N*fi/fs
其中,Ki为谐波信号中的第i次谐波的频率控制字,N为相位累加模块的位宽,fi为谐波信号中的第i次谐波的频率;fs为所述FPGA芯片的时钟频率。
16.根据权利要求13所述的方法,其特征在于,所述初始相位字根据谐波信号的初始相位θi获取;其中,i为谐波信号中的谐波次数,i≥0。
17.根据权利要求16所述的方法,其特征在于,所述初始相位字根据下式获取;
Pi=2Mi/360
其中,Pi为谐波信号中的第i次谐波的初始相位字,M为相位加法模块的位宽,θi为谐波信号中的第i次谐波的初始相位。
18.根据权利要求17所述的方法,其特征在于,所述基波波表数据为2M个样点。
19.根据权利要求11~18所述的方法,其特征在于,所述频率控制字和所述初始相位控制字均进行设置。
20.根据权利要求11~18所述的方法,其特征在于,所述谐波信号中基波的形状进行设置。
CN201210530225.9A 2012-12-10 2012-12-10 一种生成谐波信号的方法及谐波信号发生器 Active CN103873018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210530225.9A CN103873018B (zh) 2012-12-10 2012-12-10 一种生成谐波信号的方法及谐波信号发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210530225.9A CN103873018B (zh) 2012-12-10 2012-12-10 一种生成谐波信号的方法及谐波信号发生器

Publications (2)

Publication Number Publication Date
CN103873018A true CN103873018A (zh) 2014-06-18
CN103873018B CN103873018B (zh) 2017-12-22

Family

ID=50911210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210530225.9A Active CN103873018B (zh) 2012-12-10 2012-12-10 一种生成谐波信号的方法及谐波信号发生器

Country Status (1)

Country Link
CN (1) CN103873018B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515551A (zh) * 2014-10-14 2016-04-20 苏州普源精电科技有限公司 一种具有任意波编辑功能的信号发生器
CN106645835A (zh) * 2016-12-22 2017-05-10 唐恩(厦门)电气有限公司 一种避雷器校验测试用信号发生装置
CN110927419A (zh) * 2019-11-22 2020-03-27 北京博电新力电气股份有限公司 一种信号生成系统、方法及存储介质
CN112532208A (zh) * 2019-09-18 2021-03-19 惠州迪芬尼声学科技股份有限公司 谐波发生器及用于生成谐波的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100066994A1 (en) * 2008-09-02 2010-03-18 Basis Software, Inc. Binary modulation rangefinder
US20100119239A1 (en) * 2008-11-12 2010-05-13 Lockheed Martin Corporation Bias control apparatus and method for optical modulator
CN101997524A (zh) * 2010-09-26 2011-03-30 中南林业科技大学 一种产生多路spwm信号的方法和数字芯片
CN102075166A (zh) * 2009-11-20 2011-05-25 王晨 一种基于dds的高精度任意波形发生器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100066994A1 (en) * 2008-09-02 2010-03-18 Basis Software, Inc. Binary modulation rangefinder
US20100119239A1 (en) * 2008-11-12 2010-05-13 Lockheed Martin Corporation Bias control apparatus and method for optical modulator
CN102075166A (zh) * 2009-11-20 2011-05-25 王晨 一种基于dds的高精度任意波形发生器
CN101997524A (zh) * 2010-09-26 2011-03-30 中南林业科技大学 一种产生多路spwm信号的方法和数字芯片

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
王数明等: ""基于 DDS 技术的可叠加谐波的正弦信号源设计"", 《湖南师范大学自然科学学报》 *
胡仁杰: ""高分辨率任意波形发生器的实现"", 《东南大学学报》 *
胡照文等: ""基于F240谐波信号发生器的设计方法和技巧"", 《制造业自动化》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515551A (zh) * 2014-10-14 2016-04-20 苏州普源精电科技有限公司 一种具有任意波编辑功能的信号发生器
CN105515551B (zh) * 2014-10-14 2020-06-05 普源精电科技股份有限公司 一种具有任意波编辑功能的信号发生器
CN106645835A (zh) * 2016-12-22 2017-05-10 唐恩(厦门)电气有限公司 一种避雷器校验测试用信号发生装置
CN112532208A (zh) * 2019-09-18 2021-03-19 惠州迪芬尼声学科技股份有限公司 谐波发生器及用于生成谐波的方法
CN112532208B (zh) * 2019-09-18 2024-04-05 惠州迪芬尼声学科技股份有限公司 谐波发生器及用于生成谐波的方法
CN110927419A (zh) * 2019-11-22 2020-03-27 北京博电新力电气股份有限公司 一种信号生成系统、方法及存储介质

Also Published As

Publication number Publication date
CN103873018B (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
Lakka et al. Development of an FPGA-based SPWM generator for high switching frequency DC/AC inverters
CN206321704U (zh) 电能计量芯片和电能表
CN103944540A (zh) 一种三角波信号发生器
CN101867371B (zh) 基于fpga的线性调频信号实现方法
CN103873018A (zh) 一种生成谐波信号的方法及谐波信号发生器
Cardenas et al. Development of a FPGA based real-time power analysis and control for distributed generation interface
Lamo et al. Hardware-in-the-loop and digital control techniques applied to single-phase PFC converters
CN106559146A (zh) 一种信号发生器和信号产生方法
Li et al. Synchronisation mechanism and interfaces design of multi‐FPGA‐based real‐time simulator for microgrids
CN103944538B (zh) 一种任意波形发生装置
CN202772870U (zh) 一种基于sopc的任意波形信号源装置
CN102467152A (zh) 在信号源中实现调幅及振幅键控功能的方法、装置及系统
CN103178783A (zh) 求和调制信号发生器与求和调制信号发生方法
CN104237580A (zh) 一种产生am调幅信号的测量装置
RU101291U1 (ru) Функциональный генератор
Koleff et al. Development of a FPGA-Based Control System for Modular Multilevel Converter Applications
Shan et al. Design and implementation of a FPGA-based direct digital synthesizer
CN104660218A (zh) 一种任意波形合成器
Bi et al. Quantum-classical correspondence and mechanical analysis of a classical-quantum chaotic system
CN103873025A (zh) 一种三角波信号产生方法及三角波发生器
CN203800905U (zh) 一种任意波形发生装置
Bohrn et al. Novel on-chip sine wave generator
Braga et al. Robust stability analysis of grid-connected converters based on parameter-dependent Lyapunov functions
CN102739392A (zh) 一种Chen混沌信号发生器
CN102984602B (zh) 一种产生对讲机亚音频的方法及数字信号处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant