SINR自适应波束形成器MVDR Matlab仿真:强干扰下阵列信号处理
简介这是一份用于无线通信与雷达信号处理的自适应波束形成器MATLAB实现核心算法基于最大信干噪比SINR准则解决阵列天线在强干扰与噪声环境下期望信号接收质量不佳的问题适合通信工程、信号处理方向的学生与研究人员学习或作为课程设计参考。压缩包内仅含1个M文件代码体积847B文件精简严谨便于直接阅读与调试完整覆盖阵列接收数据预处理、关键参数定义、权值初始化、迭代优化以及波束响应图输出等流程。目前已有788人学习具有一定的参考热度。通过研读该代码可以直观理解如何利用梯度上升或最小二乘类方法迭代更新天线阵元权值在期望方向形成主瓣的同时抑制干扰与噪声同时能掌握MATLAB下自适应波束形成算法从建模到仿真验证的完整实现框架为后续扩展到LCMV、MVDR等波束形成器提供可复用的基础模块。1. SINR自适应波束形成器强干扰下还能保住目标信号的Matlab仿真代码做阵列信号处理的同行可能都有这个经历用最大信噪比波束形成时目标方向增益明明很高可干扰一来输出信噪比直接崩掉。SINR自适应波束形成器解决的就是这个问题它不追求单点增益最高而是把输出信干噪比作为优化目标在期望方向约束无失真同时把干扰和噪声的总输出压到最低。这套Matlab代码是模拟项目X里拆出来的覆盖了阵列快拍生成、采样协方差估计、MVDR权值求解和SINR曲线复现完整链路。适合正在复现自适应波束形成仿真、做阵列信号处理课程设计以及工作中需要快速验证MVDR效果的同行。不需要额外装工具箱开箱就能跑。2. 信号模型与优化目标SINR公式到底在优化什么跑代码之前先想明白一个问题MVDR权值到底是怎么从接收数据里算出来的如果这一段概念不牢后面改参数、排查零陷位置偏差都会变成纯玄学。2.1 均匀线阵导向矢量与接收数据模型考虑一个M元均匀线阵ULA阵元间距为d远场窄带信号以角度θ入射。第k个快拍的接收向量由三部分组成期望信号、干扰、噪声写成x(k) a(θ0)·s(k) a(θ1)·i(k) n(k)其中s(k)和i(k)是基带复信号n(k)是M维复高斯白噪声每个阵元上的噪声功率归一化为1。导向矢量a(θ)描述信号到达各阵元的相位差对ULA而言a(θ) [1, exp(j·2πd·sinθ/λ), …, exp(j·(M-1)·2πd·sinθ/λ)]^T这套代码默认d λ/2也就是半波长间距。这个选择很重要半波长间距下空间谱不会出现栅瓣导向矢量在[-90°, 90°]范围内是单射方向图的主瓣和零陷位置才可信。若把d改成0.6λ甚至0.7λ波束宽度虽然变窄了但栅瓣会把干扰方向的零陷复制到其他地方SINR曲线看起来忽高忽低很难排查。接收数据X是M×K矩阵每一列对应一个快拍K是采样快拍数。生成数据时信号的复幅度用randn生成并除以sqrt(2)确保复信号的总功率等于幅度平方。这样SNR_dB和INR_dB就能直接对应物理意义比如SNR_dB10表示信号功率是噪声功率的10倍INR_dB30表示干扰功率是噪声功率的1000倍。阵列信号模型还有一个容易被忽视的性质数据矩阵的秩。在没有噪声的理想情况下X的秩不会超过信号源数量之和所以当快拍数K小于M时采样协方差矩阵严格奇异即使K大于M如果干扰功率极强数值上也可能接近奇异。这个性质在后面协方差矩阵求逆时会反复冒出来。2.2 输出SINR分子是信号增益分母是干扰加噪声波束形成器的输出是各阵元数据的加权和y(k) w^H x(k)w是M维权向量。输出信干噪比的定义把整个算法的目标暴露得很清楚SINR (σ_s² · |w^H a(θ0)|²) / (w^H R_{in} w)其中R_{in} σ_i²·a(θ1)·a(θ1)^H σ_n²·I是干扰加噪声协方差矩阵。分子是信号方向的响应功率分母是残留的干扰和噪声功率。传统最大信噪比波束形成只优化噪声项没有建模干扰源干扰一强权值会在干扰方向形成很高的增益输出SINR迅速恶化。SINR自适应波束形成器等于是把分母换成了干扰加噪声联合协方差迫使权值在干扰方向生成零陷。注意分母里的R_{in}不是采样协方差R而是理想的干扰加噪声协方差。仿真代码里评估SINR时用理想矩阵这样得到的曲线是算法在当前环境下的性能上限。实际系统只能用采样协方差估计权值再把这个权值代入理想SINR公式评估这就是“用含噪数据训练、用理想数据评估”的仿真框架也是本文代码的基本逻辑。SINR是一个比值所以权向量乘任意复常数分子分母同时缩放SINR不变。这也是为什么MVDR解里可以随便归一化。代码中固定w^H a(θ0) 1纯粹是为了数值习惯不是优化约束带来的额外结果。2.3 从约束优化到闭式解MVDR为什么只需要一步逆矩阵把输出SINR最大化等价为这样一件事在期望方向响应保持为1的约束下最小化干扰加噪声输出功率数学形式是min w^H R_{in} w约束条件 w^H a(θ0) 1这就是最小方差无失真响应MVDR问题的原型。用拉格朗日乘子法求导得到闭式解w_mvdr R^{-1} a(θ0) / (a(θ0)^H R^{-1} a(θ0))如果R_{in}换成采样协方差R_hat得到的就是实际工程中最常用的自适应用法。这里必须强调的是当采样协方差里包含期望信号分量时高SNR下算法会把期望信号当成干扰来消除出现信号自消。所以实际代码里常见两种变体一种用纯干扰加噪声的采样矩阵估计权值另一种在R上叠加对角加载。模拟项目X的代码默认用采样协方差但同时预留loading参数方便你做对比实验。MVDR再往前一步就是LCMV即把单一方向约束扩展成多个约束方程。LCMV的权值形式是w_lcmv R^{-1} C (C^H R^{-1} C)^{-1} f其中C的每一列是一个约束导向矢量f是对应的期望响应。想给某个干扰方向强制置零只需把该方向的导向矢量加进C并令对应的f元素为0。理解了MVDR的推导再看LCMV就是多一个矩阵求逆的事。上述推导是整份代码的理论地基。后面每一段Matlab代码都是把这里的数学公式翻译成矩阵运算而已。3. 核心代码逐段拆解阵列快拍、协方差矩阵与MVDR权值拿到代码压缩包里面文件不多大致是三件事生成数据、算权值、画曲线。我按实际阅读顺序拆开讲。3.1 文件结构与参数初始化入口压缩包的结构大概是这样的main.m 运行入口负责循环和扫参 steervec.m 计算ULA导向矢量 mvdr_beamformer.m MVDR权值闭式解 sinr_eval.m 计算输出SINR plot_beampattern.m 画阵列方向图拆分的好处是你换阵型时只要改steervec和接收数据生成部分扫参数时只动main.m顶部的参数区。main.m开头是一段参数配置直接决定后面的仿真行为% 仿真参数配置main.m 顶部 M 8; % 阵元数 d 0.5; % 阵元间距单位波长 theta0 0; % 期望信号来向度 theta1 -30; % 干扰来向度 SNR_dB 10; % 信号信噪比 INR_dB 30; % 干扰干噪比 K 500; % 快拍数 num_mc 200; % 蒙特卡洛次数 loading 0; % 对角加载量0表示关闭参数区里d0.5是半波长这个值不是随便写的后面第5章的栅瓣问题就出在这里。K至少是M的3倍低于这个值采样协方差矩阵的质量不足以支撑自适应零陷。loading默认0开启时把R_hat替换成R_hat loading*eye(M)。3.2 导向矢量与接收数据生成steervec.m是整个工程正确性的地基写得不对后面全是错的% steervec.m —— 生成均匀线阵导向矢量 function a steervec(theta_deg, M, d) idx (0:M-1).; % 阵元索引从0开始 a exp(1i * 2 * pi * d * sin(deg2rad(theta_deg)) * idx); endidx从0开始是这里唯一的细节。用(1:M)也能出向量但所有阵元的相位多了一个公共偏移线性相位关系不变所以理想情况下SINR不受影响可一旦环境里有色噪声或者矩阵求逆出现数值截断这点偏移就会表现为方向图主瓣的小幅漂移排查时非常恼人。从0开始是阵列信号处理的标准写法。接收数据生成放在主循环里% 生成期望信号、干扰和噪声快拍 sig_amp sqrt(10^(SNR_dB/10)); int_amp sqrt(10^(INR_dB/10)); a0 steervec(theta0, M, d); a1 steervec(theta1, M, d); s sig_amp * (randn(1,K) 1i*randn(1,K)) / sqrt(2); i int_amp * (randn(1,K) 1i*randn(1,K)) / sqrt(2); n (randn(M,K) 1i*randn(M,K)) / sqrt(2); X a0 * s a1 * i n; % M x K 接收数据矩阵randn产生的是零均值、方差1的高斯随机数复数除以sqrt(2)后实部虚部的方差各为1/2总方差正好是1。这样sig_amp的平方就等于信号功率SNR_dB的定义与噪声功率1对应。X是M×K矩阵每一列是一个快拍矩阵的行对应阵元。3.3 协方差估计、MVDR权值求解与SINR评估协方差估计和权值求解合在一起通常是两三行代码的事但这里要把“训练”和“评估”分开否则你没法解释为什么SINR曲线在高SNR端往下掉% 采样协方差矩阵估计 R_hat (X * X) / K; % MVDR 权值 w mvdr_beamformer(R_hat, a0, loading);mvdr_beamformer的实现是闭式解% mvdr_beamformer.m —— MVDR 权值闭式解 function w mvdr_beamformer(R, a0, loading) if nargin 3 || isempty(loading) loading 0; end R_reg R loading * eye(size(R,1)); w (R_reg \ a0) / (a0 * (R_reg \ a0)); end反斜杠求逆比inv()数值稳定这是在Matlab里处理协方差矩阵的一个基本习惯。当R_hat条件数很差时inv()会把最小奇异值对应的噪声方向无限放大反斜杠的QR分解路径稍微好一些但仍不能根治根治手段还是对角加载。评估SINR用的是理想的干扰加噪声协方差% 用理想R_i_n评估当前权值的SINR R_i_n int_amp^2 * (a1 * a1) eye(M); sinr (sig_amp^2 * abs(w * a0)^2) / real(w * R_i_n * w); sinr_dB 10 * log10(sinr);分母中w * R_i_n * w理论上是实数但浮点计算会带极小的虚部这里用real()包一层防止log10遇到复数。分子里的abs(w*a0)^2直接就是实数。这个细节在批跑仿真时非常重要一个NaN就能让整条曲线断掉。到这里从参数到输出SINR的最小闭环就打通了。先跑通这一节再去扫参和画方向图。4. 参数配置与曲线复现阵元数、快拍数、干噪比怎么配参数配置是很多人拿到代码后第一个迷茫点。模拟项目X里验证过的参数组如下对应不同仿真目的每行都可以直接替换到main.m顶部。仿真目的MSNR_dBINR_dBtheta0theta1Kloading基线方向图810300-305000SINR vs SNR8-10~30300-3010000SINR vs 快拍数810300-3050~20000鲁棒性对比810300-252000.1*trace(R)/M阵元数影响4/8/1610300-305000这张表里最有价值的是鲁棒性对比那一行theta1设为-25度和theta0只差25度干扰方向已经比较接近主瓣这时不开加载方向图零陷会偏SINR比理想值低好几个dB开加载后零陷变宽变浅代价是主瓣稍宽。用这组参数你能亲眼看到鲁棒性和分辨率的取舍。角度间隔的问题当干扰与期望信号的角度间隔小于波束宽度时MVDR很难在干扰方向同时保持主瓣增益和深零陷代码跑出来的SINR会显著低于理论值。波束宽度大约为2/M弧度M8时约14度所以theta1和theta0至少隔15度以上要复现“漂亮”的零陷曲线间隔拉到25度更稳。4.2 扫参循环SINR vs SNR曲线的标准写法要画SINR随SNR变化的曲线最直接的做法是循环改SNR_dB每次重新生成快拍snr_vec -10:2:30; % 扫描范围 sinr_mean zeros(1, length(snr_vec)); for i 1:length(snr_vec) SNR_dB snr_vec(i); sinr_tmp zeros(1, num_mc); for mc 1:num_mc % 重新生成X并计算sinr_dB见第3章代码 sinr_tmp(mc) sinr_dB; end sinr_mean(i) mean(sinr_tmp); endnum_mc取200是时间开销和曲线平滑度的一个平衡点。取50时曲线很毛糙取500时平滑度到顶后面的改进非常有限但耗时翻倍。如果你想省时间可以先跑50次看趋势确认没写错再上200次。快拍数扫描也建议用对数间隔比如[50, 100, 200, 500, 1000, 2000]因为协方差估计误差大致按1/sqrt(K)下降线性间隔会在低快拍区挤成一团看不出规律。画图时横轴用logscale从纯工程角度解释就是加不加logK在50和100的区别远大于1000和2000的区别。4.3 参数改不动时按什么顺序查扫参结果异常时按这个顺序查能挡掉大部分问题。先查X的维度X a0s a1i n三项都是M×KK M这是硬性条件。再查R_hat的条件数cond(R_hat)超过1e14基本就是数值上的秩亏缺要么加大K要么开loading。然后查SINR公式里有没有漏real()虚部会带崩log10。最后查角度间隔和d的值θ1与θ0太近、d大于0.5λ都会让方向图零陷失常。这套检查顺序我用到现在大多数“代码跑不通”其实都是这四类问题。真正算法层面的bug反而少见因为MVDR闭式解就两行不容易写错。5. 常见问题与排查协方差奇异、信号自消、权值漂移这一章是血泪经验。我在复现自适应波束形成时踩过的坑每一条都按现象、原因、解决来写可以直接对照排查。5.1 现象R_hat求逆时报“矩阵接近奇异”仿真时如果K取50M取8理论上K M但依然可能报矩阵奇异。原因有两个一是干扰的功率太大INR_dB40时R_hat的最大奇异值和最小奇异值能差十几个数量级double精度下最小奇异值被截断矩阵数值上变成奇异的二是快拍信号里存在强相关性比如干扰和信号同时为单频复指数采样协方差的秩会不够。解决方法是加对角加载或者用伪逆pinv(R_hat)。我一般优先加加载量取1e-6到1e-3倍R的迹足够稳定又不至于扭曲权值。另一个做法是把快拍数提到M的3倍以上K3M是一个工程经验下界低于这个值就别谈什么性能。5.2 现象SNR越高SINR越低曲线在高信噪比端掉头这是最经典的自适应波束形成翻车现场。原因是采样协方差里包含期望信号高SNR时约束w^H a(θ0)1仍然要满足但算法为了压制被当成“干扰”的期望信号分量会在信号方向附近制造一个零陷结果信号被自己压掉了。解决思路有三种训练数据里不含期望信号直接估计R_{in}使用对角加载把信号自消的深度限制住或者改用最差性能最优波束形成这类鲁棒算法。这套代码里最容易操作的是开启loading参数把loading设为0.1*trace(R)/MSINR曲线高SNR端就稳了。5.3 现象方向图主瓣指向对了但零陷位置偏差很大阵列方向图画出来主瓣对准0度干扰方向-30度附近的零陷却偏移了23度。原因往往是角度扫描网格取太粗比如每1度一个点-30度正好在网格上时零陷很深一旦干扰角度改成-30.5度采样协方差里的导向矢量和实际矢量的相位差积累零陷就被抹平。解决方法是把扫描网格细化到0.1度并且生成干扰快拍时用的角度要和评估方向图时一致。还有一种情况是阵元间距d写成0.6λ导致空间谱出现栅瓣零陷在-30度和它的栅瓣位置重复出现这种问题把d改回0.5就没了。5.4 现象蒙特卡洛平均后SINR曲线还是锯齿状我一开始以为是算法问题查了半天发现是随机数没固定。Matlab的randn每次启动序列都不一样如果不固定随机种子每次跑出来的R_hat都略有差异蒙特卡洛平均次数又不够时曲线自然毛糙。解决是在main.m开头加rng(2025)固定种子后每次运行结果可复现调参才能真正对比。这个习惯帮我节约了大量比对时间。5.5 现象SINR计算出来带复数虚部log10报错SINR分母wR_i_nw理论上是实数但浮点运算下会有极小虚部不处理直接调10*log10会报错。解决是分母用real()包一层分子|w*a0|^2本身就是实数。这个坑虽然小但在批量跑仿真时一个NaN就会让整组曲线断掉。6. 进阶玩法对角加载与收敛性验证MVDR跑通之后下一步值得做的是加鲁棒性以及确认自己代码没有隐藏的数值错误。这两件事合起来就是把代码从“能出图”变成“知道自己为什么出这张图”。对角加载的实现只改一处但加载量怎么取是经验活% 对采样协方差做对角加载 loading 0.1 * trace(R_hat) / M; R_reg R_hat loading * eye(M); w (R_reg \ a0) / (a0 * (R_reg \ a0));加载量取R的迹除以M后再乘0.1是工程上常用的经验值。你可以写一个扫描循环把加载系数从1e-4扫到1观察SINR曲线的拐点。系数太小没效果太大则退化成常规波束形成自适应零陷消失。那个拐点就是当前仿真场景下加载量的合理上界。收敛性验证是另一件值得做的事。固定SNR和INR把K从50扫到5000画出SINR随快拍数的曲线同时把理论最优SINR画成一条水平线。理论最优值用理想R_{in}代入MVDR闭式解算出来。仿真曲线在高快拍端应该逼近这条线如果差很远说明协方差估计或权值计算里有偏差而不是单纯“快拍不够”。我后来在模拟项目X里还加了一个方向图对比理想权值和采样权值各画一张方向图叠在一起观察零陷深度的差异。这一步把数值偏差变成可见的图形排查信号自消问题时特别直观。这份代码包里已经把上面这些坑都踩平了你拿到手的主要精力应该花在改参数上。从那以后我每次拿到新的波束形成代码都会固定随机种子、先跑一遍K1000的基线再开对角加载对比最后用方向图确认零陷位置。这套流程帮我挡掉了很多隐性bug希望帮到你。本文还有配套的精品资源点击获取

相关新闻

使用Windows自带IIS工具搭建FTP服务,详细教程!

使用Windows自带IIS工具搭建FTP服务,详细教程!

这篇教程搭建FTP服务的方式是采用Windows系统自带的IIS工具,核心步骤主要有4个: 1、安装IIS工具; 2、设置开机启动FTP服务; 3、创建FTP用户; 4、配置FTP服务器; 声明一下:搭建FTP建议升级成 Win…

2026/10/18 3:03:07 阅读更多 →
AI PR门禁落地实践:用GitHub Actions搭建结构化代码审查流水线

AI PR门禁落地实践:用GitHub Actions搭建结构化代码审查流水线

上个月我们团队终于把"AI先审、人工再审"这套流程正式固化成了一条CI流水线,跑在GitHub Actions里。前前后后我们改过三版,踩了不少坑,最后发现整个接入过程其实就三个关键动作:触发工作流、让AI返回结构化结论、把结论…

2026/10/18 3:03:07 阅读更多 →
2026年告别Token焦虑:AI API聚合站怎么选,四大顶级平台测评实录

2026年告别Token焦虑:AI API聚合站怎么选,四大顶级平台测评实录

做 AI 应用最让人头疼的莫过于 Token 账单与多平台管理:模型分散在 OpenAI、Anthropic、Google 与各家国产厂商,注册、充值、对账样样费神。API 聚合站正是为此而生的"AI 模型超市"——不需要逐家注册账号,也无需折腾国外信用卡&am…

2026/10/18 3:03:07 阅读更多 →

最新新闻

园区网实训报告全流程:从VLAN规划到NAT配置

园区网实训报告全流程:从VLAN规划到NAT配置

每年实训季我都会收到一堆让人头大的报告,拓扑图贴得挺漂亮,配置命令密密麻麻占了好几页,但你随便挑一句问“为什么网关要放在核心交换机上”,对方多半答不上来。实训报告既然叫“报告”,它就不是配置命令的粘贴板。它…

2026/10/18 4:38:32 阅读更多 →
RTP.NET实战指南:从实时传输协议到C#音视频开发示例

RTP.NET实战指南:从实时传输协议到C#音视频开发示例

简介:RTP.NET是一款基于.NET框架实现的RTP实时传输库,面向需要处理音视频、VoIP及流媒体等实时数据的C#开发者。库内封装了RTPSession会话管理、参与者标识、数据包化、负载类型识别、事件驱动API与丢包恢复等关键机制,能够显著降低基于RTP构…

2026/10/18 4:38:32 阅读更多 →
CSC联培推荐信写作规范:科研叙事、证据链与可验证性

CSC联培推荐信写作规范:科研叙事、证据链与可验证性

简介:本资源是一份专为申请国家留学基金委(CSC)联合培养博士研究生项目的高校导师定制的推荐信模板,面向国内高校硕博导师、研究生院管理人员及拟申报CSC联培项目的博士生本人。模板严格对标CSC校内评审要求,完整覆盖被…

2026/10/18 4:38:32 阅读更多 →
TIPC入门实战:从零跑通Linux集群消息收发

TIPC入门实战:从零跑通Linux集群消息收发

写这篇的时候,我刚从一个集群调测现场回来,趁着热乎劲把TIPC入门阶段该知道的东西整理出来。这个系列做到第六篇,前几篇要么在讲原理,要么在讲内核实现,不少读者反馈说看得懂但上手还是懵。所以这篇定位很明确&#xf…

2026/10/18 4:38:32 阅读更多 →
重读RFC 793:TCP协议底层行为与状态机实现精要

重读RFC 793:TCP协议底层行为与状态机实现精要

1. 为什么今天还要亲手翻RFC 793?不是有现成译文吗?“RFC 793翻译(TCP的主体内容)”——看到这个标题,很多刚接触网络协议的人第一反应是:网上早就有中文版了,GitHub上搜一搜、CSDN点开就看&…

2026/10/18 4:38:32 阅读更多 →
图像相似度匹配实战:从特征向量到向量检索的完整方案

图像相似度匹配实战:从特征向量到向量检索的完整方案

我第一次被图像相似度匹配这个技术按在地上摩擦,是在一个UI自动化测试项目里。当时需求很简单:把待测页面截图和历史基线截图丢给程序,告诉我这两个页面是不是同一个页面。我第一反应是直接逐像素对比,结果被动态文案、加载动画、…

2026/10/18 4:37:32 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/18 0:00:55 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →