从SVPWM到AZSPWM:共模电压抑制原理与Simulink仿真对比
做电机驱动或者电力电子这块很少有人能绕开SVPWM空间矢量脉宽调制这个默认选项。电压利用率高、谐波表现好、数字化实现顺手教科书里的公式现成工程上也验证充分。但只要你把设备接到真实电机上尤其是长电缆、大功率、高载波频率的场合很快就会撞上一个SVPWM罩不住的麻烦——共模电压。轴承电蚀、漏电流、EMI超标这些常年出现在售后报告里的问题追根溯源都指向SVPWM里那两个看似无害的零矢量。这篇就花一整篇的篇幅把SVPWM和为压共模电压而生的替代方案AZSPWM先进零序脉宽调制技术一起拆开看AZSPWM到底是怎样通过移除零矢量把共模电压峰值从±Vdc/2直接压到±Vdc/6又要在哪些指标上还债。后边会依次讲SVPWM的数学和Simulink实现、AZSPWM的矢量替代逻辑、建模时容易踩的细节、仿真结果对比以及最后工程选型的建议。正在做课题需要仿真验证的学生能拿去复现在现场被共模问题反复折腾的工程师也能找到直接可用的思路。1. 三相逆变器开关状态矢量合成的物理基础1.1 八个开关状态在αβ平面上长什么样三相两电平逆变器每相桥臂上下两只管子构成一个单刀双掷开关。三个桥臂合起来一共是2的3次方8种状态。把开关状态写成二进制1表示上管导通、下管关断0表示反过来于是就有了000到111之间的8种组合。根据相电压瞬时值做Clarke变换转到αβ平面可以得到6个幅值相同、方向相差60度的有源矢量和2个幅值为0的零矢量。细节上要说明确一点6个有源矢量分别是V1(100)、V2(110)、V3(010)、V4(011)、V5(001)、V6(101)幅值都是2Vdc/3。V0(000)和V7(111)就是零矢量幅值为0。把这8个点画在αβ平面上会看到典型的一个六边形加原点——六个有源矢量落在六边形顶点上两个零矢量叠在原点。想要输出一个幅值和方向都随时间变化的参考电压矢量本质上是在每个载波周期里用相邻的两个有源矢量和零矢量做伏秒平衡把参考值拼出来。这就是SVPWM的底层逻辑也是后文一切推导的出发点。实际做仿真的时候很多人一上来就找SVPWM现成模块其实不太建议。底层原理不熟后边改AZSPWM很容易卡壳。我自己习惯先搭一个最小系统直流电压源、三相桥、RL负载、测量模块确认这四个部分接线无误再往上封装控制逻辑。1.2 为什么SVPWM能压过SPWM成为主流SPWM正弦脉宽调制的思路是三个调制波分别跟载波比较实现简单但直流母线利用率不够输出线电压最大值只有0.866Vdc。SVPWM把三相调制的问题转化成二维矢量合成问题每个周期合理利用有源矢量和零矢量的分配最大不失真线电压做到了Vdc。同样的母线电压SVPWM能多输出大约15.47%的电压。放到电动车上这意味着更高的峰值转速放到并网逆变器上意味着同样直流侧条件能多送出功率。另外SVPWM天然适配数字控制器。不需要模拟乘法器只要根据uα、uβ算出作用时间再跟载波比较就能生成六路脉冲。它的开关序列对称谐波主要分布在载波频率及整数倍边带附近设计滤波器时有规律可循。工业界从模拟控制时代走过来最终几乎一边倒选了SVPWM不是偶然的。1.3 零矢量的隐藏副作用这里得先引出共模电压的概念。三相输出相对直流母线中点的电压分别叫ua、ub、uc共模电压定义为三者平均值Vcm等于(uaubuc)/3。SVPWM在一个完整载波周期里会先后经过V0和V7两个零矢量。V0状态下三相输出全部接直流母线负极Vcm等于负的Vdc/2V7状态下三相全部接正极Vcm等于正的Vdc/2。而有源矢量状态比如V1(100)三相分别接正负负Vcm只有负的Vdc/6。问题就出在这个Vdc/2的峰值上。共模电压加在电机定子绕组和地之间会通过绕组分布电容、轴承寄生电容形成共模电流通路。频率越高、dV/dt越陡电流越凶。轴承润滑油膜在共模电压反复冲击下容易被击穿产生电蚀时间久了滚道上出现麻点最后发展成轴承异响甚至卡死。同时这个高频电流还会顺着电缆屏蔽层往出走成为EMI超标的重要来源。有个现场项目新换了一批电机之后驱动器老是误报过流查到最后发现是共模电流把电流采样参考点电位拉偏了。这种坑不是靠堆滤波电容能解决的得从PWM源头想办法。2. 从Clarke变换到七段式序列SVPWM在Simulink里的精确实现2.1 Clark变换与扇区判定SVPWM控制的第一步是把三相指令电压变换到αβ静止坐标系。标准Clarke变换写成矩阵形式[uα] [ 1 -1/2 -1/2 ] [ua] [uβ] (2/3) [ 0 √3/2 -√3/2 ] [ub] [uc]得到uα和uβ之后参考矢量的幅值和相位角为|Vref| √(uα² uβ²) θ atan2(uβ, uα)根据θ落在哪个60度区间判断当前扇区。常用办法是N等于ceil(θ/(π/3))从0度起算θ在0到60度为扇区160到120度为扇区2依此类推。仿真里要留意atan2返回的角度范围可能落在负区间需要做归一化把θ映射到0到2π再判断否则扇区会跳变。2.2 矢量作用时间公式对扇区k而言假设参考矢量落在该扇区内与该扇区起始边夹角为θrel那么第一个有源矢量的作用时间T1和第二个有源矢量的作用时间T2分别是T1 √3·Ts·|Vref|·sin(kπ/3 - θ) / Vdc T2 √3·Ts·|Vref|·sin(θ - (k-1)π/3) / Vdc T0 Ts - T1 - T2推导本质就是伏秒平衡参考矢量在开关周期内的积分面积等于T1乘Vk加T2乘Vk1的矢量面积之和。拿扇区1推导最直观T2等于√3|Vref|sinθ/VdcT1等于√3|Vref|sin(60度减θ)/Vdc。在Simulink里我不太喜欢直接堆分段公式而是先把uα和uβ换算成三个中间量x、y、z再查表分配到T1、T2。这样做代码更干净后边改造成AZSPWM时只需要换映射表不用重写三角函数。举一组实际数字方便对照Vdc取600VTs取0.1ms调制比m为0.8参考矢量幅值就是277V左右。若θ等于30度T1和T2恰好相等大概都在0.046msT0约0.008ms。这个状态正好在扇区1中间矢量时间分配看似简单但θ一旦靠近扇区边缘T0会明显变大后续对共模电压的影响也更突出。2.3 七段式对称序列与时间分配SVPWM的经典发波方式是七段式对称序列。以扇区1为例一个载波周期内的切换顺序是V0 → V1 → V2 → V7 → V2 → V1 → V0各段时间配比是T0/4、T1/2、T2/2、T0/2、T2/2、T1/2、T0/4。这样严格对称的安排是为了让三相开关动作均匀同时每个边沿都只有一相发生切换每个载波周期总共4次换相也就是8次开关动作。状态序列矢量时间1V0(000)T0/42V1(100)T1/23V2(110)T2/24V7(111)T0/25V2(110)T2/26V1(100)T1/27V0(000)T0/4其他扇区的序列只需按矢量顺序轮换本质是同一套逻辑。搭建Simulink时我习惯把T1、T2、T0先算成三相比较电平或者把开关序列拆成状态编号0到7再通过真值表映射到六路IGBT门极信号。前者适合做连续仿真后者调试直观两套都能跑关键要选一种自己下一步改得动的。3. 抠掉零矢量AZSPWM的数学推导和发波逻辑3.1 用一对反向有源矢量替代零矢量AZSPWM的核心思想用一句话概括既然零矢量是共模电压尖峰的制造者那干脆不用它。但不用零矢量占空比总和不够怎么办答案是找两个幅值相等、方向相反的有源矢量在时间轴上前后补齐。在扇区1里SVPWM本来用V1和V2V1的反向矢量为V4(011)角度180度V2的反向矢量为V5(001)角度240度。让V4和V5各作用一部分时间相当于把一个虚假的“零矢量时间”拆成两半各自又被有源矢量增量抵消最终合成结果不变。具体来说设原本SVPWM算出的作用时间为T1、T2、T0AZSPWM实际上用四个矢量V1、V2、V4、V5各自总作用时间分配为T1_az T1 T0/4 T2_az T2 T0/4 T4_az T0/2 T5_az T0/2加起来正好等于Ts伏秒平衡也自动满足因为V4和V5分别抵消了V1、V2上多出来的那部分增量。用一个数字例子会清楚得多。假设Ts等于1msT1等于0.2msT2等于0.3msT0等于0.5ms。SVPWM的净效果是0.2倍的V1加0.3倍的V2。AZSPWM把时间重新分配成V1等于0.325msV2等于0.425msV4等于0.125msV5等于0.125ms。V4是负的V1V5是负的V2算下来净效果还是0.2倍的V1加0.3倍的V2。但整个周期里没有任何一个时刻处于三相全上管导通或者全下管导通这就是AZSPWM能压共模的根本原因。3.2 AZSPWM系列变体的区别AZSPWM不是只有一种发波形式。比较常见的是AZSPWM1、AZSPWM2、AZSPWM3的提法共同特征是全程不用零矢量差异主要在反向矢量的选取和排列顺序上。AZSPWM1的序列最规整以扇区1为例一个载波周期内可以写成V1 → V2 → V4 → V5 → V5 → V4 → V2 → V1这是一条完整的8段对称序列时间分配为前半段和后半段镜像。AZSPWM2和AZSPWM3在不同文献里的标号并不完全一致有的按照每相开关次数最少的原则动态选择反向对有的为了提高某个特定谐波的抑制效果微调排列。做工程仿真时我个人觉得没必要死磕编号核心就抓两点第一替代零矢量的必须是有源矢量对而且成对作用时间能相互抵消第二切换顺序要保证从一相变到另一相时每次只改变一个桥臂否则开关次数会暴增。3.3 共模电压峰值的瞬时推导共模电压的峰值直接取决于开关状态里三相同时接同一极性的占比。SVPWM里V0和V7占据了总时间T0这段时间内Vcm会跳到正负Vdc/2。AZSPWM里没有V0和V7任何时刻三相输出总是在正负之间不对称分布所以每个状态的Vcm只能是正负Vdc/6。以600V直流母线为例SVPWM的共模电压会在负300V到正300V之间来回摆动而AZSPWM只会在负100V到正100V范围内活动峰值直接下降三分之二。这个差异在仿真示波器上一眼就能看出来CM波形的包络明显变窄而且SVPWM波形里那种平顶段消失了。这也是整个AZSPWM技术最核心的卖点。4. Simulink模型搭建AZSPWM改造中最容易出错的细节4.1 最小化的逆变器与负载模型仿真模型的分工大致是四块直流电源、三相桥、三相对称负载、PWM控制器。Simulink里可以直接用Universal Bridge模块搭三相桥设置直流母线电压600V载波频率10kHz基波50Hz负载用星接的电阻电感R取10ΩL取10mH这样电流连续波形好看也方便后续做FFT。PWM控制器内部用一个Matlab Function块完成扇区判定和时间计算输出T1、T2、T0以及扇区号给发波模块。发波模块再根据当前载波周期的计数值决定输出状态编号。我通常用三角载波和比较值生成方式把T1、T2改写成三相比较值Ta、Tb、Tc再和三角波比较输出三路桥臂逻辑量另一路互补由延时模块生成。要注意离散求解器步长建议设置成载波周期的固定步长比如0.5微秒避免脉冲宽度被数值误差吃掉。4.2 用切换序列表完成SVPWM到AZSPWM的改造改造AZSPWM时最省事的办法是在状态编号层做替换。SVPWM的发波模块最终输出0到7的状态编号扇区1的序列是0-1-2-7-2-1-0然后根据状态编号查表得到六路IGBT门极信号。AZSPWM只是把这一串编号改成不含0和7的序列比如扇区1用1-2-3-5-5-3-2-1。在Simulink里建立一个查表模块按照扇区号选择对应的状态序列同时把T1、T2、T0的映射表替换成AZSPWM的分配方式算法主体不需要重构。我第一次改的时候犯过错误只改了序列表忘了同步改时间分配结果脉冲宽度和伏秒平衡全部错位电流波形直接炸掉。这里强调一下序列是形式时间分配是实质两者必须一起换。4.3 共模电压测量电路的正确搭法共模电压的定义是三相输出相对直流母线中点电压的平均值但仿真里如果直接量三个相电压再求平均有时候并不准。原因是负载中性点需要有一个明确的参考仿真模型如果接法不对电位会被浮地影响。规范做法是在逆变器输出端和直流母线中点之间定义参考节点。用减法器把三相输出相对直流母线中点N的电压分别求出来再求平均。对应到物理模型里就是测逆变器输出节点对N的电压。另加一个验证信号是电机中性点n对直流母线中点N的电压它和共模电压之间有确定的对应关系两个信号互相验证能排除测量模块接线错误。4.4 死区时间对AZSPWM的影响实际逆变器上下桥臂互补导通关断必须加死区。Simulink里一般在IGBT门极输入串一个死区模块或者用带延时特性的开关模型。AZSPWM对死区比SVPWM更敏感原因是AZSPWM在一个载波周期里插入的反向矢量对本身时间很短死区插入后容易造成输出电压误差低速大转矩工况下更容易出现电流畸变。所以不要因为嫌麻烦就跳过死区仿真。建议先加2到3微秒死区跑一版再删掉死区跑一版对比THD差别会非常明显也能帮你判断实际产品的死区补偿算法需不需要额外处理。5. 仿真实测共模电压、线电压与THD的定量对比5.1 输出能力基本一致先看最基本的结果。仿真条件统一Vdc等于600V开关频率10kHz基波50Hz调制比m等于0.8负载R等于10ΩL等于10mH。SVPWM和AZSPWM输出的线电压波形都是典型的三相两电平梯形波负载电流都接近正弦。FFT分析显示两种算法的基波幅值几乎相同说明AZSPWM没有牺牲基本输出能力直流电压利用率没有变差。负载电流的THD有一点差别。SVPWM实测大概在2.8%上下AZSPWM1会到3.5%到4%之间。这个差别主要来自切换序列的谐波分布不同。AZSPWM把原本由零矢量提供的平均电平换成了两段反向矢量等效开关边沿的位置分布变了高次边带比SVPWM略高。对大多数应用来说THD小幅上升可以接受尤其是共模问题成为主要矛盾的时候。5.2 共模电压对比是最直观的差异这是两套算法区别最大的地方。600V直流母线10kHz载波SVPWM共模电压实测峰值在正负300V附近波形里能看到明显的平顶段对应V0和V7的持续时间。AZSPWM的共模电压峰值只有正负100V左右整段波形没有平顶是一个高频脉冲包络幅值窄了很多。从共模电压频谱看差别更明显。SVPWM的共模能量集中在开关频率及整数倍边带而且低频份量较强。AZSPWM因为始终保持三相都有开关动作共模电压在载波周期内的分布更均匀高频能量被打散。这个特性对EMI设计意义很大意味着同等级共模抑制要求下AZSPWM配一个小体积共模电感往往就够了。仿真里如果把共模电压接到频谱分析模块两组数据的对比会非常有说服力。5.3 调制范围和开关损耗的权衡AZSPWM不是白拿好处代价主要有两个。第一个是最大线性调制范围略低于SVPWM。调制比逼近1.0时SVPWM还能用一些专门的切换策略撑一段但AZSPWM因为把T0拆给了反向矢量对矢量饱和更容易提前出现。工程上按最大线性调制比0.95去限制会比较稳妥。第二个是开关损耗分布略有变化。每个载波周期开关次数和SVPWM一样但电流瞬时幅值较高的时候恰好对应开关动作的概率变了重载工况下器件结温可能比SVPWM略高。仿真里可以加一个热量模块统计器件损耗如果产品长期跑满载器件选型要留点裕量。指标SVPWMAZSPWM共模电压峰值相对母线中点±Vdc/2±Vdc/6电流THDm0.8约2.8%约3.5%~4%最大线性调制比约1.0约0.95每载波周期开关次数88直流电压利用率高高但过调制裕量小6. 工程选型建议AZSPWM在电机驱动中的价值边界6.1 哪些场景值得换用AZSPWM如果项目从来没有遇到过共模问题SVPWM没有任何换的必要。但遇到电机轴承电蚀、长电缆反射导致驱动器过压、EMI整改反复不通过这三种情况之一传统的SVPWM加输出滤波器方案往往又贵又占空间。AZSPWM在源头先砍掉共模电压三分之二的峰值后级滤波压力小很多。有实际项目里一台变频器换用AZSPWM发波后共模电感尺寸从大体积规格直接降了两档整改次数也大幅减少。对于伺服驱动、电梯驱动、矿山电机这种长线布局的应用这个路线值得优先评估。6.2 候选方案对比做决策之前最好把几种常见方案放在同一张表里比。AZSPWM实现复杂度中等不改硬件就能验证适合作为第一阶段方案。如果厂里共模指标实在苛刻再加共模滤波器形成组合拳。方案共模电压峰值实现复杂度电流THD硬件成本标准SVPWM±Vdc/2低低低AZSPWM±Vdc/6中中低SVPWM加共模滤波器可压到很低中高低高共模消除型拓扑四桥臂极低高低很高6.3 落地AZSPWM的三个坑第一个坑是控制采样和PWM更新的时序。AZSPWM对PWM更新相位比较敏感推荐对称采样在同一时刻同步更新三相占空比不然共模抑制效果会打折扣同时谐波会变差。第二个坑是死区补偿。AZSPWM在低载波比、低调制比下死区引起的电压误差会直接转化成电流畸变建议配合死区补偿算法一起用至少在稳态部分把调压误差补回来。第三个坑是过调制处理。需要把调制比限制在0.95左右或者在检测到调制比超限时平滑切回SVPWM。我在仿真里试过让AZSPWM硬跑调制比1.0波形明显失真输出电流出现不可忽略的低次谐波控制性能明显退化。最后说句实在话AZSPWM不是万能药但它把共模电压这个老大难问题的源头掐掉了改动又不大性价比很高。做仿真验证的成本也不高把SVPWM的切换序列表换成反向矢量对十分钟就能跑起来。真被轴承电蚀和EMI折磨过的朋友建议直接在下一版样机里把这条路试一遍波形出来之后你会回来感谢这篇文章。

相关新闻

社会网络分析实战:从关系建模到中心性指标与社群发现

社会网络分析实战:从关系建模到中心性指标与社群发现

1. 从“关系”出发:社会网络分析到底在解决什么问题很多人第一次听到“社会网络分析”这个词,脑子里浮现的可能是社交软件的好友关系图,或者某部电影里FBI在墙上钉满照片和红线的那种场景。实际上,社会网络分析(Social…

2026/10/19 11:07:00 阅读更多 →
Java跨平台视频大文件切片上传:从分片策略到兼容性避坑实践

Java跨平台视频大文件切片上传:从分片策略到兼容性避坑实践

做过视频上传这块的同学应该都有体会,单文件超过1GB、2GB之后,再往服务器传就不是“加个进度条”那么简单了。网络抖动、超时、服务器拒收、内存撑爆,各种问题轮着来。更头疼的是视频不像文本文件,它有明确的时长和编码结构&#…

2026/10/19 11:07:00 阅读更多 →
2026网络安全七大趋势:AI攻击下的零信任与身份安全实战指南

2026网络安全七大趋势:AI攻击下的零信任与身份安全实战指南

做了十几年安全,每年年底都会被问同一个问题:明年趋势是什么?说实话,趋势报告我看得不少,真正能指导预算和排期的没几篇。2026 年必须另说,因为推动变化的不是某一项技术,而是三个结构性变量同时…

2026/10/19 11:07:00 阅读更多 →

最新新闻

原生JavaScript实现贪吃蛇:核心逻辑与Canvas渲染实战

原生JavaScript实现贪吃蛇:核心逻辑与Canvas渲染实战

最近整理硬盘上的旧文件夹,翻出一个好几年前写的JavaScript贪吃蛇。当时是某段时间练手用的,代码写得很粗糙,注释也不全,但核心逻辑基本完整,跑起来没有问题。这几天花时间把代码理清爽、补上注释、顺手修掉几个当年没…

2026/10/20 5:38:13 阅读更多 →
大模型长期记忆系统设计:压缩、去重、遗忘、衰减与冲突处理

大模型长期记忆系统设计:压缩、去重、遗忘、衰减与冲突处理

1. 项目概述:为什么“长期记忆”不是加个数据库就完事了?“大模型长期记忆系统设计:记忆压缩、去重、动态遗忘、时间衰减与冲突处理应用实践24.0”——这个标题里没有一个词是虚的,全是实打实踩过坑、调过参、被线上事故教育过的硬…

2026/10/20 5:38:13 阅读更多 →
物理层实战指南:从奈奎斯特准则到眼图诊断的工程拆解

物理层实战指南:从奈奎斯特准则到眼图诊断的工程拆解

1. 这不是“背书式”复习,而是用工程师视角重解物理层你有没有试过翻开《计算机网络》第2章——物理层,满页都是“奈奎斯特准则”“香农公式”“曼彻斯特编码”“基带传输”“频带传输”……字都认识,连起来却像在读天书?更扎心的…

2026/10/20 5:38:13 阅读更多 →
字符田字格绘制

字符田字格绘制

一、实验目的 掌握 Python 的 print() 输出方法,理解空格和换行对字符图形的影响。掌握字符串拼接与重复运算,实现边框和格内空白的构造。理解嵌套循环的执行过程,使用函数完成可调整大小的网格绘制。 二、实验环境 本次验证环境为 macOS&…

2026/10/20 5:38:13 阅读更多 →
Windows内网提权完全指南:配置错误、漏洞路径与加固实战

Windows内网提权完全指南:配置错误、漏洞路径与加固实战

1. 为什么安全评估绕不开Windows内网提权做了这么多年Windows环境的安全评估和加固,我越来越觉得提权这块知识是所有系统管理员和运维同学绕不过去的坎。很多人觉得“提权”就是攻击者的专属话题,实际恰恰相反,一个不清楚内网中有哪些提权路径…

2026/10/20 5:38:13 阅读更多 →
Agent记忆系统完全指南:从架构拆解到工程实战

Agent记忆系统完全指南:从架构拆解到工程实战

做智能体(Agent)的项目时间越长,我越觉得“记忆系统”是最容易被低估、却又最能拉开体验差距的一块。大家平时聊天都喜欢盯着模型参数、工具调用、提示词模板,真正让一个 Agent 从“答非所问”变得“像个靠谱的同事”的&#xff0…

2026/10/20 5:37:12 阅读更多 →

日新闻

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/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出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/19 2:54:50 阅读更多 →
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/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →