当前位置:首页 > 技术学院 > 技术前线
[导读]在电力电子数字控制系统的开发中,卷积是连接连续域模拟设计与离散域数字实现的核心纽带,它的身影贯穿了我们之前讨论过的模拟补偿器数字化、ADC采样信号滤波、SiC高频变换器动态优化的全流程。很多工程师在设计数字补偿器、实现数字滤波算法时,往往只是照搬现成的代码片段,完全没有理解卷积的底层逻辑,最终出现算法运行效率低下、控制动态响应和理论设计偏差巨大等问题,反复调试也找不到根源。

在电力电子数字控制系统的开发中,卷积是连接连续域模拟设计与离散域数字实现的核心纽带,它的身影贯穿了我们之前讨论过的模拟补偿器数字化、ADC采样信号滤波、SiC高频变换器动态优化的全流程。很多工程师在设计数字补偿器、实现数字滤波算法时,往往只是照搬现成的代码片段,完全没有理解卷积的底层逻辑,最终出现算法运行效率低下、控制动态响应和理论设计偏差巨大等问题,反复调试也找不到根源。

卷积并非高等数学课本中抽象的数学概念,它本质上是一套描述“输入信号经过一个固定特性的系统后,输出如何演变”的通用方法。在电力电子数字控制的场景下,所有的离散补偿器、数字滤波器、信号处理算法,底层的执行逻辑都可以用卷积来描述,理清卷积的物理意义和数字控制中的完整执行流程,是打造高性能数字电力电子系统的核心基础。

卷积的物理意义与数字控制场景映射

从物理本质来看,卷积描述的是这样一个过程:当一个任意形状的输入信号,依次作用在一个已知冲激响应的线性时不变系统上时,系统的最终输出,是输入信号的每一个微小片段,经过系统作用后产生的所有响应片段,按时间顺序叠加在一起的总结果。这个特性刚好完美匹配电力电子数字控制的绝大多数场景,因为我们设计的数字补偿器、滤波电路,几乎都属于线性时不变系统,完全可以用卷积来精确描述它们的输入输出关系。

在模拟控制时代,这个叠加过程是通过硬件电路自动连续完成的:比如一个模拟PI补偿器,输入电压信号的每一个微小变化,都会立刻通过电阻电容网络产生对应的响应,所有响应自然叠加在一起形成最终的输出,整个过程不需要人为干预。但进入数字控制时代后,所有信号都变成了离散的采样点,系统的响应也变成了离散的序列,这个时候就需要通过卷积的离散计算逻辑,在数字芯片中一步步复现这个连续叠加的过程,让数字系统的输出特性和原始模拟系统的特性完全对齐。

在我们之前讨论过的BUCK电路模拟补偿器数字化场景中,这个映射关系非常直观:原始的模拟补偿器有一个确定的冲激响应,当我们把它离散化之后,就得到了一组有限长度的离散冲激响应序列,也就是卷积的核心系数。后续每一个新的采样误差信号输入进来,都要和这组历史序列做卷积运算,最终得到的结果就是数字补偿器的输出控制量。这个过程完全等价于把模拟补偿器的连续响应,在离散的采样时刻上精准复现出来,这也是为什么基于卷积实现的数字补偿器,可以完美继承原始模拟补偿器的带宽、相位裕度等所有特性。

除此之外,在ADC采样的数字滤波环节,卷积的应用也无处不在。比如我们常用的滑动平均滤波、有限长单位冲激响应滤波,底层的执行逻辑都是卷积运算:把当前最新的采样值和之前N个历史采样值,分别乘以对应的滤波系数,再把所有结果相加,得到最终的滤波后采样值。通过调整卷积的系数序列,就可以灵活实现低通、高通、带通等任意滤波特性,针对性滤除我们之前讨论过的ADC采样混叠噪声、开关频率干扰等各类非理想信号,大幅提升采样数据的稳定性。

数字控制中卷积的典型执行流程

在电力电子数字控制的MCU或者DSP芯片中,卷积的执行过程并非简单的循环累加,而是要结合数字控制的实时性要求,经过信号缓存、乘加运算、结果输出三个核心阶段,每一个阶段的实现细节都会直接影响最终的控制性能。

第一个阶段是滑动窗口的信号缓存管理。数字控制中的卷积运算,需要同时用到当前最新的输入采样值,以及之前多个历史时刻的输入采样值,所以必须在MCU的RAM中开辟一块连续的缓存空间,用来按时间顺序依次存储这些历史采样值。为了避免每次新采样到来时都把所有历史数据整体移位,行业内普遍采用环形缓冲区的管理方式:设置一个指针指向最新采样值的写入位置,当新的ADC采样完成后,直接把新的采样值写入指针指向的位置,然后指针自动向前移动一位,当指针走到缓存空间的末尾时,自动回到缓存的起始位置。这种方式不需要任何数据移位操作,仅通过指针的移动就完成了所有历史采样值的更新,运算效率极高,完全可以满足几十纳秒级的高速实时控制要求。

第二个阶段是核心的乘加运算执行。在得到完整的输入采样序列之后,就需要把输入序列的每一个元素,和预先存储在Flash中的卷积系数序列的对应元素一一相乘,再把所有乘积结果累加在一起,得到最终的卷积运算结果。为了最大化运算效率,现代电力电子控制专用的DSP芯片,都内置了硬件乘法累加单元,也就是常说的MAC单元,可以在一个时钟周期内同时完成一次乘法和一次加法运算,不需要拆分指令分步执行。对于长度较长的卷积序列,还可以通过循环展开的方式,减少循环跳转的指令开销,进一步提升运算速度,保证整个卷积运算可以在远短于开关周期的时间内完成,不会影响数字控制的实时性。

在这个阶段还要特别注意定点数的运算精度处理,结合我们之前讨论过的数字补偿器定点化经验,所有的卷积系数和采样输入值,都要提前转换为统一Q格式的定点数,所有的乘加中间结果都先存入32位甚至64位的硬件累加器中,避免中间运算过程出现溢出。直到所有乘加运算全部完成之后,再统一做一次移位缩放,得到最终的控制输出量,这样可以最大程度保留运算的有效精度,不会因为多次中间截断引入额外的量化误差,保证数字补偿器的稳态精度。

第三个阶段是结果的限幅与输出适配。卷积运算得到的原始结果,不能直接输出到PWM模块,必须先经过限幅处理,把输出值限制在允许的占空比范围内,避免出现输出溢出导致的占空比异常。比如在BUCK变换器中,卷积得到的补偿器输出量,必须被限制在0到最大允许占空比对应的数值范围内,防止输出占空比超过100%导致硬件损坏。完成限幅之后,最终的控制量就可以直接写入MCU的PWM比较寄存器,更新当前开关周期的占空比,完成整个数字控制的闭环流程。

卷积在电力电子场景中的优化与落地

在实际的电力电子项目落地过程中,直接执行原始的长序列卷积运算,依然可能出现运算时间过长、占用资源过多的问题,需要结合电力电子系统的特性做针对性的优化,在保证性能的前提下最大化运算效率。

最常用的优化方法是利用因果系统的特性,把无限长的冲激响应序列截断为有限长序列。在电力电子数字控制场景中,绝大多数补偿器和滤波器的冲激响应,在经过若干个采样周期之后,幅值就会衰减到几乎可以忽略的程度,完全不需要保留无限长的历史序列。通过合理选择截断长度,就可以在几乎不损失控制精度的前提下,大幅缩短卷积序列的长度,减少乘加运算的次数,让整个算法可以在资源有限的低成本MCU上流畅运行。

另一个重要的优化方向是针对特定控制算法的卷积等价变换。比如我们最常用的数字PI补偿器,它的原始卷积序列是无限长的,直接执行会占用大量的运算资源,通过数学变换可以把它转化为递归形式的运算,只需要保存上一个时刻的输出值,就可以用极少的运算量复现完整卷积的效果。这种优化方式在工业界已经得到了广泛应用,既保留了卷积运算的高精度特性,又大幅降低了算法的运算开销,完美适配电力电子系统的实时性要求。

在SiC高频变换器这类开关频率超过数百千赫兹的极端场景中,还可以通过硬件逻辑直接在FPGA中实现卷积运算,把多个乘加单元并行部署,整个卷积运算可以在几个纳秒内完成,完全消除数字控制链路的运算延迟,让系统的控制带宽得到质的提升,充分发挥SiC器件的高速优势。

卷积的概念从抽象数学落地到电力电子数字控制的过程,本质上是把连续域的模拟设计特性,在离散数字世界中精准复现的过程。结合我们之前讨论过的模拟补偿器数字化、SiC系统抗干扰的相关经验,通过合理的流程设计和针对性优化,就可以让卷积运算在数字控制芯片中高效稳定运行,为高性能电力电子系统提供坚实的算法基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭