基于FPGA 的二阶广义积分器精度与资源优化研究*

2021-05-21 01:19:56峰沈三民谭
电子器件 2021年2期
关键词:传递函数延时消耗

杨 峰沈三民谭 雯

(中北大学仪器科学与动态测试教育部重点实验室,山西太原 030051)

二阶广义积分器(Second-Order Generalized Integrator,SOGI)常作为正交信号发生器(orthogonal signal generator,OSG),与基于Hilbert 变换的OSG、基于卡尔曼滤波器的OSG、基于全通滤波器的OSG、基于一阶微分的OSG 和基于延时的OSG等[1-2]常用的方法相比,不仅可以滤除高次谐波,而且能够实现频率自适应[3]。在电网同步及电机转子位置和转速估计等领域应用广泛[4-6]。

SOGI 数字实现过程中,量化误差会影响输出信号精度,甚至造成系统发散。因此详细分析了其数字实现中量化误差的影响,提出了运算过程中用舍入法替换截断法的优化方法;同时根据其结构特点提出基于时分复用的数字实现。仿真结果表明,所提出的精度与资源优化方法,可以实现精度与资源的双优化。

1 SOGI 的原理分析

SOGI 是典型的二阶结构,其结构框图如图1所示。

图1 二阶广义积分器结构图

SOGI 的特征传递函数如下:

式中:vin为输入的正弦电压信号,vout与qout是2 个相互正交的信号,k为系统的阻尼系数,ωn为系统的无阻尼自然角频率。

令s=jω,分析系统频率响应如下:

式中:|Hd(jω)|、|Hq(jω)|分别为2 个相互正交信号的幅值,φd(ω)、φq(ω)分别为2 个相互正交信号的相角。

由式(3)与式(4)可知,vout、qout的幅值和相位都随着输入信号的角频率ω变化,但是qout始终滞后vout90°,当输入信号的频率ω等于ωn时,vout的幅值和相位都与输入信号一致,qout的幅值与输入一致,相位滞后90°。

2 SOGI 的量化误差分析

采用FPGA 等硬件系统实现SOGI 算法时,ADC引入的输入信号量化误差,SOGI 传递函数的系数量化误差,运算过程中的量化误差,都将影响SOGI 的输出信号精度,甚至造成系统发散。

量化误差定义为量化后的值减去理论值,处理量化误差时主要有舍入法和截断法2 种,舍入法和截断法的概率密度曲线如图2 所示[7],q表示二进制数所能表示的最小单位。舍入法的均值为0,方差为q2/12;截断法的均值为-q/2,方差为q2/12。

图2 量化误差的概率密度曲线

SOGI 两个传递函数离散后的差分方程分别为式(5)和式(6),式中所有参量都是理论值。

一般ADC 采用的是舍入法,均值为0[7-8]。ADC 引入的输入信号量化误差可通过增加ADC 量化位数减小,但是增加量化位数也意味着增加计算量和资源消耗。所以ADC 量化位数选取一般满足信噪比要求即可,且SOGI 的2 个传递函数分别是带通和低通滤波器[9-10],delta-sigma ADC 可以将量化误差频谱移至高频区域[8],则SOGI 能够过滤ADC 引入的输入信号量化误差。因此接下来主要分析系数的量化误差和运算过程中的量化误差。

以式(5)为例,SOGI 采用整数实现,考虑系数与运算过程中的量化误差后,数字实现过程中实际的差分方程如式(7)所示。

3 SOGI 的实现与仿真分析

3.1 未优化的SOGI 实现

根据信噪比要求,选用16 位的delta-sigma ADC对10 MHz 的正弦信号进行欠采样,采样时钟为9 MHz。SOGI 数字实现时的准确性,关键在于离散化方法的选择。前向欧拉与后向欧拉法,实现简单,但是最大增益频率存在偏移以及输出信号相位差并非理想的90°[12]。双线性变换法在数字频率与模拟频率间存在严重的非线性畸变[7]。预畸变的双线性变换法没有最大增益频率偏移的问题,输出信号也是正交的,但是涉及三角函数及除法计算,硬件实时更新系数困难[13]。除此之外,还有一些复杂的非数值积分的方法,包括冲击响应不变法、零极点匹配法和零阶保持器法等[12,14]。

采用预畸变的双线性变换法,采样周期Ts=1/9 000 000 s,综合考虑超调量与调整时间,阻尼系数k,系数量化以a0为2N、量化精度比ADC 的精度略高为准。利用SIMULINK 多次仿真不同量化位数下误差值εv的大小,最终选取N=22,仿真结果如图3 所示,仿真的输入信号是幅值为1 V 的正弦电压信号,图中的标记值为标记点的误差值,其中P表示峰值、V表示谷值。此时系统稳定后误差值εv为10-7数量级,16 位ADC 的最低有效位(LSB)为10-5数量级,因此N=22 时系数的量化误差对系统精度影响较小,同样系数的量化误差未造成系统不稳定。

图3 量化位数为22 时的误差值

Z域传递函数分别如式(10) 与式(11) 所示[14],式中的系数包含量化误差,按图4 所示的方式实现,其中乘法运算采用IP 核实现。为了避免使用除法IP 核消耗巨大的资源及造成大量的延时,除法运算采用对二进制补码数右移N位近似实现,量化误差处理采用截断法。乘法运算之所以不用左移实现,是因为如果需要对系数实时更新,可由上位机在线计算系数然后下发到FPGA,采用IP 核可直接运算,而左移则需要对系数进行分解;采用乘法IP核实现时,还可通过割集重定时改变传统框图中延时单元的位置,改由乘法IP 核实现延时,则不需要额外的延时单元。

图4 未时分复用的SOGI 数字实现

算法采用VHDL 语言实现,FPGA 型号选用Xilinx 公司的xc7a100tfgg484-2 芯片,仿真结果如图5 所示,SOGI 的资源消耗情况如表2 所示。

图5 未优化的SOGI 仿真结果图

表1 采用截断法结果

3.2 SOGI 的精度与资源优化

由图4 可知,SOGI 的2 个传递函数仅零点系数不一致,因此提出基于时分复用的SOGI 实现,减少资源消耗,其数字实现如图6 所示。数据在9 MHz的时钟驱动下输入给vin,零点系数通过9 MHz 时钟的高低电平进行选择。运算部分(即点画线内)工作在18 MHz 的时钟下,因此乘法器延时变成了未时分复用前的2 倍,以实现在9 MHz 的数据周期内,完成2 次计算。然后同样通过9 MHz 时钟的高低电平驱动数据分配器对计算结果进行分配,再经过时序同步处理即可得到一对正交信号。

图6 基于时分复用的SOGI 数字实现

运算过程中右移实现除法时用舍入法替换截断法,为便于硬件实现,选用与MATLAB 中nearest 函数一致的舍入规则[16]:计算结果向着最近的整数舍入,若舍去部分的数值,等于保留部分末位的一半时,则向着正无穷的方向舍入到最近的整数。

设一个M位的二进制补码数X(M-1:0)除以2N(即右移N位),用选用的舍入规则进行处理,处理后的数据用Y表示,其程序流程图如图7 所示,通过判断二进制补码数的最高位和舍入部分的第1位,即可完成判断。

图7 舍入法流程图

FPGA 仿真结果如图8 所示,由于时序同步处理使得vout和qout相对于vin同时延时了1 个时钟周期,但这并不影响vout和qout的正交性。时分复用后的SOGI 资源消耗如表2 所示,可以发现,基于时分复用的SOGI 实现方式在未选择时分复用的基础上,查找表(LUT)消耗减少了57.6%,乘法器(DSP)消耗减少了44.4%,但是由于增加了乘法器延时,触发器(FF)的消耗增加了2.8 倍。总的来说,利用资源较丰富的触发器换取查找表和乘法器的减少,实现了资源优化。

图8 优化后的SOGI 仿真结果图

表2 SOGI 时分复用前后资源消耗对比

运算过程中的量化误差按舍入法处理后的数据与误差分析列于表3 中,表中的参量定义与前文一致。对比表1,发现优化后vout与qout的误差明显减小,标准差从1.74 减小到0.17,减小了90.2%。

表3 采用舍入法结果

4 结论

通过对ADC 引入的输入信号量化误差,SOGI传递函数的系数量化误差及运算过程中的量化误差,进行了详细分析并得出结论。ADC 引入的输入信号量化误差会被SOGI 过滤。传递函数系数的量化误差不能过大,否则输出将严重偏离理论值甚至发散。运算过程中的量化误差可以用舍入法替换截断法进行优化,仿真结果表明,系统稳定后,输出数据的标准差从1.74 减小到0.17,减小了90.2%。同时根据SOGI 的结构特点,提出基于时分复用的数字实现,仿真结果表明,触发器的消耗增加了2.8倍,查找表消耗减少了57.6%,乘法器消耗减少了44.4%,实现了利用资源较丰富的触发器换取查找表和乘法器的减少。综上,提出的优化方法,可以实现精度与资源的双优化。

猜你喜欢
传递函数延时消耗
如此消耗卡路里
意林(2023年7期)2023-06-13 14:18:52
玉钢烧结降低固体燃料消耗实践
昆钢科技(2022年4期)2022-12-30 11:23:46
降低钢铁料消耗的生产实践
昆钢科技(2021年6期)2021-03-09 06:10:18
基于级联步进延时的顺序等效采样方法及实现
我们消耗很多能源
基于LabVIEW的火焰传递函数测量系统
测控技术(2018年7期)2018-12-09 08:58:46
红外成像系统的调制传递函数测试
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
船舶力学(2015年6期)2015-12-12 08:52:20
基于传递函数自我优化的BP网络算法改进
桑塔纳车发动机延时熄火