永磁同步电机无感FOC负载转矩前馈补偿:龙伯格观测器设计与调试

做永磁同步电机无感FOC的同行,应该都遇到过这种尴尬:空载跑得挺顺,一带上负载,启动瞬间转速砸下去一大截,突加负载的时候速度环吭哧吭哧半天才拉回来。电机的电磁时间常数是毫秒级,可机械时间常数是百毫秒甚至秒级,纯靠转速PI去扛负载扰动,本质上就是“先犯错、再纠错”,动态性能的天花板摆在那里。

这篇文章要讲的,就是把负载转矩前馈补偿加进无感FOC的控制框架:用龙伯格观测器实时算出负载转矩,然后直接折算成q轴电流前馈项,抢在转速掉下去之前把转矩补上。方案的核心有三块:龙伯格负载转矩观测器的设计与整定、前馈补偿路径和速度环的配合、以及无感位置转速估算与整套系统的联调。适合正在做PMSM无感FOC项目、或者被突加负载动态响应指标折磨的工程师和研究生参考。我按从原理到台架的完整脉络写,中间的参数计算和调试顺序都能直接抄。

1. 无感FOC为什么需要负载转矩前馈补偿

1.1 速度环的两难处境

先看传统速度环在负载突变时的行为。转速PI的输出是q轴电流指令,当负载转矩突然加大,转速先往下掉,速度误差e变大,PI输出才跟着往上加。这个过程本质上是被动纠错:系统必须先承受一次转速跌落,然后靠积分项慢慢把转矩补回来。

问题在于,速度环的带宽通常只有十几到几十赫兹,机械时间常数又大,这个“跌下去再拉回来”的周期往往要几百毫秒。我实测过一台额定转速1500rpm的永磁同步电机,在额定负载阶跃下,纯PI控制转速跌了将近120rpm,恢复时间接近600ms。如果负载是周期性突变的,比如压缩机、往复式泵、关节电机,转速就会一直处于波动状态。

有人会说,那把PI调激进一点不就行了。调高Kp确实能减小跌落深度,但增益上去了,噪声和机械谐振就会进来,电流环饱和的风险也变大。更麻烦的是,无感FOC本身还有估算延迟,速度反馈本身就有滞后,增益到头就只剩下震荡。结论很清楚:速度环PI只能解决“事后补偿”,想提高动态响应,必须走前馈这条路。

1.2 转矩前馈在PMSM里怎么落地

永磁同步电机的电磁转矩和q轴电流在id=0控制下是线性关系,这一点是前馈能成立的根本原因。表贴式电机下:

Te = 1.5 · p · ψf · iq

其中p是极对数,ψf是永磁磁链。只要电流环够快,给定多少iq,电磁转矩几乎是立刻建立起来的。于是问题被简化了:如果我能实时知道负载转矩TL,直接让iq指令里多出一项TL / (1.5·p·ψf),电磁转矩当场就能抵消掉负载,转速根本不该掉。

这个思路等价于在机械方程里做前馈解耦。忽略摩擦时的机械方程为:

J · dω/dt = Te − TL

前馈一旦把Te补偿到接近TL,dω/dt就趋近于零,转速自然稳住了。整个过程不依赖速度误差,所以不存在延迟。剩下来的唯一问题,就是怎么“知道”TL——负载转矩通常没有传感器直接测,这就是龙伯格观测器登场的理由。

1.3 什么场景最值得做这套方案

不是所有项目都需要转矩前馈。我自己的经验是,下面这几类场景收益最大:

  • 恒速带载且负载突变频繁的场合,比如提升设备、牵引系统、搅拌机,这类系统对转速跌落和恢复时间有硬指标。
  • 带载启动和低速重载工况,速度环在低速时本来就不好调,纯PI启动大惯量负载很容易憋停。
  • 某些动辄几十公斤级转动惯量的设备,机械时间常数大到PI怎么调都发肉,前馈几乎是救命稻草。

反过来,如果是空载为主的测试台、风机水泵这类负载平稳的设备,做转矩前馈性价比就不高,一个调好了的PI就够了。方案选型先想清楚需求,别为了用观测器而用观测器。

2. 龙伯格观测器:怎么“看”到看不见的负载

2.1 观测器的基本思想

“观测器”三个字听着唬人,内核其实很朴素:把已知的数学模型和可测的物理量结合起来,推算那些测不到的状态。这里可测的是机械转速ω,测不到的是负载转矩TL,那干脆把TL也当成一个“状态变量”,用模型去估计它。

直接用机械方程是不行的,因为方程里有两个未知量:TL和摩擦项。但只要把转速误差当成反馈,让估计值不断被修正,TL就能被“逼”出来。打个比方,你闭着眼根据油门踏板的力度估计车身现在受力多少,但不知道路面坡度——不过你能感觉到车速在掉,于是可以反推坡度有多大。观测器干的活就是这个。

为了让负载转矩可估计,通常假设它在短时间内近似不变,即dTL/dt约等于0。这不是说负载真的恒定,而是说负载变化的频率远低于观测器带宽,在这个时间尺度上把它当作缓变量处理。工程上这个假设绝大多数时候都成立。

2.2 状态方程与观测器推导

写一下完整推导,后面整定参数要用。结合机械方程和扩展状态,系统可以写成:

dω/dt = (Te − B·ω − TL) / J
dTL/dt = 0

写成矩阵形式就是:

dx/dt = A·x + B·u
y = C·x

其中:

x = [ω, TL]^T
A = [−B/J, −1/J; 0, 0]
B = [1/J, 0]^T
C = [1, 0]
u = Te

龙伯格观测器的结构是:先用模型算一步预测,再用实测转速和预测转速的误差去修正:

dω̂/dt = (Te − B·ω̂ − T̂L) / J + l1·(ω − ω̂)
dT̂L/dt = l2·(ω − ω̂)

这里的l1和l2就是观测器增益,决定了修正强度。和传统状态观测器一样,观测器自身的收敛速度由误差动态的极点决定。把误差eω = ω − ω̂、eTL = TL − T̂L代进去,可以得到:

de/dt = (A − L·C)·e

特征方程为:

s² + (B/J + l1)·s + l2/J = 0

这就是后面整定增益的理论基础。

2.3 增益怎么算

工程上常用二阶系统来对标,设期望极点为阻尼比ζ和自然频率ωn,把特征方程配成:

s² + 2·ζ·ωn·s + ωn² = 0

于是:

l1 = 2·ζ·ωn − B/J
l2 = J·ωn²

注意观察l2的表达式:它和转动惯量J直接相关。如果J标定不准,l2给的是“假增益”,观测器的带宽和阻尼都会变形。B如果相对ωn很小,可以忽略,但低速摩擦比较明显时最好把它在模型里带进去,否则稳态会出现偏置误差。

举一组我调过的参数。某台测试电机J大约0.0008 kg·m²,B约0.0001 N·m·s/rad,机械转速范围0到1500rpm。取ζ=1(临界阻尼,不超调)、ωn=2π·50≈314 rad/s,算出来:

l1 = 2·314 − 0.125 ≈ 627.9
l2 = 0.0008·314² ≈ 78.9

观测器响应约20ms,比速度环快五六倍,又远低于电流环的开关噪声频率,这个配置在我的项目里很稳。记住一个原则:观测器带宽必须显著高于速度环带宽,否则前馈本身就带滞后,但又不能高到把转速反馈里的噪声全放进来。

2.4 离散化与代码实现

数字控制器里按周期离散执行,最常用的一阶欧拉法就够了。控制周期T一般是电流环周期,比如100微秒到1毫秒。核心代码很简洁:

// 龙伯格负载转矩观测器,机械角速度单位rad/s,转矩单位N·m // 输入:Te(电磁转矩)、w_mech(机械角速度)、T(控制周期) // 状态:w_hat(转速估计)、TL_hat(负载转矩估计) float w_hat, TL_hat; void luenberger_update(float Te, float w_mech, float T) { float w_err = w_mech - w_hat; float dw = (Te - B * w_hat - TL_hat) / J + l1 * w_err; float dTL = l2 * w_err; w_hat += dw * T; TL_hat += dTL * T; }

两点实操提醒。第一,单位必须统一,很多表格里J是kg·m²、转速是rpm,直接代入公式会差一个2π/60的系数,算出来观测器要么发散要么迟钝。我强烈建议内部统一用SI单位(rad/s和N·m),只在界面层做转换。第二,速度反馈在无感FOC里用的是估算转速,本身带有观测噪声,最好先做一阶低通滤波再进龙伯格观测器,否则l2会把噪声放大,抖得没法看。

3. 前馈补偿路径与速度环的配合

3.1 前馈指令的生成和限幅

观测器算出TL_hat后,前馈电流为:

iq_ff = T̂L / (1.5 · p · ψf)

最终q轴电流指令:

iq_ref = iq_pi + iq_ff

pi输出和前馈相加,这个动作放在速度环输出处。每个控制周期都需要做限幅,不能让合成的iq_ref超过电流环允许的最大值。实际项目里有两点容易踩坑。

一是方向问题。负载转矩是有符号的,正转时负载是阻力,反转时可能是助力。如果你不做符号判断,把前馈绝对值直接加进去,反转工况下就是帮倒忙。我一般会按当前转速的方向和给定方向做一个符号逻辑,至少保证前馈方向和稳态转矩方向一致。

二是前馈通道上建议加缓动处理。观测器输出虽然有滤波,但阶跃瞬间还是会有比较陡的变化,直接怼进电流环会在转矩里留下冲击。我在前馈路径上加了斜坡限幅,限制每周期前馈电流的变化率,代价是响应慢几个毫秒,但换来的是整个系统的平顺性,对机械冲击大、齿轮间隙明显的负载很值得。

3.2 防积分饱和和去饱和联动

加了前馈之后,速度环PI的负担大幅减小,但饱和问题依然要管。这里有个常见的误区:以为前馈到位了PI输出小,就不用管抗饱和了。其实不是,在突加负载瞬间,如果前馈响应还不够快,PI仍然可能短暂顶到限幅,积分项会在这段时间快速累积;等负载恢复,积分需要时间退出来,转速回落就慢。

所以我保留了两层保护。第一层是常规的积分限幅,限制积分项本身不超过某个值。第二层是回算型的抗饱和,当PI输出进入限幅时,把实际输出和限幅值的差按比例反馈回积分项,动态吸收多余积分。实测下来,这两层配合前馈,负载阶跃后的转速超调量和收敛时间都能控制在纯PI方案的1/3以内。

3.3 与无感位置估算的耦合问题

无感FOC里最麻烦的是转速信号本身不可测,用的是软估算。滑模观测器加PLL给出的转速,在中高速还算干净,一到低速就全是噪声。而龙伯格观测器的输入之一就是转速,转速噪声直接决定了你能把观测器开多大带宽。

我在实际项目里处理这个耦合,用了两个办法。一个是在低速段动态降观测器带宽,让l1、l2跟转速联动,低速时增益调小,防止噪声主导;另一个是把龙伯格观测器自己估计的转速ω_hat当作速度环反馈,而不是直接用PLL的输出。这相当于做成了一个闭环套闭环,龙伯格转速估计本身有滤波特性,速度环拿到的是一个平滑得多的信号。实测在30rpm以上,这个结构都稳定,速度环带宽还能略微调高。

不过要提醒一下,用ω_hat做反馈有一个前提:观测器模型里的J和B必须足够准。如果J偏差超过15%,ω_hat会带稳态误差,反而比直接用PLL更糟。所以参数标定一定不能偷懒,后面第五章专门讲这个。

4. 无感FOC的位置转速估算与启动策略

4.1 常用估算方案的选型

转矩前馈做得再好,也得建立在无感FOC本身稳的基础上。先简单对比一下几种主流的转子位置/速度估算方案:

估算方案适用速度段优点主要短板
滑模观测器SMO + PLL中高速鲁棒性强、参数依赖小、实现简单低速反电动势信噪比差
磁链观测器中高速波形平滑、谐波小对磁链参数敏感
模型参考自适应MRAS中低速收敛性好参数依赖大、启动困难
高频注入零速/低速能实现真正的零速控制需要电机凸极性、噪声大

我的项目以额定转速1500rpm、最低工作到30rpm为目标,选了SMO加PLL,结构简单、不依赖电机凸极性,把低速段的启动交给I/F强迫换相来处理。如果要求零速带载、甚至堵转保持转矩,那就得考虑高频注入或者直接上带编码器的方案,纯软件无感在近零速做高动态本来就是生意外的。

4.2 I/F强迫启动与闭环切换

纯无感FOC没法在零速自启动,因为零速时反电动势为零,SMO给不出有效位置。通用的做法是I/F强迫启动:先给一个固定的电流幅值,按预设的斜坡让电流角度匀速旋转,把电机“拖”到一定转速。这时电机处于人为的开环状态,转矩角会自动调整来平衡负载。

I/F阶段和闭环阶段的切换是最容易出事的环节。我用的切换逻辑是:转速达到预设阈值,比如50rpm,同时估算位置和给定位置的角度误差连续若干个周期小于30度,才允许从I/F切到SMO闭环。角度误差这个判据特别关键,如果只凭转速阈值就切,负载大、惯量大时角度误差可能还有几十度,切换瞬间会出现电流冲击,转速直接往下砸。

4.3 启动阶段前馈怎么配合

I/F阶段龙伯格观测器最好从一开始就使能运行。虽然没有闭环位置,但转速估计可以用给定转速替代,观测器照样能收敛出TL_hat。带载启动时,等I/F牵引到闭环切换速度,TL_hat已经基本跟着真实负载了,切换成功后前馈立刻投入,能在第一拍就把负载转矩补掉大半。

我做过对比,不带前馈的启动切换后,转速会经历一次明显的回落再爬升;带上观测好的前馈,切换瞬间转速几乎只是轻微波动一下就稳住。对于提升类设备,这个区别体感非常明显——一个像是“吊起来又松了半下”,另一个像是“稳稳地接住了”。启动阶段前馈的投入时机建议放在切换确认后的第二个控制周期,给切换逻辑一个稳定时间,避免判据误触发。

5. 从仿真到台架:整定流程与实测记录

5.1 转动惯量怎么实测

前面强调过,龙伯格观测器的增益l2正比于J,J标错整个观测器都会变形。仿真里J是给定的,到了台架上不能靠猜,最实用的方法是加速度法:给电机一个恒定的阶跃转矩指令,在转速线性上升段测斜率。

J = ΔTe / (dω/dt)

实际操作时注意几点:一是避开低速摩擦区,从额定转速的20%开始测量到80%,摩擦影响小;二是正反两个方向各测几次取平均,抵消重力负载等单向干扰;三是采样的转速一定要用滤波后的值,否则dω/dt算出来的J全是噪声。实测一个物流分拣项目的电机,铭牌上是0.6kW、额定3000rpm,我用这个方法测出来J约0.00075 kg·m²,和仿真初值差了将近两成,如果直接拿仿真值去调观测器,效果会差很多。

5.2 各环路带宽怎么搭配合适

整个系统从内到外是电流环、龙伯格观测器、速度环,再加最外面的位置环或者转矩限幅逻辑。我个人的推荐经验和配合关系如下:

控制环推荐带宽说明
电流环1kHz ~ 2kHz由PWM开关频率和电流采样决定
龙伯格观测器50Hz ~ 100Hz高于速度环带宽5倍以上,低于电流环噪声频段
速度环10Hz ~ 30Hz受机械谐振和噪声限制

核心原则是观测器要比速度环快一个数量级以上,这样前馈对速度环来说才近似是即时补偿。如果观测器只比速度环快两三倍,前馈本身就带滞后,补偿效果就大打折扣。我遇到过有人直接把观测器带宽调到和速度环一样,结果速度跌落只改善了一点点,还多了高频抖动。

5.3 台架实测怎么看波形

调完参数,重点看三个信号:转速指令与实际转速、TL_hat波形、iq指令波形。突加负载时,理想情况下TL_hat应该在5到20毫秒内跳到接近真实负载值,转速跌落深度比纯PI小一个数量级,iq指令里的前馈分量能明显看到和负载阶跃同步的台阶。

拿我调试的某台模拟泵负载的电机举例,额定负载阶跃下,纯PI的转速跌落大约是110rpm、恢复时间500ms;加入前馈后,跌落压到了25rpm,恢复时间80ms左右。这个改善幅度不算惊艳,但关键是无论负载怎么突变,转速波动都被压缩到了正负1.5%以内,客户要的“恒速带载”指标就这么过了。

还要提醒看一个细节:稳态时TL_hat和手算负载转矩的对账。如果对不上,往往不是观测器问题,而是Kt = 1.5·p·ψf用的磁链值不准。测功机稳态负载是能算出来的,用它校准ψf,比查手册靠谱。

6. 常见问题与排查技巧实录

6.1 问题速查表

调试过程中我总结了一份比较通用的排查表,贴出来给大家参考:

现象可能原因排查与解决
TL_hat发散或大幅震荡增益过大、J设置偏差过大降ωn重新算增益,核对J实测值
TL_hat响应慢、相位滞后观测器带宽太低、转速滤波太深适当提高ωn,减小滤波时间常数
稳态前馈量和手算不符Kt计算不准、静摩擦未补偿用稳态负载标定ψf,加静摩擦前馈项
低速TL_hat噪声大SMO/PLL在低速信噪比差低速降观测器带宽,优化PLL带宽
突加负载仍掉速明显前馈强度不足、观测器滞后核对前馈限幅,提高观测器带宽
启动切换瞬间电流冲击切换判据不严、TL_hat未收敛加角度误差判据,延长预观察时间

第一项要展开说。TL_hat发散十有八九不是代码问题,而是参数问题。J偏大时观测器增益虚高,实际带宽被放大,噪声跟着进来;J偏小时收敛变慢,但又可能因为速度误差持续较大而出现持续的修正震荡。所以先核对J再动增益。

6.2 推荐的调试顺序

我建议按下面这个顺序来,能少交叉很多坑:

  1. 电流环闭环跑通,电流阶跃响应调到无超调、上升时间小于1ms。
  2. 用加速度法实测J,标好B摩擦系数。
  3. 开环状态下跑观测器,只观察不投入前馈,确认TL_hat能跟随手动加载不震荡。
  4. 速度环闭环带上前馈,从小幅负载阶跃开始,观察TL_hat响应和转速跌落。
  5. 逐步加大负载阶跃幅值和变化速率,确认前馈限幅和抗饱和逻辑正常。
  6. 最后做I/F启动切换联调,确认切入前馈的时机和切换判据配合正确。

每一步都要确认波形符合预期再往下走。我见过最快的翻车方式就是前馈还没调稳就急着去调启动,结果两个环节互相干扰,哪里都说不清。

6.3 前馈没效果时的自查套路

如果完成了上述步骤,转速跌落却没有明显改善,别急着怀疑观测器,先做一个最简单的实验:给iq指令直接加一个和负载同步的固定偏置,看转速是不是立刻好了。如果这种“手动前馈”都不见效,问题多半在前馈投入路径,比如限幅没放开、前馈符号反了、或者前馈项叠加的位置写错了。如果手动前馈见效但观测器前馈不行,那再回头查观测器带宽、输入信号质量和J的准确性。这个自查套路帮我排掉过不少乌龙,比如有一次是速度反馈误接了电气角速度,单位差了极对数倍,观测器估计出来的负载转矩自然全错。

我自己的体会是,转矩前馈补偿这套东西,理论推导半天,真正决定成败的全在参数标定和单位一致性上。观测器算法本身不复杂,复杂的是你信不信它给出的数。把J标准、把转速信号弄干净、把带宽匹配好,剩下的就交给时间。最后再分享一个小技巧:调试阶段把TL_hat和速度环PI输出的比值打出来盯着看,正常情况下稳定工况前馈占比应该在60%以上,如果PI还在出大力,说明前馈没真正接管,系统的动态性能就没榨干。这个比值比看单条波形直观得多,推荐大家都试试。

相关新闻

SpringBoot+Vue学科竞赛管理系统:从数据库设计到部署上线全解析

SpringBoot+Vue学科竞赛管理系统:从数据库设计到部署上线全解析

搞学科竞赛管理系统这种题目,在毕业设计和课程设计里出现频率极高。导员需要一个能管理报名、审核、发布成绩的后台,参赛学生需要一个能看到赛事信息、在线报名、上传作品、查成绩的入口,老师则需要一个能评审打分、导出数据的操作台。这种三…

2026/10/20 19:11:11 阅读更多 →
串口数据截取工具实战:Modbus报文解析与调试技巧

串口数据截取工具实战:Modbus报文解析与调试技巧

1. 为什么需要一款独立的串口数据截取工具平时调Modbus设备,最头疼的就是数据在眼前却看不懂。串口助手只能傻傻地显示十六进制流,发了一堆命令,回了一堆报文,得一条一条对着手册数字节。要是遇到CRC错误、从站无应答、地址冲突&a…

2026/10/20 19:11:11 阅读更多 →
LTspice第三方模型导入全流程:从.lib文件到仿真验证

LTspice第三方模型导入全流程:从.lib文件到仿真验证

很多人在 LTspice 里画好原理图、跑自带元件仿真都挺顺手,可真到用第三方芯片模型的时候就开始卡壳了:从官网下载了一个 .lib 文件,照着网上说的“放进去”,却总是报 Unknown subckt,要么就是仿真波形怎么看都不对劲。…

2026/10/20 19:11:11 阅读更多 →

最新新闻

Kafka NoBrokersAvailable 报错排查全攻略:从元数据到网络与配置

Kafka NoBrokersAvailable 报错排查全攻略:从元数据到网络与配置

这个报错我太熟了,基本每个玩Kafka的人都至少被它折磨过一次。从新手第一次跑通生产者,到集群维护时某个节点抖动,NoBrokersAvailable出现的频率远超你的想象。而且最烦人的是,这个报错的字面意思和真实原因之间,隔着好…

2026/10/20 19:59:59 阅读更多 →
RNN十年演进:从LSTM到Mamba,序列建模的变与不变

RNN十年演进:从LSTM到Mamba,序列建模的变与不变

RNN这十年:从LSTM到状态空间模型,我们到底在演进什么?如果你入坑深度学习的时间够早,一定经历过那个“逢序列必RNN”的年代。那时候做机器翻译、语音识别、情感分析,第一反应就是搭一个LSTM或者GRU,跑几个e…

2026/10/20 19:59:59 阅读更多 →
三天21道算法题:刷题记录与双指针、动态规划复盘

三天21道算法题:刷题记录与双指针、动态规划复盘

刷题记录这东西,看着不起眼,真要坚持下来却比刷题本身更考验人。我自己的账号hetao1733837上,过去三天(3月10日到12日)正好完成了一轮密集刷题,总共21道,覆盖双指针滑动窗口、二叉树递归和动态规…

2026/10/20 19:59:59 阅读更多 →
从模糊词根rea到可落地方案:read与reactive技术拆解

从模糊词根rea到可落地方案:read与reactive技术拆解

1. 从“rea”这个模糊词根说起:它到底指向什么第一次看到“rea”这三个字母,我脑子里蹦出来的第一反应是——这大概率不是一个完整的项目名,而是一个被截断的词根、缩写,或者某个更大词汇的前缀。做技术的人对这种“残缺输入”应该…

2026/10/20 19:59:59 阅读更多 →
Windows Server 2003 域控双机部署与 FSMO 迁移实战

Windows Server 2003 域控双机部署与 FSMO 迁移实战

简介:本资源是一份面向Windows Server 2003域环境管理员与系统运维初学者的实战型技术文档,聚焦主域控制器(PDC)与辅助域控制器(ADC)的完整部署流程,以及关键FSMO角色的安全迁移方案。内容覆盖从…

2026/10/20 19:59:59 阅读更多 →
FlashAttention 解析:让注意力计算快 3 倍、省 20 倍显存的核心

FlashAttention 解析:让注意力计算快 3 倍、省 20 倍显存的核心

一、标准注意力,GPU 的"显存黑洞" 先抛一个问题。你用 PyTorch 写一个标准的多头注意力,序列长度 N8192,单头维度 d128。算注意力时中间那张分数矩阵 S 的尺寸是 NN 81928192,每个元素是 float16(2 字节&a…

2026/10/20 19:58:57 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →