高精度频率测量(共8篇)
高精度频率测量 篇1
0 引言
电能是当今世界主要能源之一, 它的质量标准是以频率、电压和波形来衡量的。电能质量的好坏直接影响工农业生产和人民的生活。因此, 正确地进行系统频率、电压管理, 保证合格的电能质量, 是相当重要的。
频率是检验电能生产质量的指标之一, 也是衡量电力系统运行状态的重要参数。它反映了负荷与电源之间的动态能量平衡。在电力系统中, 当系统电源出力低于负荷标称频率下的功率消耗, 且系统热备用容量明显不足时, 系统将由于有功不足导致电源机组低速运转而使系统频率下降, 如不采取有效措施, 将导致机组损坏、系统瓦解的重大恶性事故。因而电力系统运行中的主要任务之一, 就是对频率进行监视和控制。同时, 国民经济对电力供应的依赖性愈来愈强, 电力用户对电能质量的要求愈来愈严格;从而, 电力生产对电力系统频率测量提出了更高的要求。
本文介绍了测量电力系统频率的常用方法, 对如何利用傅立叶算法计算电力系统频率进行了详细说明, 并对误差进行了分析。通过分析说明该算法选择适当的窗函数或者对采样间隔进行自适应调整可以满足高速、精确的测量要求。
1 傅立叶算法
1.1 傅立叶算法的基本原理首先假设系统电压信号仅含基频分量, 系统的额定基频为采样频率为f0, 系统的实际频率为f=f0+△f, 则电压信号可表示为:
用离散差分方程代替 (1-2) 式的求导, 并取时间间隔为一个测量周期则
以上 (1) 至 (3) 式, 即为频率测量基本公式。所以只要能够精确算出时间间隔T0内相角的改变量△φ, 就可以得到系统频率的精确值。
1.2傅立叶算法步骤傅立叶算法流程图如下:
根据流程图可以编出傅立叶算法程序。程序中f0假设为49.8Hz, x1为假设的带有谐波的电压信号, 对x1在一个周波内进行采样, 采样间隔为1ms, 采样点为20, j1为电压信号x1基波的初相位角。同理可以求出与x1相同的电压信号x2基波的初相位角j2。利用j=j2-j1, 这里的j相当于公式里的△φ, 利用公式可求出f 1 (相当于公式里的△f) 。最后可求出频率f。
程序中原始电压信号波形如下:
2 误差分析及方法改进
2.1 误差原因分析
实际电网信号往往并不是简谐信号, 它具有如下特点: (1) 含有丰富的谐波分量; (2) 谐波分量的幅值一般仅为基波分量幅值的百分之几, 或更小。
当对电网信号进行非同步采样时, 基波分量的频谱泄漏将严重影响2次、3次等谐波分量的频谱, 从而导致谐波测量产生很大的误差。若相邻谐波之间的幅值相差过大, 幅值大的谐波分量同样有可能淹没幅值小的谐波分量。
在分析信号频谱的时候, 计算机只能处理有限长离散信号, 从而要求对连续信号在时域和频域作有限化和离散化处理, 以抽取有限个样本值进行计算。从频谱来看, 相当于用一有限长采样序列的傅立叶来近似无限长连续信号的频谱, 用离散傅立叶变换的级数来估计连续傅立叶变换的各项傅立叶积分系数, 这就不可避免地带来了误差, 具体的说, 傅立叶频谱分析时主要有以下几个问题: (1) 混叠失真; (2) 频谱泄漏; (3) 栅栏效应。
2.2 方法改进
2.2.1 采样间隔自适应调整为了减小误差, 我们还可以采用采样间隔的自适应调整。这种测量方法, 它是根据傅立叶变换和自适应调整采样间隔技术, 根据傅立叶变换从受到干扰污染的输入信号中抽取基波电压分量, 利用电压相角变化来测量系统频率。这种方法计算简单, 测量快速, 精度高, 测量范围大和易于实现, 而且避免干扰的影响。
为了提高频率测量的精度, 我们采用自适应调整采样间隔, 即采样间隔决定, T为实际频率的倒数, 于是式 (3) 变成:
经过这样处理后, 得到的频率测量值具有很高的精度。采用自适应调整采样间隔后, 可以解决固定采样间隔时出现的采样不同步误差, 保证频率变化时每周波均匀采样, 相当于用软件时间锁相电路的功能, 而硬件配置异常简单。
2.2.2 加窗的方法傅立叶算法可以通过加窗来减小频谱泄漏, 通过插值消除栅栏效应引起的误差。算法中, 窗函数的选择非常重要。通常频谱分析要求窗函数主瓣窄、旁瓣低且跌落速度快;不过对同一窗函数, 这几个要求很难同时满足。在信号处理时, 应根据信号特征和研究目的来选择窗。同时也应注意到, 不管是加任何窗函数还是增加采样长度 (即增加窗的宽度) 都只可能在一定程度上抑制泄漏误差和栅栏效应, 将误差减小到可以接受的程度, 不能完全消失它们所带来的误差。
加窗的方法具有很高的精度, 尤其是在以下两个方面:一是对于相位的计算, 傅立叶所算出的相位误差很大。而该方法使相位精度得到显著提高, 因而使得谐波分析、阻抗计算有了切实的依据。二是能够有效地抑制谐波之间, 或杂波及噪声的干扰。即使对于幅值较小的偶次谐波, 在傅立叶中经常被大幅值奇次谐波的泄漏所淹没。
为了抑制傅立叶算法存在的频谱泄漏现象, 需要为信号选择适当的窗函数进行加权处理。现在对信号进行加窗处理。
经过加窗后, 改进后可以编出算法程序。
3 算法仿真
本文在信号不含谐波、含有谐波、以及分别改变谐波含量和改变一个周波内的采样点数情况下, 经过仿真计算得到傅立叶算法和加窗后的傅立叶算法测频结果。
傅立叶算法和加各种加窗算法的误差图如下:
对于所加的5种窗中, 仿真结果来看, 误差比较大的是Blackman-Harris窗和Blackman窗, 而加汉宁窗、汉明窗和三角窗的误差比较小, 更适合测量实际电压信号的频率。
4 结论
频率是电力系统和电气设备的重要运行参数, 频率测量是电力系统和电气设备运行、监测、控制以及继电保护的基础。本文介绍了进行电力系统频率测量的一些常用方法以及它们适用的场合, 重点利用傅立叶算法实现了对频率的测量, 对其测量产生的误差进行了分析, 指出了傅立叶算法在非整周期采样的情况下会得到的信号参数有较大的误差, 该算法对测量信号的周期性要求较高, 并且存在栅栏效应和频谱泄露。文中通过介绍各种窗函数的时域表达式和函数表达式以及采样间隔自适应调整方法的基本原理后, 利用加窗来实现算法的改进, 理论分析和仿真结果表明, 加窗的傅立叶算法的测频方法, 精度高, 受谐波影响小, 算法程序实现简单。所加窗中, 汉宁窗、汉明窗和三角窗的误差比较小, 更适合测量该电压信号的频率。虽然改进的方法的测量精度有很大提高, 但是还是受到谐波的很大影响, 我们可以采用硬件滤波方式 (加入低通滤波器) 或者采用数字滤波算法来滤掉谐波。
摘要:频率是电力系统和电气设备的重要运行参数, 频率测量是电力系统和电气设备运行、监测、控制以及继电保护的基础。本文简单地介绍了测量电力系统频率的常用方法, 对如何利用傅立叶算法计算电力系统频率进行了详细说明, 以及对误差进行了分析。通过分析说明该算法选择适当的窗函数或者对采样间隔进行自适应调整可以满足高速、精确的测量要求。
关键词:频率测量,电压信号,窗函数
参考文献
[1]何仰赞, 温增银.电力系统分析[M].湖北:华中科技大学出版社, 2002.110-127.
[2]蔡邠.电力系统频率[M].北京:中国电力出版社, 1995.19-48.
[3]金福德, 黄乐.傅氏算法的滤波特性分析[J].继电器, 2005, 33 (21) :45-68.
[4]景宇.电力系统频率与电压管理及影响[J].四川电力技术, 2001, 2 (10) :48-57.
[5]胡艳婷, 李本藩.一种供安全自动装置用的新的频率测量算法[J].电力系统自动化, 1987, 11 (6) :55-58.
[6]肖遥.电力系统频率测量误差成因分析[J].电网技术, 2002, 26 (1) :39-42.
[7]谢小荣, 韩英铎.电力系统频率测量综述[J].电力系统自动化学报, 1999, 23 (3) :15-18.
高精度频率测量 篇2
课程名称:
控制理论(乙)
指导老师:
韦巍老师的助教
成绩:_________________ 实验名称:
典型环节的电路模拟 实验类型:
控制理论实验
同组学生姓名:
则系统的转折频率为fT3.3二阶系统
1=1.66Hz 2T
由图3(Rx=100K)可得系统的传递函数和方框图为:
n15W(S)0.2S2S1S25S5S22nSn22
n5,52551.12(过阻尼)2
图3 典型二阶系统的方框图
其模拟电路图为
图4 典型二阶系统的电路图
其中Rx可调。这里可取100K(1)、10K(00.707)两个典型值。当 Rx=100K时的幅频近似图如图5所示。
图5 典型二阶系统的幅频特性(1)
3.4无源滞后—超前校正网络
其模拟电路图为
图6无源滞后—超前校正网络
其中R1=100K,R2=100K,C1=0.1UF,C2=1UF
其传递函数为
(1R2C2S)(1R1C1S)(T1S11)(T2S1)
GC(S)
(5-5)(1R2C2S)(1R1C1S)R1C2ST1T2S2(T1T2T12)S1式中
T1=R1C1,T2=R2C2,T12=R1C2 将上式改为
G(S)(T1S1)(T2S1)
(5-6)(1S1)(2S1)对比式(5-5)、(5-6)得 τ1·τ2=T1T2 τ1+τ2=T1+T2+T12
由给定的R1、C1和R2、C2,求得T1=0.01s,T2=0.1s,T12=0.1s。代入上述二式,解得τ1=4.87×10-3s,τ2=0.2051s。于是得
T112T22,这样式(5-6)又可改等为β
(T1S1)(T2S1)
(5-7)
T1(T2S1)(S1)G(S)其幅频的近似图如图7所示。
图7无源滞后—超前校正网络的幅频特性
四、实验设备
THBDC-2型 控制理论·计算机控制技术实验平台;PC机一台(含“THBDC-2”软件)、USB数据采集卡、37针通信线1根、16芯数据排线、USB接口线。
五、实验步骤 5.1二阶系统
根据图5-7所示二阶系统的电路图,选择实验台上的通用电路单元设计并组建相应的模拟电路,如图8所示。
(1)当RX100K时:具体步骤请参考惯性环节的相关操作,最后的终至频率2Hz即可。
(2)当RX10K时:具体步骤请参考惯性环节的相关操作,最后的终至频率5Hz即可。5.2无源滞后—超前校正网络
图8 典型二阶系统的电路图
根据图9无源滞后—超前校正网络的电路图,选择实验台上的U2通用电路单元设计并组建其模拟电路,如图10所示。
图10无源滞后—超前校正网络(电路参考单元为:U2)
具体步骤请参考惯性环节的相关操作,最后的终至频率100Hz即可。5.3根据实验存储的波形,完成实验报告。
六、数据分析与处理 6.1二阶系统
(1)当RX100K时,直接从软件获得折线图如下:
转折频率约4.7 Hz(2)当RX10K时,直接从软件获得折线图如下获得折线图如下:
谐振峰值4dB,与谐振频率6.15Hz。6.2无源滞后—超前校正网络 直接从软件获得折线图如下:
七、实验结果与分析 7.1二阶电路
(1)当RX100K时的二阶电路 电路图为:
开环传递函数:
G(S)用Matlab绘制理论波特图,其输入程序如下:
S(0.2S1)
得到的图形如下:
Bode Diagram200Magnitude(dB)Phase(deg)-20-40-60-80-90-135-18010-110010Frequency(rad/s)1102
实验值与理论值基本相符,在误差范围内。理论转折点频率应为5Hz。(2)RX10K时的二阶电路 电路图为:
此时开环传递函数为
G(S)用Matlab绘制其波特图输入程序如下:
0.1S(0.2S1)
得到的波特图如下:
Bode DiagramGm = Inf dB(at Inf rad/s), Pm = 60 deg(at 8.66 rad/s)100Magnitude(dB)Phase(deg)-10-20-30-40-500-45-90-135-18010-110010Frequency(rad/s)1102
实验值与理论值基本相符,在误差范围内。理论谐振值为3.59dB,理论谐振频率为6.146Hz。2.无源滞后—超前校正网络 其模拟电路图为
其中R1=100K,R2=100K,C1=0.1uF,C2=1uF 则其传递函数为
GC(S)(1R2C2S)(1R1C1S)(T1S11)(T2S1)
(1R2C2S)(1R1C1S)R1C2ST1T2S2(T1T2T12)S1式中
T1=R1C1,T2=R2C2,T12=R1C2 将上式改为
G(S)对比式以上两式得
(T1S1)(T2S1)
(1S1)(2S1)τ1·τ2=T1T2 τ1+τ2=T1+T2+T12
由给定的R1、C1和R2、C2,求得T1=0.01s,T2=0.1s,T12=0.1s。代入上述二式,解得τ1=4.87×10-3s,τ2=0.2051s。即
G(S)(0.01S1)(0.1S1)
(0.00487S1)(0.2051S1)用Matlab绘制此时的波特图,输入程序为:
得到的图形如下所示:
Bode DiagramGm = Inf , Pm =-178 deg(at 3.73e+03 rad/s)2Magnitude(dB)Phase(deg)0-2-4-620100-10-2010-***4Frequency(rad/s)
理论值与实验值基本相符,在误差允许范围内。算得曲线对应的两个转折点频率应为10Hz与100Hz。7.3 误差分析
实验实测的BODE图与利用Matlab绘制的BODE图存在一定的误差,可能原因有:(1)实验搭建的模拟电路元件存在误差,导致传递函数与理论值不符,造成测量误差。(2)实验用信号发生器的频率测量存在误差。(3)信号采样过程中存在误差。(4)波特图读取采集点时存在误差。
八、实验思考题
8.1在实验中如何选择输入正弦信号的幅值?
答:先将频率调到很大,再是信号幅值应该调节信号发生器的信号增益按钮,令示波器的显示方式为信号-时间模式,然后观测输出信号,调节频率,观察在各个频段是否失真。
8.2用示波器测试相频特性时,若把信号发生器的正弦信号送入Y轴,被测系统的输出信号送至X轴,则根据椭圆光点的转动方向,如何确定相位的超前和滞后?
答:如果输入和输出信号交换输入的话,则判断超前和滞后的方法也要反过来,即顺时针时为滞后,逆时针时为超前。
8.3根据上位机测得的Bode图的幅频特性,就能确定系统(或环节)的相频特性,试问这在什么系统时才能实现?
高精度频率测量 篇3
关键词:高精度,微功耗,频率测量仪,ARM,Cortex,M0+
随着科学技术和计算机技术的快速发展, 频率的测量显得越来越重要, 测量频率的方法也日趋多样, 在测量性能提升的同时, 设计的成本与复杂度也不断提高。而频率测量仪器功能也从单一的频率测量, 变得更丰富。
该文所设计的频率测量仪选用通用的集成前端处理电路, 从超低功耗高精度着手, 其核心控制模块为当前最新推出的微功耗ARM Cortex M0+处理器, 主要是利用其多路高速定时器/计数器功能完成在单位时间内频率的计算工作, 并利用信号整形和放大电路完成对待测信号的处理。测量得到的值, 采用动态显示的方式通过LED显示器显示出来。
1 基于Cortex M0+ 的功能模块电路设计
Cortex M0+控制模块、LED数码管显示器模块、信号发生与调理模块、计数模块、电源模块等构成了数字显示的频率测量仪。
高精度频率测量仪, 需要自制信号源, 并能够正常输出正弦波、方波、三角波, 故选用精密函数发生器ICL8038。
该设计使用LED显示电路, 频率计数显示要精确到小数点后面2位, 因此需要有4个LED显示器, 又综合考虑CPU的处理速度和电源的使用效率等其它因素, 该设计的频率测量仪采用动态显示方式, 该设计的计数电路由74LS290构成。
信号的放大、整形电路是将其他信号如正弦波、三角波信号转换成脉冲信号, 这个功能是靠施密特触发器或者单稳态触发器来完成的。
该电路使用集成芯片LTC3638、CN302实现电源充放电的管理, 对锂电池进行充电, 锂电池的饱和电压为4.2 V。通过设置LTC3638的外围电路将LTC3638的输出电压设置为4.2 V。
2 基于UC/OS II的嵌入式软件设计
2.1 软件设计规划
2.1.1系统移植
该设计将在MCU中移植UC/OS II (Micro Control Operation System Two) , 进行任务调度, 实现实时2路频率的测量、显示。
2.1.2信号处理
频率计开始工作以及频率测量的过程, 需要对程序进行初始化操作。除了包含中断控制初始化和定时器/计数器控制模式初始化过程外, 还包括初始化堆栈指针 (SP) 和通用工作寄存器。
2.1.3中断控制
中断控制是当CPU执行相应的程序, Cortex M0+接收到中断源的中断响应信号, 使Cortex M0+停止当前任务, 执行能够引起响应的中断服务程序, 当中断服务程序执行完毕后, 回到刚才暂停程序的位置, 继续执行相应的程序。
2.2 系统资源
Cortex M0+处理器采用了三级流水线的冯·诺伊曼结构 (Von Neumann architecture) 。它是基于一个32位处理器的内核, 特点是集成度高、而且功耗非常低。
2.3 系统移植
2.3.1 Cortex M0+的启动代码
启动代码包括:初始化堆栈, 初始化异常向量表, 定义异常入口函数及复位异常响应代码。
2.3.2 Systick启动
在移植系统之前, 我们需要先启动Systick异常, 启动的目的是为系统提供一个可以使系统能够处理延时或者超时等与时间有关的事件的周期性的信号源。
(1) Systick使能与优先级分配。
在内核启动之后, 可进行Systick异常的使能和优先级分配。
(2) Systick异常处理函数。
Systick异常处理函数每次响应时都调用了OSTime Tick。OSTime Tick做了两件事情:一是给OSTime加1, 二是将等待任务的剩余时间值减1, 并将等待时间为0的任务进入就绪状态, 运行其最高优先级任务。
2.3.3 OS初始化和启动
在OS启动时, 需要根据内核的不同进行任务堆栈的初始化, 多任务的启动。
(1) 任务堆栈初始化。
(2) 多任务的启动。
(3) MSP与PSP切换。
2.3.4 任务切换
(1) 任务切换函数OSCtx Sw。
任务切换函数OSCtx Sw作用就是保存被中止运行任务的断点和恢复待运行任务的断点并启动它。因此这个函数中主要是一系列的压栈和出栈操作。
(2) 中断任务切换函数OSInt Ctx Sw。
OS在完成中断服务程序后, 并不一定回到被中断的任务, 而是进行一次中断调度来决定是返回被中断任务还是调用一个更高优先级任务。而此刻函数OSInt Ctx Sw是用来完成任务切换工作。该函数一般用在中断服务程序的末尾, 它的作用是用来保护被中止运行程序的断点, 如果已经在中断服务程序的前段完成了此工作的话, 那么它的工作只是恢复待运行任务的断点。
2.4 多中断处理
(1) 优先级定义。
(2) 中断编号定义与中断使能。
(3) 优先级分配。
(4) 多中断响应程序编写。
(5) 多中断响应问题小结。
①中断响应启动Hard Fault_Handler异常。
②中断嵌套后并未返回运行系统。
2.5 应用层总体设计
本设计其主程序流程图如图1所示。
2.6 部分关键子程序算法
2.6.1 中断检测
可采用同步法测量。
2.6.2 数码转化
因为Cortex M0+测量频率的结果是以10进制的形式显示出来的, 但是测量的数据是以2进制的形式计算, 并以16进制的形式存储在RAM里的, 所以在显示之前还需要将数据进行转换。
2.6.3 数码显示
显示程序分为7种模式, 分别对应6组不同数据范围的高位或低位消隐, 以及一种错误模式显示。display00子函数为小数点后两位显示程序, 当测量数据小于1 000时, 对小数显示程序进行调用, 使测量结果显示两位小数。
为了确保系统能工作正常, 就要对电路重要部分仿真, 即我们把波形整形电路、分频电路进行了仿真, Proteus软件是非常好的Cortex M0+的仿真软件。我们采用安捷伦33 500B任意波形发生器作为标准信号输入, 进行系统测量精度的测试, 最后我们还要进行误差分析、系统噪声控制、系统功耗分析。
参考文献
[1]史坡, 廉德宇, 沈昱明, 等.一种精确频率测量仪设计[J].仪器仪表学报, 2006, 27 (S2) :1532-1533.
[2]何铮, 周娜.智能家居基于Cortex M3/M0的感知与控制子网设计[J].单片机与嵌入式系统应用, 2014 (12) :25-27.
[3]朱锦明.基于Cortex-M0+内核的KE02微控制器的应用研究[D].苏州大学, 2014.
高精度频率测量 篇4
在当今工业应用中, 时常需要对流量、转速、编码器以及其他经过参变量-频率转换后的信号进行测量。对于这些以频率为参数的被测信号, 通常采用测频法或测周法。当被测信号频率较低时采用测周法, 当被测信号频率较高时则采用测频法。测频法或测周法只能对频率范围的两头频率实现较高精度的测量, 而对于中间频率或变化范围较大的频率, 很难满足在整个频率变化范围内都达到所要求的测量精度。而如果要求只使用一种测量方法对频率变化范围较大的信号都能达到同样的精度, 就只能采用等精度频率测量技术。但等精度频率测量技术在实现过程中需要的硬件开销大, 同步电路结构复杂, 易造成误触发, 可靠性不高, 且固定闸门时间在宽范围输入频率信号测量时会造成响应时间和测量精度两项指标无法兼顾的矛盾。本文提出一种自动分频法宽量程测频技术, 该技术是对等精度频率测量技术的进一步改进, 充分利用单片机ATMEGA162硬件资源及其软件判别功能, 根据被测频率的大小, 自适应地选择相应的分频因子, 以达到在整个测量频率范围内闸门时间的最优化, 同时满足测量准确度和速度的要求。
1 等精度测量技术
等精度测量技术采用频率准确的高频信号作为标准频率信号, 保证测量的闸门时间为被测信号的整数倍, 并在闸门时间内同时对标准信号脉冲和被测信号脉冲进行计数, 实现整个频率测量范围内的测量精度相等, 当标准信号频率很高, 闸门时间足够长时, 可实现高精度的频率测量, 该方法又称为M/T法测速。M/T法的测量原理图如图1所示。
测量开始时, 先打开预设闸门信号, 当检测到被测信号fx脉冲上升沿到达时才开始对标准频率f0计数。预设闸门信号关闭时, 计时器并不立即停止计数, 而是待检测到被测信号fx脉冲上升沿到达时才停止计数, 完成测量信号整数个周期的过程。测量的实际闸门时间与参考闸门时间可能不完全相等, 但最大差值不超过被测信号fx的一个周期。
由图1, 不难推导出被测信号频率值:
式中, Nx为闸门时间内被测信号的脉冲数, N0为闸门时间内标准频率的脉冲数, f0为标准频率值, fx为被测频率值。
在测量中, 由于fx计数的起止时间都是由该信号自身的上升沿触发的, 在实际闸门时间T内对fx的计数值Nx无误差, 但对标准频率f0的计数N0存在±1的误差, 即△N0≤1。
被测信号fx的准确频率值:
被测信号fx的相对误差:
若忽视标准频率f0的误差, 并将式 (1) 和式 (2) 代入式 (3) , 整理得:
由式 (4) 可以看出, 测量频率的相对误差仅与闸门时间T和标准信号频率f0有关, 与被测信号频率fx的大小无关。闸门时间T越长, 标准频率f0越高, 测量的相对误差就越小。标准频率一般由稳定度好、精度高的高频率晶体振荡器产生。在保证测量精度不变的前提下, 提高标准信号f0频率, 可以缩短闸门时间T来提高测量速度。
2 等精度测量法的改进
等精度测量法的核心思想是通过闸门信号和被测信号同步, 将闸门时间T控制为被测信号fx的整数倍, 其测量精度主要与闸门时间T和标准频率f0相关。在某一实际应用中, 通常都需要在一个测量循环中测量多个被测信号脉冲 (Nx≥1) 来提高测量数据的稳定性, 同时标准频率的频率值f0一般来说是固定的, 因此提高测量精度的途径主要通过适当提高闸门时间T。
为了保证被测信号能被准确测量, 闸门时间必须要大于等于被测信号周期。若输入0.1Hz频率的信号, 要求闸门时间最短为10s。若输入100k Hz频率的信号, 则闸门时间最快只需10μs。如果在设计中采用固定的闸门时间, 例如10s的门控信号, 则测量高频信号时等待时间太长, 数据刷新率太慢, 显然不符合当今工业应用对高响应时间的需求。如果采用10ms的闸门时间, 则无法实现对100Hz以下频率的测量, 同时在具体实现过程中由于单片机时常存在中断响应、中断嵌套等现象, 对标准频率f0的计数值N0的误差ΔN0往往大于理论值1, 严重的计数误差甚至会达到10个, 此时对于高频信号的精度影响将超出设计的精度要求。这时就需要增加闸门时间来增加N0的样本数, 减弱ΔN0所引入的误差对测量精度的影响。综上所述, 若选取的闸门时间太大, 将增大系统响应时间;若闸门时间太短, 将影响测量精度。
为了解决上述矛盾, 本文将对闸门时间进行了改进, 消除固定闸门时间带来的不足, 根据各频率段自适应选择最优的时限闸门, 实现对宽范围输入信号的高精度测量。同时, 利用单片机ATMEGA162自身的硬件资源, 实现闸门信号打开时间、计数器开始计数时间与被测信号fx的上升沿时间同步, 取消了外部同步电路。自适应等精度测频的工作过程分为粗测和精测两步。测量开始时首先测量一个被测信号周期Tx时间内获得的标准频率计数值N0, 根据获得的数据利用公式 (1) 计算出被测信号频率值。若输入信号频率较低, 则粗测的精度已能满足设计需求, 不再进行第二次测量;若输入信号频率较高, 则通过查表的方式根据测量结果自适应调整分频因子, 即动态调整闸门时限的长短, 保证在合理的响应时间内获得较高的测量准确度。
3 基于ATMEAG162的等精度测量法的实现方式
3.1 硬件实现方式
ATMEGA162是ATMEL公司旗下的高性能、低功耗的8位AVR微处理器, 具有两个带预分频器、比较功能和捕捉功能的扩展16位定时器/计数器。在本系统中采用5MHz晶振给单片机提供时钟源, 即f0=5MHz。外部中断INT1用于接收未经分频处理的输入信号。利用INT1的外部中断来同步计数器和闸门打开/关闭时间, 上升沿有效触发。单片机内部计数器T0计算在两次INT1中断期间标准时钟f0的周期数, 并根据公式 (1) 计算出频率值。由于只采样了被测信号fx的一个周期, 对于高频输入信号来说测量精度较差, 必须根据粗测的结果通过查表来确定对应的分频系数, 将输入信号2n次分频后再次采样计算。单片机的I/O口PB0, PB2, PB3, PB4用于控制分频器74HC294的分频系数。分频器的输出端Q接入单片机ATMEGA162的输入捕获端ICP1, 利用两次输入捕获中断期间采样的时钟脉冲数来测量输入信号频率。硬件电路连接如图2所示。
3.2 软件实现方式
软件主要利用外部中断INT1和输入捕获中断ICP1来同步闸门时限与计数器, 同时利用单片机16位定时器/计数器T0对标准频率脉冲数进行计数。由于计数器对分频电路输出信号计数值N0的最大值有可能远大于65535, 但定时器/计数器T0的最大计数值仅为65535, 所以设计中采用软件计数容量扩展的方法。利用单片机内部定时计数器T0的溢出中断, 作为计数容量扩展的进位信号, 当定时器/计数器T0溢出中断触发时, 计数溢出标志位自动增1。测频算法的简化软件流程如图3所示。
当粗测开始时, 首先打开外部中断使能INT1, 上升沿有效, 当输入信号fx的第一个上升沿脉冲到达时, 打开定时器/计数器T0开始对时钟频率进行计数, 当外部中断INT1再次触发时, 定时器/计数器T0关闭, 同时关闭INT1中断使能, 计算时钟频率计数值N0, 并根据公式 (1) 计算被测信号频率:
若被测频率fx≤110Hz, 该测量值由于积累了足够数量的N0, 测量结果完全满足≤0.025%的精度要求, 因此该测量值直接作为精确值参与到后端参量的计算与控制输出, 此次测量结束;若被测频率fx>110Hz, 则根据粗测值进行查表, 选择相应的分频系数, 由I/0输出控制分频器对输入信号fx进行分频输出。精测时以经分频后的信号作为输入信号进行采样。
当精测开始时, 打开输入捕获中断ICP1, 上升沿有效, 当经2n次分频后的信号触发中断时, 打开定时器/计数器T0开始对时钟频率进行计数, 当输入捕获中断ICP1再次触发时, 定时器/计数器T0关闭, 同时关闭ICP1中断使能, 计算时钟频率计数值N0, 并计算被测信号频率:
4 分频系数的选择与计算
设N0为单片机内部定时器/计数器0对分频电路输出信号的计数值, 2n为分频电路的分频因子, T0为单片机内计数时钟的周期, 它是单片机时钟周期, fx为被测信号的频率值, 则测量电路中,
对式 (7) 求导即为被测信号频率的相对误差,
式 (8) 中, 等号右边的第二项误差称为时基误差, 该误差取决于单片机内部时钟的稳定度, 当采用晶体振荡器时可以不考虑。第一项为计数器的相对量化误差, 该项误差的大小主要取决于N0的取值。
根据式 (7) 还可以得出定时器/计数器对分频电路输出信号的计数值的公式:
根据式 (7) , 式 (9) 可知, 分频因子2n越大, 计数值N0也越大, 量化误差的影响就越小, 但公式 (9) 还表明, 分频因子2n越大, N0的值就越大, 这样就给计数器的计数带来困难, 另外也影响测量的速度。所以, 必须根据测量准确度的要求以及测量信号频率的大小, 合理地选择分频因子。
根据对频率测量准确度≤0.025%的要求, 即ΔN0/N0≤2.5×10-4, 则单片机内部定时计数器对被测信号的计数值N0不能小于4000。本系统使用的单片机的内部时钟为5MHz, 则标准时钟周期T0=2μs。本仪器设计中分频电路的分频因子为2n (2≤n≤14, n取整数) , 利用式 (9) , 计算在不同分频因子下的被测频率信号的计数值, 如表1所示。
表1中的计算计数值表明如果仅仅选择一种分频因子, 在高频率测量范围内, 计数值满足准确度要求时, 在低频率测量范围速度过慢, 不满足要求;在低频率测量范围速度满足要求时, 在高频率测量范围内, 计数值不满足测量准确度的要求。为了同时满足低频和高频的测量速度和准确度指标, 需要根据不同的输入频率值选择不同的分频因子, 如表2所示。
在表2中, 可以看到, 经过对不同输入信号采取不同分频系数后, 测量的频率值的误差范围都很小, 测量采样时间均控制在50ms以内, 后期采集的实验数据也与理论分析相符合。
5 结束语
本文主要提出了自适应等精度测频法, 通过粗测和精测两次测量, 实现了在0.1Hz~100Hz宽频率范围内高精度的测量, 测量精度误差可保证控制在0.025%之内, 测量响应时间≤100ms (输入频率≥10Hz时) , 设计中只使用了单片机ATMEGA162和分频器74HC294, 充分利用单片机的内部资源、成本低、性能可靠、准确度高、响应快、硬件电路简单的优点, 是一种比较实用的频率测量方法。该算法和硬件电路在频率测量安全栅上已有了成熟的应用, 在精度、可靠度和响应时间等性能指标方面都满足了市场的需求。
参考文献
[1]ATmega162 (V) Complete[EB/OL].http://www.atmel.com/Images/Atmel-2513-8-bit-AVR-Microntroller-ATmega162_DatasheetSummary.pdf.
[2]朱雪枝, 王学伟.自动分频法宽量程频率测量技术及实现[J].北京化工大学学报, 2004, 31 (1) :91-94.
[3]白海成, 陈星, 郝刚, 等.智能等精度频率计的设计与实现[J].微处理机, 2005 (6) :87-93.
[4]杨潇, 翟玉文, 艾学忠.基于CPLD和VHDL的等精度频率测量[J].吉林化工学院学报, 2004, 21 (3) :49-61.
[5]李锶, 刘先文, 段日文.一种改进型等精度宽频频率计的设计[J].湖南理工学院学报:自然科学版, 2007, 20 (2) :53-56.
[6]汪首坤, 林波涛, 王军政.自适应等精度频率测量方法与实现[J].传感技术学报, 2007, 20 (2) :346-349.
一种高精度直接数字频率合成方法 篇5
关键词:直接数字频率合成,GNSS秒脉冲,电阻网络,快速修正
0引言
船载中高频 (MF/HF) 组合电台设备中需要同时产生多路高精度本振信号, 传统的模拟压控振荡器 (Voltage Control Oscillator, VCO) 本振方式存在频率固定和生产调试复杂度高等问题, 采用货架DDS芯片直接产生则需要多个DDS芯片, 成本较高, 且以上2种方式都需要一个高稳定度的晶振才能满足苛刻的频率容限要求。为了兼顾成本、频率产生灵活性和高稳定度, 在电台设计中利用FPGA多余的资源, 实现基于FPGA的DDS专用模块, 并利用中高频组合电台自带的GNSS导航定位模块输出的高精度秒脉冲信号, 对DDS模块的步进相位进行修正, 并利用电阻网络实现D/A数模转换, 产生出频率稳定度优于1 Hz的本振信号。
下面简要介绍基于FPGA的直接数字频率合成器设计方法, 重点阐述GNSS秒脉冲信号对DDS模块的修正方法, 以及修正后的数字信号如何经过倒T型电阻网络转换成模拟信号输出, 最后给出设计实现结果。
1基于FPGA的直接数字频率合成器
直接数字频率合成器是通过相位累加方式直接合成所需波形的一种新的频率合成技术[1]。不同于传统锁相环结构需要经过环路滤波进行频率调整和锁定过程, DDS方式具有建立时间快、转换时间快、频率精度高和频带宽等特点[2,3]。因此, 直接数字频率合成技术在移动通信、高清电视 (HDTV) 和无线WI-FI等领域如中得到广泛的应用。一个典型的DDS结构如图1所示。
由图1可以看到, DDS由控制器、频率控制字、相位累加器、正弦查找表、数模转换器和低通滤波器组成, 其中数模转换器和低通滤波器在FPGA外部实现。其工作原理如图2所示。
将正弦波的一个周期与图2极坐标上的单位圆对应起来, 圆周上点的角度对应正弦波的相位, 圆周上点在Y轴方向上的值是正弦波的幅度。按照奈奎斯特采样定律, 一个连续正弦波可以由一组间隔固定相位的离散点组成。所以, 按照某一个角度增量以逆时针方向周期性选择圆周上的对应点, 就能得到某个频率的正弦波。其角度增量的大小决定了正弦信号的频率, 初始相位决定了正弦信号的相位。在FPGA实现时, 相位累加器完成相位的累加, 每溢出一次代表正弦信号的一个周期, 每次的累加值即量化后的频率控制字, 累加器输出结果通过对应的正弦查找表得到正弦信号的幅度值。
用N比特表示相位, M比特表示幅度, W为N比特频率控制字的值, 则DDS输出的正弦信号频率fout为:
fout=W×fclk/2N
fclk为时钟频率, 最小频率精度为:
Δf=fclk/2N。 (2)
这里DDS模块设计中, 频率控制字量化精度N为32 bits, 工作时钟300 MHz, 最小频率精度0.07 Hz。M取12 bits, 正弦查找表采用1/4周期存储表。
2GNSS秒脉冲修正方法
国内外已有许多关于GNSS精确秒脉冲修正频率稳定度的研究[4,5], 主要利用GPS秒脉冲检测晶振频率准确度, 并通过D/A电路转换为电压量控制压控晶体振荡器, 微调晶体的频率, 这些方法只能输出固定频率, 调整速度慢。这里采用的方法是将GNSS秒脉冲信号和授时数据引入FPGA芯片, 通过对晶振频率计数实时计算并调整DDS频率控制字, 使得DDS的输出频率稳定在设定值上。将上述DDS模块加入GNSS秒脉冲修正后的框图如图3所示。
秒脉冲有效性检测模块通过GNSS的授时数据判定当前GNSS秒脉冲的有效性, 若数据有效, 则将有效标志输出至DDS频率控制字计算模块, 以判定此时DDS频率控制字计算有效。当秒脉冲上升沿检测模块检测到秒脉冲上升沿, 计数器对晶体频率开始计数, 检测到下一个秒脉冲上升沿后停止计数, 计数值即为晶体振荡器频率, 将其存入结果锁存器。计数器可以采用多次计数取移动平均值的方法减小测量误差。DDS频率控制字计算模块根据标称频率值和晶体振荡器频率计数值进行计算, 将修正后的DDS频率控制字输出至相位累加器, 从而修正DDS的输出频率。
由于DDS模块输入频率源为晶体振荡器, 所以其输出频率的误差与晶体振荡器的误差相关。计数器及结果锁存器在准确的GNSS秒脉冲信号周期下得到的晶体振荡器频率计数值, 可以用来对DDS输出频率的误差进行修正。假定期望DDS的输出标称频率为F0, 计数器及结果锁存器实际测得的晶振频率为Fc, DDS内部工作时钟为晶振时钟的N倍频, 则归一化的频率控制字为:
FTW=2π·F0/ (Fc·N) 。 (3)
式中, 2π表示一个周期。
设DDS相位累加器的位宽为M, 将2π以2M量化, 则实际的频率控制字为:
W=round (2M·F0/ (Fc·N) ) 。 (4)
式中, round表示取整数。
显然, 在接收到的GNSS授时数据有效的情况下, DDS输出频率每秒都能得到修正, 并且由于DDS芯片的工作特点, 其修正效果立即在DDS输出频率上得到体现, 从而获得了对期望的DDS输出标称频率开环直接修正速度快、精度高的有益效果。
3倒T型电阻网络D/A转换器
修正后的DDS输出的是一个M位二进制数, 需要经过数模转换生成可用的模拟频率信号。倒T型电阻网络是应用最多的一种D/A转换器。
n位倒T型电阻网络D/A转换器的原理图如图4所示。由图中可以看出, 解码网络电阻只有2种:即R和2R, 且构成倒T型, 故又称为R-2R倒T型电阻网络DAC, 其中S0~Sn-1为模拟开关。
模拟开关Si由输入数码Di控制, 当Di=1时Si接运算放大器反相端, 电流Ii流入求和电路;当Di=0时, Si则将电阻2R接地。根据运算放大器线性运用的“虚地”的概念可知, 无论模拟开关Si处于何种位置, 与Si相连的2R电阻均将接 “地” (地或虚地) 。依次类推, 这样, 流经2R电阻的电流与开关位置无关, 为确定值。分析R-2R电阻网络可以发现, 从每个节点向左看的二端网络等效电阻均为R, 流入每个2R电阻的电流从高位到低位按2的整数倍递减。设基准电压源电压为VREF, 则总电流为I=VREF/R, 则流过各开关支路 (从右到左) 的电流分别为I/2、I/4、… I/2n-1、I/2n。于是可得到各支路的总电流为:
输出电压为:
式 (6) 表明, 对于在图4电路中输入的每一个二进制数, 均能在其输出端得到与之成正比的模拟电压。倒T形电阻网络由于流过各支路的电流恒定不变, 故在开关状态变化时, 不需电流建立时间, 所以该电路转换速度快, 尖峰脉冲干扰较小, 是使用最广泛的一种D/A转换器。
4设计实现
在电台设计中实现了这里所描述的一个频率合成器。其中DDS采用Altera公司的CycloneIII系列的FPGA, 型号EP3C5, 编程语言为Verilog, 采用50 ppm的普通有源晶振。如上所述, 正弦查找表输出是12位二进制数, 综合考虑体积和精度, 选择高8位作为电阻网络的开关信号, 将对应FPGA输出IO接图4所示的电阻网络的D0~Dn, 这里n取8。产生1 MHz频率信号时的频谱分析图如图5所示。
如图5所示, 测得的中心频率点1的频率分辨率精确到0.001 Hz, 旁瓣与主瓣相差-74.44 dB, 完全可以满足10 Hz的频率稳定度要求。
5结束语
上述依据GNSS接收机模块的1PPS秒脉冲输出精度能达到ns量级这一特性, 将其用于直接数字频率合成器实时修正, 并利用倒π型电阻网络转换输出。验证系统实测结果表明, 该方法产生的频率精度高、频率设置灵活、转换速度快, 对于船载中高频电台这类频率较低的应用场合, 完全可以满足信号调制或解调对本振频率的需求。
参考文献
[1]CARDOSO R O R, RIBEIRO J A J.Direct Digital SynthesizerUsing FPGA[C].Sao Paulo, BRAZIL:Global Congress onEngineering and Technology Education, 2005:290-293.
[2]唐长文, 闵昊.一种高速直接数字频率合成器及其FPGA实现[J].微电子学, 2001, 31 (6) :451-454.
[3]郭军朝, 王森章.一种高速低功耗直接数字频率合成器的设计与实现[J].微电子学, 2004, 34 (5) :572-574.
[4]崔建利, 王彦君, 高颉, 等.一种利用GPS定时脉冲调整晶振频率准确度的方法和系统[P].中国:200610086701.7, 2007.12.19.
一种高精度频率合成器的设计 篇6
在微波中继传输、卫星通信、移动通信、远洋通信和无人飞行器远程测控等高端通信系统中, 上下行通信系统信道设计的关键是信息指令实时、准确、安全可靠的传输。频率源作为信息收发系统中的关键部件, 对其提出了越来越高的设计要求, 不但要能满足宽的频率范围、高的频率稳定度和准确度, 而且要求其具有良好的杂散和相位噪声性能以及快速的频率切换功能[1,2]。
在现代通信系统中收发部分的频率源一般都采用锁相频率合成技术。一般的锁相频率合成器中, 程序分频器的分频比为整数N, 合成器输出频率最小间隔为鉴相频率FPFD[2]。对频率合成器而言, 一般频率间隔应越小越好, 然而由于锁相系统中鉴相频率的限制, 当鉴相频率较低时, 环路滤波器的设计难度和实现成本都将加大, 而系统为实现快速锁相功能, 反而要求鉴相频率越高越好, 造成了系统性能要求与鉴相频率选择之间的矛盾。在工程中解决这一问题的方法有两种, 一种是直接数字频率合成器DDS, 另一种是采用具有小数分频功能的锁相环芯片。在DDS中虽然具有小频率分辨率和捷变频的优点, 但是受到数字器件工作速度的限制, 它的输出频率低且杂散不易控制[9,10]。利用小数分频锁相频率合成技术, 它可以在选择高鉴相频率的情况下, 实现小频率步进, 从而解决了高频率分辨率与高鉴相频率之间的矛盾, 实现相位噪声的优化[7,8]。美国ADI公司的锁相环芯片ADF4193 具有环路快锁和小数分频特性, 输出频率高, 使用便捷, 适合用在通信系统信道的频率源中[11]。
在已往的文献中对于ADF4193 芯片的设计主要集中于接口和试验模拟的介绍与说明, 而对于其具体的工程设计流程与应用缺乏细致的分析与讨论, 本文在工程应用的背景下基于ADF4193 模块设计出一款L波段通信发射机的本振源模块, 文中详细讨论了系统的构建方式与设计流程, 实测结果表明, 本振源模块相位噪声性能得到明显提升, 同时具有锁定速度快, 稳定度高等优点。
2 系统构建框架
2. 1 系统设计思想
如图1 所示, 整个系统由参考信号, 频率合成电路, 外围控制电路及信号输出电路等四个主要部分构成。在设计中要求发射机主振源工作在1680~ 1780MHz, 以1MHz步进。频率稳定度要求优于6ppm, 频率准确度优于2ppm, 相位噪声优于-95d Bc / Hz /20k Hz。由于系统要求的频率分辨率低且相位噪声要求高, 而以往同样1MHz频率步进采用整数分频方案时, 相位噪声为- 90d Bc /Hz/20k Hz[9,10], 达不到系统要求, 所以选择小数分频方案。在参考频率为10MHz时, 鉴相频率同样可以选择10MHz, 而不受制于1MHz的频率步进。在外围控制电路中上位机 ( 测控计算机) 和单片机之间采用异步串行通信, 由测控计算机发送变频指令, 单片机接收指令来切换频率, 同时将锁定检测信号回送给测控计算机。
2. 2 系统硬件选取
如图1 所示, 核心锁相环芯片采用ADI公司小数分频芯片ADF4193[11]。ADF4193 典型特点为小数分频、快速锁定、拥有优良的相位噪声性能。其合成频率范围为400MHz ~ 3. 5GHz, 带有三线串行接口, 只要外加环路滤波器和VCO后即可组成一个完整锁相环, 其内部的开关可以保证PLL的锁定时间。
整个系统中的其它芯片选择为: 参考晶振选用RFX公司10MHz温补晶体振荡器, 温度稳定度指标为最大 ± 2ppm; 单片机采用ATMEL公司20 脚芯片AT89LP4052; VCO采用十三所L波段缓冲隔离压控振荡器; 电平转换采用ADM3202ARU。
3 硬件电路设计
根据上述系统方案设计, 在硬件设计中主要进行单片机接口电路设计和环路滤波器设计。
3. 1 单片机接口电路设计
如图2 所示, 单片机AT89LP4052 和PLL芯片ADF4193 通过三线串行口CLK、DATA、LE进行通信, 配置ADF4193 的8 个寄存器, 从而使芯片进入正常的工作状态。MUX可向单片机回传锁定状态。
寄存器配置方法为: ADF4193 串行接口部分包括一个24 位移位寄存器, 数据在每个CLK的上升沿按高位优先的顺序送入移位寄存器, 并在每个LE的上升沿再从移位寄存器送入8 个目标寄存器R0~ R7其中之一。8 个目标寄存器的选择取决于移位寄存器的控制位C1、C2、C3。根据频率输出公式
配置相应的寄存器。其中R0配置INT及FRAC值, R1配置R分频器和MOD值以及分频倍频选择, R2配置相位值, R3为功能选择, R4为电荷泵数据设置寄存器, R5为系统供电掉电模式选择, R6为输出多路器, R7为检测模式。
3. 2 环路滤波器设计[1,2,4,6]
环路滤波器是锁相环频率合成器设计中的一个最重要的环节, 其参数的合理设计直接关系到频率合成器输出信号的杂散、相位噪声、稳定度及频率转换时间等多项指标, 间接的影响通信系统的载波质量、发射和接收信噪比、接收灵敏度及通信距离等。
如图3 所示, 环路滤波器采用有源二阶低通滤波器, 运放采用OP184。实际设计中, 有源比例积分滤波器需要确定参数R1、R2、C, 在已知Kv、Kφ和N的情况下, 令C为常数, 则环路参数计算公式为:
其中fn为环路带宽, Kv为VCO调谐灵敏度, Kφ为鉴相增益, ξ 为阻尼系数。本设计Kv= 17MHz / V, Kφ选取0. 4 V/Rad, 根据公式即可计算出环路参数。本设计对环路参数进行了大量的对比试验, 表1 为其中一部分试验数据。
在设计过程中发现增大R1可减小纹波, 同时阻尼系数 ξ 小则环路容易自激, 而 ξ 大则环路锁定慢。综合考虑频谱质量, 相位噪声以及锁定时间, 最终确定第6 组参数为此主振源最佳环路滤波参数。
4 软件设计
4. 1 系统软件流程
系统软件流程如图4 所示, 初始化后, 首先进行初始频率的计算, 使系统在默认频率下工作。系统工作稳定后再根据需要进行变频操作, 使系统可工作在设定的任意频点, 同时回报锁定检测数据。
4. 2 寄存器配置及数据传送流程
根据系统方案设计, 本设计的参考频率为10MHz, 那么鉴相频率FPFD可以选择最大值10MHz, 主振源以1MHz频率步进。根据公式 ( 1 ) , 经过比对分析, 考虑到系统设计的便捷性, 本设计选用MOD = 100, 设为定值, FPFD= 10MHz, 起始频率为1680MHz, 变频时测控计算机向单片机发送频率增量 Δx , 那么
其中Z (Δx/10) 表示取整数部分, Y (Δx/10) 表示取余数。实际配置时, R1~R7寄存器内容为定值, 变频时, 只需配置R0寄存器, 根据测控计算机所发频率增量, 根据公式实时计算INT及FRAC值。数据送入移位寄存器及从移位寄存器送入8个目标寄存器的软件设计流程图如图5所示。
5 测试结果与分析
根据以上所述系统结构及软硬件设计法, 研制出的主振源所测实际频谱如图6 所示, 图6 ( a) , ( b) 为1697MHz和1780MHz的频谱图, 可以看出频率源杂散几乎不可见。图6 ( c ) , ( d ) 为频点1690MHz和1760MHz的相位噪声测量图, 可以看出相位噪声分别为- 102. 40d Bc /Hz/20k Hz, - 102.51d Bc / Hz /20k Hz, 其结果远高于采用整数分频锁相环的相位噪声 ( 一般实现值为- 90d Bc /Hz/20k Hz) , 因此采用该设计时系统的相位噪声得到了明显优化。
根据测试结果, 本主振源在频点1730MHz实测的频率准确度和稳定度分别为0. 26ppm和0.85ppm, 达到了系统指标要求。
6 结束语
在本系统的设计中, 我们提出了一种基于ADI公司开发的高精度锁相环芯片ADF4193 搭建的频率合成系统。根据对系统的工程调试及实际使用, 结果表明本主振源杂散小, 相位噪声性能良好, 满足了系统各项指标和发射机的使用要求。
参考文献
[1]张厥盛.锁相与频率合成技术[M].成都:电子科技大学出版社, 1995年.
[2]张厥盛, 张会宁, 刑静.锁相环频率合成器[M].北京:电子工业出版社, 1997年.
[3]孙尉恒.小数频率合成源技术研究[D].成都:电子科技大学硕士学位论文, 2003年.
[4]杨远望.高性能频率合成技术研究与应用[D].成都:电子科技大学博士学位论文, 2007年.
[5]高立俊.基于ADIsimP LL3.1的锁相环环路滤波器设计[J].现代电子技术, 2013, 35 (15) :56-58.
[6]李泽鹏, 高玉良, 张路, 王运泽.有源二阶锁相环路滤波器设计[J].空军雷达学院学报, 2011, 25 (3) :192-195.
[7]王芳, 阔永红.小数分频与快锁芯片ADF4193的原理与应用[J].新特器件应用, 2008, 10 (5) :1-3.
[8]祝亮.基于ADF4193的UHF频率合成器设计[J].专题技术与工程应用, 2010, 40 (2) :44-47.
[9]陈科.基于DDS_PLL技术频率合成器的设计与实现[J].研究与开发, 2010, 29 (4) :43-47.
[10]蒋涛.一种基于DDS_PLL结构的频率合成器的设计[J].电子测量与仪器学报, 2009, 23 (10) :91-95.
一种高精度单频信号频率估计算法 篇7
频率估计是信号参数估计中的经典问题, 目前国内外已经提出了不少方法, 其估计方法主要分为以自回归法等典型方法的参数估计[1]和以周期图法等典型方法的非参数估计[2,3]2类。短数据、高精度的快速频率估计是倍受电子战领域专家学者的关注。文章提出了一种先利用峰值前后3个DFT系数得到频率修正项的初值, 再迭代计算修正后峰值前后位置DFT系数来得到频率修正项的精细值的频率估计新算法。仿真分析验证了算法能够快速、高精度估计单频信号的频率, 比常规插值迭代算法所需迭代次数要少, 有利于工程实现。
1 频率估计算法
1.1 信号模型
假设离散复单频信号模型为:
式中, A、fc和φ分别为复信号的幅度、载频和初相;v (n) 为零均值, 方差为σ2的加性高斯白噪声;fs为采样频率;N为信号长度。
1.2 初值估计
信号的DFT系数为:
式中, I为幅度谱的峰值位置;δ为信号真实峰值位置与I的偏差值, 即且有V (k) 为噪声的DFT系数。
暂不考虑噪声影响, 且N较大时, I-1、I和I+1处的幅度谱可推导得到:
当X (I+1) >X (I-1) 时, 即0<δ≤0.5, 信号真实频率位于I和I+1之间, 有
式中, δ0为估计出来的频率修正项初值。
1.3 迭代计算
考虑I-0.5、I+0.5两个位置, 迭代计算DFT系数为:
式中, k为迭代次数;δk为第k次迭代后的频率修正项, 有δk=δk-1+h (δk-1) , 且h (δk-1) 的表达式[4]为:
δ0的值按上节计算得到, 但在文献[4]中频率修正项初值δ0=0。
2 仿真分析
2.1 算法收敛与迭代次数
仿真参数设置如下:采样频率fs=51.2 MHz, 信号长度N=512, 信噪比SNR=0 dB, 信号幅度A=1, 初相φ=π/4, 频率fc取值12.75 MHz:0.01 MHz:12.85 MHz, 即对应FFT后峰值位置与信号真实位置偏差值δ∈[-0.5, 0.5], 每个频点上做10 000次Monte-Carlo试验。在频率修正项初值δ0为零和不为零 (按1.2节分析计算) 时, 不同迭代次数Q与算法收敛性之间关系的性能曲线如图1所示。定义比值=测频均方误差 (MSE) /克拉默界 (CRB) 。
从图1中可以看到, 当频率修正项初值δ0为零时, 算法在第2次测频均方误差已经接近CRB, 算法已经收敛;当频率修正项初值δ0不为零时, 算法在第1次测频均方误差就接近CRB, 算法收敛。因此设置频率修正项初值后算法可以减少1次迭代。
2.2 测频精度与信噪比
仿真参数设置如下:fs=51.2 MHz, N=512, A=1, fc=12.85 MHz, φ=π/4, SNR取-15 dB~5 dB, 步长1 dB, 分别做1 000次Monte-Carlo试验。新算法1次迭代 (Q=1) 与AR建模法[1]和文献[5]中的测频算法的频率估计均方误差 (MSE) 如图2所示。
由图2可以看到, 新算法与AR建模法性能相当, 但运算要比后者少;与文献[5]算法相比, 新算法在信噪比大于-10 dB后要优于后者。
2.3 测频精度与数据长度
仿真参数设置如下:fs=51.2 MHz, A=1, fc=12.85 MHz, φ=π/4, SNR=-5 dB, N取8、16、32、64、128、256、512、1 024, 分别做1 000次Monte-Carlo试验。新算法1次迭代 (Q=1) 与AR建模法和文献[5]中的测频算法的频率估计均方误差 (MSE) 如图3所示。
从图3中可以知道, 当数据长度大于32点时, 新算法的测频精度已经接近CRB, 并且和AR建模法性能相当, 但优于文献[5]中的算法。
3 结束语
理论分析和仿真表明, 基于DFT系数来构造频率修正项的高精度信号频率估计新算法, 能有效减少迭代次数, 提高测频精度, 具有广泛的适用性, 可直接应用于宽带数字接收机的快速高精度频率估计。
参考文献
[1]TSUI J.Digital Techniques for Wideband Receivers[M].USA:Artech House, 2002.
[2]朱小勇, 丁康.离散频谱校正方法的综合比较[J].信号处理, 2001, 17 (l) :91-94.
[3]朱雪田, 彭玉华.低信噪比下的提高正弦波频率估计精度算法[J].电路与系统学报, 2001, 6 (4) :103-106.
[4]AHOUTANIOS E, MULGREW B.Iterative FrequencyEstimation by Interpolation on Fourier Coefficients[J].IEEETrans Signal Processing, 2005, 53 (4) :1237-1242.
高精度频率测量 篇8
FPGA/CPLD在数字系统设计中的广泛应用,影响到了生产生活的各个方面[1,2,3,4]。在FPGA/CPLD的设计开发中,VHDL语言作为一种主流的硬件描述语言,具有设计效率高,可靠性好,易读易懂等诸多优点[3,5,6]。作为一种功能强大的FPGA/CPLD数字系统开发环境,Altera公司推出的QuartusⅡ,为设计者提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程,为使用VHDL语言进行FPGA/CPLD设计提供了极大的便利[7]。
频率计作为电子技术中一种常用的电子测量仪器,有着广泛的应用,以往的电子计数式频率计大多数是采用单元电路或单片机技术进行设计的。本文在QuartusⅡ9.0开发环境下,用VHDL语言设计了一种高精度电子计数式频率计,较传统的单元电路设计更灵活,同时大大简化了电路结构的复杂性,提高了电路的稳定性。为了提高频率测量精度,使量化误差小于10-5,本文设计的频率计采用了双路计数器,在1 Hz~100 MHz的频率范围内的量化误差均满足设计要求。
1 频率计原理及其误差分析
本文设计的电子计数式频率计由测周模块、测频模块、显示模块等三个部分组成,具体结构如图1所示。
(1)测周模块:采用测周法,设在被测信号的k个周期时长内,频率为fc的标准频率信号的脉冲计数值为N,则被测信号周期Tx=N/(kfc)。由于测量闸门的开启时刻与计数脉冲在时间轴上的相对位置是随机的,因此会产生频率量化误差,又称脉冲计数误差或±1误差,该误差ΔN只有三个可能值,即0,1,-1。测周法的最大相对量化误差即为ΔN/N=±1/N=±1(kTxfc)。标准频率信号大多采用晶振等系统时钟信号,调整不便,实际设计中可以通过增加测量周期数k来降低相对量化误差。设定fc=100 MHz,k=100,则被测信号周期Tx≥10μs,即频率fx≤100 kHz时,测周的相对量化误差小于10-5。
(2)测频模块:采用测频法,设测量时长T范围内被测信号脉冲计数值为N,则被测信号频率fx=N/T。在测频时,时长T的开启时刻与计数脉冲在时间轴上的相对位置是随机的,因此会产生频率量化误差,又称脉冲计数误差或±1误差。该误差ΔN只有三个可能值,即0,1,-1,所以最大相对量化误差即为ΔN/N=±1/N=±1/(f)xT。设定T=1 s,则被测信号频率fx≥100 kHz时,测频的相对量化误差小于10-5。
(3)显示模块:将侧周模块和测频模块输出的十进制计数值,经译码后显示在数码管上。
2 高精度频率计的实现
本文所设计的高精度频率计,其电路符号如图1所示,sysclk为标准时钟信号输入端(频率为100 MHz),testin为被测信号输入端,sel0为高低位显示控制端,sel1为频率周期显示控制端,seg0,seg1,seg2,seg3分别为4个数码管的显示信号输出端。
图1中,全部代码由8个进程(Process)组成,其中进程P1用于产生被测信号testin的100分频信号testin100,以便实现测周法的多周期测量,降低量化误差。进程P2则在testin100为高电平的测量闸门内,用标准时钟信号sysclk(频率为100 MHz)进行计数,将计数值temp_cymo除以10取整后就可以得到以ns为单位的被测信号周期计数值cymocount。进程P1和P2的代码如下:
进程P3通过对标准时钟信号sysclk进行分频获得频率为0.5 Hz的测量闸门信号halfhz。进程P4则在halfhz信号时长为1 s的高电平半周期内对被测信号testin进行计数,获得测频法计数值temp_freq,而在低电平半周期内将temp_freq寄存给以Hz为单位的被测信号频率计数值freqcount。进程P3和P4的代码如下:
进程P5至P8则为显示模块。由于本文设计的频率计需要下载到Altera公司的DE1型开发板上进行验证,为了使用该开发板上的四个数码管显示以ns为单位的被测信号周期计数值cymocount(8位10进制整数)和以Hz为单位的被测信号频率计数值freqcount(8位十进制整数),本设计引入sel0和sel1以便控制数码管分段显示cymocount和freqcount。进程P5用于通过sel1控制频率周期显示,当sel1为高电平时将频率计数值freqcount赋给显示数值cntdata;当sel1为低电平时将周期计数值cymocount赋给cntdata。由于freqcount、cymocount,cntdata均为8位十进制整数,因此需要通过进程P6将cntdata分解为8个数位上的8个数码data0,data1,data2,data3,data4,data5,data6,data7(均为1位十六进制整数)。
进程P5和P6代码如下:
进程P7用于将data0~data7分别进行7段数码管译码,获得用于数码管显示的8个数码dat0~dat7(均为7位二进制数),限于篇幅,P7的代码就不再赘述。进程P8用于通过sel0控制高低位显示,当sel0为高电平时显示cntdata(即freqcount或cymocount)的低4位(个位至千位),当sel0为低电平时显示cntdata的高4位(万位至千万位)。进程P8代码如下:
值得注意的是,本文设计的高精度频率计在降低量化误差,提高测量精度,和数值显示等方面的设计更加简洁可靠,功能实用性更强,具有如下特点:
(1)为了在1 Hz~100 MHz频率范围内使量化误差小于10-5,本文设计的频率计采用了双路计数器,同时使用测周法和测频法进行测量。以100 kHz为分界点,当被测信号频率趋向低频时,通过测周法获得的被测信号周期值精度会更高;当被测信号频率趋向高频时,通过测频法获得的被测信号频率值精度会更高。
(2)为了使测周模块和测频模块的更加简洁,使用十进制整数作为内部变量和信号。在显示模块内,则通过取模运算将8位十进制整数cntdata分解为每个数位上的8个数值,然后进行数码管译码,实现了8位十进制整数的显示。
(3)由于硬件验证使用的Altera公司的DE1开发板上仅有4个数码管,而且均采用静态显示设计,为了能够有效显示被测信号的周期值和频率值,引入了高低位显示控制端sel0和频率周期显示控制端sel1,实现了在4个数码管上显示两个8位数据。
3 仿真结果分析
本文设计的高精度频率计在QuartusⅡ9.0开发环境下进行了仿真验证,受限于计算机性能,对测周法和测频法分别进行了仿真。其中测周法的仿真波形如图2所示,测频法的仿真波形如图3所示。
仿真结果分析如下:
(1)测周法和测频法能有效地实现对被测信号周期和频率的测量,并能将测量数据顺利的显示在数码管上;
(2)将待测信号的周期设定为1 234.5 ns时,测周法测出的信号周期为1 234 ns,测频法测出的信号频率为810 045 Hz,测量结果精度符合要求;
(3)通过sel1的高低电平,实现了将频率测量或周期测量数值的显示输出选择;
(4)通过sel0的高低电平,实现了数码管显示数值的高四位和低四位的选择。
本文设计的高精度频率计更进一步的精度测试也可以通过仿真进行,不再赘述。
4 结语
本文所设计的高精度频率计在QuartusⅡ9.0开发环境下进行了仿真验证后,下载到Altera公司的DE1开发板中进行了硬件验证,该开发板使用CycloneⅡ系列EP2C20F484C7芯片作为核心芯片,实验证明当被测信号频率在1 Hz~100 MHz范围内时,电路均可稳定运行,频率测量精度达到设计指标,功能完整。
参考文献
[1]康华光.电子技术基础(数字部分)[M].北京:高等教育出版社,2004.
[2]马或,王丹利,王丽英.CPLD/FPGA可编程逻辑器件实用教程[M].北京:机械工业出版社,2006.
[3]侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,2000.
[4]李国丽,朱维勇,栾铭.EDA与数字系统设计[M].北京:机械工业出版社,2005.
[5]卢毅,赖杰.VHDL与数字电路设计[M].北京:科学出版社,2001.
[6]李志,田永清,朱仲英.VHDL的设计特点与应用研究[J].微型电脑应用,2002(10):5-8.
[7]周润景,图雅,张丽敏.基于QuartusⅡ的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社,2007.
[8]李丽娟,张寿明,付亮,等.基于CPLD/FPGA的等精度频率计设计[J].工业控制计算机,2008(8):73-74.
[9]程源,祝洪峰.基于FPGA的数字频率计的设计与制作[J].电子制作,2008(1):34-36.
【高精度频率测量】推荐阅读:
高精度测量09-18
高精度测量系统07-13
高精度时差测量系统08-25
高精度时间间隔测量方法综述05-16
电离层虚高的高精度测量与分析10-28
高精度定位06-19
高精度量仪07-29
高精度控制08-06
高精度计算08-29
测高精度11-29