数字多波束形成(DBF)的MATLAB仿真:从阵列流型到波束图
简介数字多波束形成DBF是阵列信号处理中的核心环节常用于雷达、通信与声呐系统。这份MATLAB仿真代码包面向需要理解多波束方向图合成原理的初学者通过可配置参数直观展示波束指向与阵列响应的关系。资源共2个文件压缩包仅2KB包括1个主仿真脚本.m和1个说明文档.txt结构精简便于直接运行和逐行研读。目前已有988人学习下载。代码内置四个独立波束方位角、俯仰角、载波频率以及阵元坐标、间距、个数均支持自由调整运行后可同时得到方位面和俯仰面的方向图波束指向与所设参数一一对应。关键步骤如参数设置、权值计算、波束扫描、方向图绘制均配有文字注释能够帮助读者快速掌握DBF的基本流程并在此基础上扩展自己的阵列设计实验。1. 数字多波束形成DBF能解决什么一套能先看见波束图的MATLAB仿真代码在做阵列信号处理时最容易被卡住的不是公式推导而是公式算完以后波束到底长什么样。数字多波束形成DBF把天线阵元的采样信号拿到数字域做相位补偿和幅度加权从而同时形成多个指向可控的波束。这份MATLAB仿真代码的价值是把教材里那个波束图公式从黑匣子变成你能直接改参数、立刻看结果的工程文件。它适合两类人刚接触阵列信号处理的工程师用来把“窄带模型”“阵列流型”“加权向量”这些概念落成能跑的代码做雷达与通信系统的从业者用来快速验证阵元数、阵元间距、加权方式对波束图的影响再决定硬件方案。整个工程不依赖额外工具箱加起来几百行装好MATLAB就能复现。2. 先立窄带模型再写代码阵列流型与DBF仿真工程结构2.1 为什么用窄带远场模型DBF最常用的假设与适用范围DBF仿真里绕不开两个前提窄带和远场。窄带指的是信号带宽B远小于载频f0这样才能把时间延迟折算成载波相位差远场指的是信号源到阵列的距离远大于阵列孔径波前才能近似成平面波。这两个假设同时成立时第n个阵元相对参考阵元的延迟τ_n可以只用角度θ和一个公共延迟项表达DBF的加权问题也就简化成一组复指数。实际工程里最容易翻车的地方是忘了检查假设是否成立。做5G毫米波通信或者窄带雷达时带宽相对载频很小窄带假设基本安全但如果你拿这套代码去仿超宽带信号或近场测试场景相位差里就要多出距离项和频率项窄带模型给出的波束指向会明显偏移。所以下载这份资源后先别急着跑main.m确认你的信号带宽和阵列孔径是否满足上述条件。提示窄带远场模型是后面所有代码的地基。判断标准很简单——信号带宽B f0/10且目标距离R 2·D²/λD为阵列孔径可以放心用。2.2 阵列流型向量与仿真参数表从阵元坐标到权向量均匀线阵ULA是DBF仿真里最常用的阵列结构。设阵元数为N阵元间距为d信号来向为θ相对阵列法线则第n个阵元相对第1个阵元的相位差是2π·n·d·sin(θ)/λ。把N个阵元的相位差写成向量就得到阵列流型a(θ) [1, exp(-j·2π·d·sinθ/λ), ..., exp(-j·2π·(N-1)·d·sinθ/λ)]ᵀ这个向量是后续所有波束形成的基础。对某个指向θ0做常规波束形成就是把权向量w设为a(θ0)的共轭对接收数据做加权求和输出功率最大的θ0就是目标来向。代码里计算流型向量时我一般直接用exp(-1j2pidsin(theta)/lambda)注意这里是1j不是j——MATLAB里j可能被用户当过变量覆盖1j是硬性的虚数单位能省掉一类莫名其妙的bug。仿真参数我用一个结构体统一管理典型配置如下表。这份参数表其实就是代码包里的sim_params.m内容改参数不用翻子函数。参数名符号典型值说明载频fc2.4 GHz中心频率用于计算波长λc/fc采样率fs20 MHz生成时间轴决定快拍时间间隔阵元数N8ULA阵元个数决定波束宽度阵元间距dλ/2半波长布局防栅瓣快拍数K1024采样点数影响协方差矩阵估计精度信号角度theta_s10°期望信号来向干扰角度theta_j-30°需要抑制的干扰来向信噪比SNR20 dB信号相对噪声功率干噪比INR30 dB干扰相对噪声功率2.3 仿真工程目录与数据流从sim_params.m到main.m这份资源下载下来是个完整的工程目录结构是这样的matlab_dbf/ ├── config/ │ └── sim_params.m # 全部仿真参数 ├── src/ │ ├── gen_array_data.m # 生成阵列接收数据 │ ├── conv_beamformer.m # 常规波束形成 │ ├── lcmv_beamformer.m # LCMV自适应波束形成 │ └── plot_beampattern.m # 绘制波束图 ├── main.m # 一键运行入口 └── tests/ └── test_beampattern.m # 自检脚本main.m里只需要两行加路径、跑仿真。子函数全部从config读取参数这样你想对比8阵元和16阵元的波束图时只改sim_params.m一个文件不会漏改。我的习惯是每个子函数第一行都加一句assert(isa(params,struct))防止写久了把参数传错类型。% main.m 一键运行入口 clear; clc; close all; addpath(genpath(pwd)); % 把config和src都加进路径 params sim_params(); % 读取全部仿真参数 data gen_array_data(params); % 生成阵列接收数据 w conv_beamformer(params, 10); % 常规波束指向10度 plot_beampattern(params, w); % 画波束图逻辑说明addpath(genpath(pwd))保证子函数和配置文件在任何Matlab版本下都能被找到sim_params返回结构体后续所有函数只依赖这一个结构体这是工程上最省心的传参方式。plot_beampattern内部扫描角度从-90到90度逐点计算加权响应并归一化到dB。参数说明第3行params来自sim_params()如果你要换阵元数、载频、快拍数在这一个文件里改。第5行传入的10是期望波束指向角度。跑完main.m屏幕上会弹出波束图峰值位置应该在10度附近否则直接跳去第4章查排错表。版本方面没有特殊要求。代码里用的都是基础语法不依赖Phased Array System ToolboxMATLAB桌面版装好就能跑近几年的新版本包括2026b这类带年份后缀的直接打开文件夹就能复现。3. 把波束形成器写成可复用代码静态多波束与自适应置零3.1 生成阵列接收数据信号、干扰与噪声的叠加仿真第一步是生成“接收机”看到的原始数据。一个标准的接收数据模型是X a(θs)·s a(θj)·j n即期望信号、干扰、噪声三者叠加。代码如下我特意把信号和干扰分开写方便你单独关掉干扰看波束图变化。function data gen_array_data(params) % 生成ULA阵列接收数据期望信号 干扰 噪声 fc params.fc; c 3e8; lam c / fc; d params.d; % 阵元间距 N params.N; % 阵元数 K params.K; % 快拍数 t (0:K-1). / params.fs; % 时间序列 % 期望信号 s(t) A * exp(j*2*pi*fc*t) A 10^(params.SNR/20); s A * exp(1j*2*pi*fc*t); % 干扰信号 J 10^(params.INR/20); j_sig J * exp(1j*2*pi*(fc1e3)*t); % 偏频干扰 % 阵列流型函数内联 steer (theta) exp(-1j*2*pi*d*(0:N-1).*sin(theta)/lam); % 合成数据每列是一个阵元每行是一个快拍 noise (randn(K,N) 1j*randn(K,N)) / sqrt(2); data s * steer(params.theta_s). j_sig * steer(params.theta_j). noise; end逻辑说明steer是内联的阵列流型函数theta_s和theta_j分别是信号和干扰来向。s是K×1列向量steer是N×1列向量s * steer.得到K×N矩阵每一列是一个阵元的K个快拍。噪声用randn生成复高斯白噪声除以sqrt(2)让实部虚部总功率为1。参数说明干扰我做了1kHz偏频是为了更接近真实场景防止干扰和信号完全同频时自适应算法把信号也一起消掉如果你只想看静态波束形成把INR改成0或直接注释掉干扰那一行。theta_s和theta_j都取弧度制代码里的sin(theta)要求弧度输入传参时用deg2rad转换我是直接在sim_params.m里写deg2rad(10)存进结构体。3.2 常规波束形成器与波束图绘制DBF的加法器本质常规波束形成CBF的本质是相位对齐后相加。权向量取流型向量的共轭再用w乘data最后对快拍求平均得到输出功率扫描所有角度就会得到波束图。function w conv_beamformer(params, theta0) % 常规波束形成权向量 指向theta0的流型向量共轭 fc params.fc; lam 3e8/fc; d params.d; N params.N; steer (theta) exp(-1j*2*pi*d*(0:N-1).*sin(theta)/lam); w conj(steer(theta0)); % 共轭对齐相位 w w / sqrt(w*w); % 归一化保持噪声增益一致 end逻辑说明conj(steer(theta0))与steer(theta0)做内积时各阵元相位被对齐期望方向信号同相叠加除以sqrt(w*w)是为了归一化权向量范数这样不同指向的波束图增益可以直接比较。实际绘制波束图时扫描角度theta从-90度扫到90度对每个theta计算w*steer(theta)得到的就是角度响应。function plot_beampattern(params, w) theta_scan deg2rad(-90:0.1:90); fc params.fc; lam 3e8/fc; d params.d; N params.N; steer (theta) exp(-1j*2*pi*d*(0:N-1).*sin(theta)/lam); resp zeros(size(theta_scan)); for i 1:length(theta_scan) resp(i) abs(w * steer(theta_scan(i))); end resp_dB 20*log10(resp / max(resp)); plot(rad2deg(theta_scan), resp_dB, LineWidth, 1.5); xlabel(角度 (deg)); ylabel(归一化响应 (dB)); grid on; ylim([-60 3]); end逻辑说明扫描步长0.1度画出来的波束图足够平滑。resp_dB做峰值归一化主瓣峰值在0dB旁瓣通常在-13dB左右8阵元均匀加权时的理论值。注意代码里的steer和之前保持一致扫描函数只在plot里用不改动数据。参数说明theta_scan的步长太大会漏掉主瓣细节太小会拖慢绘图0.1度是速度和精度的折中。如果你想看栅瓣第4章会讲到把扫描范围扩到-180到180度栅瓣一般在镜像角度出现。3.3 同时形成多波束用矩阵乘法代替for循环扫描多波束形成是DBF相对单脉冲最大的优势一组阵元数据可以同时输出多个指向的波束不需要为每个波束单独采样。实现上就是把多个权向量拼成矩阵W一次矩阵乘法算出所有波束输出。这也是数字多波束形成“多”字的真正含义。function beams multi_beamformer(data, params, theta_list) % 同时形成多个波束 % data: K×N 矩阵theta_list: 波束指向列表弧度 fc params.fc; lam 3e8/fc; d params.d; N params.N; steer (theta) exp(-1j*2*pi*d*(0:N-1).*sin(theta)/lam); W zeros(N, length(theta_list)); for i 1:length(theta_list) w conj(steer(theta_list(i))); W(:, i) w / sqrt(w*w); end beams data * W; % K×M每列是一个波束的时域输出 end逻辑说明data * W是矩阵乘法MATLAB底层会并行加速比for循环逐个波束相加快一个数量级。每个波束的时域输出是K×1复向量你可以接着做检波、测距、测角。实际代码就是一个矩阵乘法理解这一点后面加多少波束都不慌。参数说明theta_list可以传[-30 10 40]这样的向量对应3个波束的角度。如果波束数量特别多可以升级成基于FFT的波束形成但那要求阵元间距严格均匀属于工程优化玩法这份代码里没放避免第一次跑就被复杂度劝退。3.4 LCMV自适应置零让零陷对准干扰方向常规波束形成只能压低旁瓣不能主动抑制强干扰。线性约束最小方差LCMV波束形成器通过求解一个带约束的优化问题在保证期望方向增益不变的条件下最小化输出功率从而把零陷自动对准干扰方向。约束条件写成w·a(θs) 1。function w lcmv_beamformer(data, params, theta_s, theta_j_list) % LCMV波束形成 % data: K×N 接收数据theta_s: 期望信号方向theta_j_list: 干扰方向 fc params.fc; lam 3e8/fc; d params.d; N params.N; steer (theta) exp(-1j*2*pi*d*(0:N-1).*sin(theta)/lam); Rxx data * data / size(data, 1); % 采样协方差矩阵 N×N C steer(theta_s); % 约束矩阵只约束期望方向 g 1; % 期望方向增益为1 C [C, steer(theta_j_list)]; % 把干扰方向也加入约束加强零陷 g [g; zeros(length(theta_j_list), 1)]; % 干扰方向增益为0 X Rxx \ C; % 解线性方程组避免显式求逆 w X * ((C * X) \ g); % 满足约束的最小方差解 w w / sqrt(w*w); % 归一化 end逻辑说明Rxx是N×N协方差矩阵data * data里用的是共轭转置。约束矩阵C第一列是期望方向流型向量后面是干扰方向流型向量g对应各约束的增益值。用反斜杠求解而不是inv是为了避免Rxx条件数很大时求逆爆炸。w的求解本质是“在满足约束的权向量里找输出功率最小的那个”所以它会自动把功率集中在期望方向并在干扰方向置零。归一化那一行是为了绘图时和其他波束形成器直接对比。参数说明LCMV对协方差矩阵估计精度很敏感K太小时Rxx是病态的需要先用第2章的1024快拍。如果你发现零陷深度只有-20dB而不是-40dB多半是快拍数不够或者是干扰和信号角度间隔小于波束主瓣宽度算法分不开。加入的干扰约束数量不要超过N/2否则自由度耗尽波束图会严重畸变。4. 波束图偏了、栅瓣乱冒DBF仿真常见问题与排查记录这份代码我在不同机器上帮人排过不少问题最典型的五个坑集中在角度单位、阵元间距、协方差矩阵、随机数种子和符号约定上。每一条都按“现象 → 原因 → 解决”写清楚。4.1 翻车现场一主瓣指向和设定值差了3度**现象**主瓣峰值在7度而不是设定的10度波束图整体看起来“扁了”。**原因**要么是在sim_params.m里theta_s传的是角度制而src里的sin()函数期望弧度制要么是把阵列法线方向搞错了——ULA的法线是0度但有人习惯把0度定义成端射方向。**解决**统一角度单位我在sim_params.m里写params.theta_s deg2rad(10)所有子函数内部只处理弧度然后在plot_beampattern里用rad2deg(theta_scan)显示横轴。还有一个检查技巧先把theta设为0度峰值应该在0度如果不在去查steer向量里的相位符号是正还是负这与阵元排列顺序直接相关。4.2 翻车现场二波束图在非指向角度出现等高大瓣**现象**除了主瓣还在某个对称位置出现一个幅度几乎相等的瓣——这就是栅瓣。**原因**阵元间距d大于λ/2空间采样欠采样。最常见是把d直接设成0.1m而fc2.4GHz对应λ0.125m0.1m大于半波长0.0625m必然出栅瓣。**解决**约束d≤λ/2。我在sim_params.m里写的是d 3e8/fc/2直接让d跟随载频换频段时不会忘。如果你非要加大间距获得更窄波束只能通过降低载频或改用非均匀阵列来避免栅瓣这不是调参能绕过去的。4.3 零陷漂移LCMV算出来的零陷不在干扰位置**现象**设定干扰在-30度波束图里零陷出现在-35度深度也只有-15dB。**原因**Rxx估计用错了转置。data * data是共轭转置data. * data是不共轭的普通转置在复数信号下两个结果完全不同另外如果快拍数K小于阵元数NRxx必然奇异零陷位置会被数值噪声拖走。**解决**检查协方差矩阵计算公式是否为data * data / K把快拍数提高到N的4倍以上8阵元至少32快拍代码里的1024足够。打印Rxx的对角线元素如果数量级差异大于1e3考虑加对角加载Rxx Rxx 1e-6 * eye(N)这是工程上常用的后悔药。4.4 多波束同时输出时旁瓣抬高了5dB**现象**用multi_beamformer同时形成3个波束单个波束旁瓣从-13dB变成-8dB。**原因**多个波束共用同一组阵元数据当两个波束指向比较近时权向量之间存在相关性等效口径被“共用”了。**解决**拉开波束间距到1个波束宽度以上8阵元约12.8度或者在计算波束输出后做时域加窗。代码里multi_beamformer没有加窗因为在窄带仿真里窗函数的作用没有平面阵列仿真那么明显但对工程有参考意义。4.5 仿真结果每次都略有不同随机数种子与控制变量**现象**同一份参数两次运行波束图旁瓣细节不一样。**原因**gen_array_data里用了randn生成噪声每次运行噪声不同旁瓣本来就是由噪声和有限快拍决定的不是bug。**解决**在main.m开头加rng(2024)固定随机数种子。这样你和别人、你自己换机器结果都可复现。后面做验收比对的时候这一步很关键——不然别人跑不出你的图项目验收就变玄学了。提示如果上面几条对不上你的现象按这个顺序自查角度单位 → 阵元间距 → 协方差矩阵转置 → 随机数种子 → 数据类型。95%的DBF仿真问题集中在这五处。5. 从静态仿真到dbf测角用波束扫描验证权向量对不对代码包里的内容不只能画静态波束图还能直接用来做简单的测角验证也就是很多人搜的“dbf测角”。思路是把接收数据按不同指向的权向量扫描一遍输出功率最大的角度就是来波方向估计值。这本质上是空间谱扫描也叫波束扫描法。% doa_scan.m 波束扫描测角验证权向量一致性 function [est_theta, power_map] doa_scan(data, params) theta_scan deg2rad(-90:0.5:90); fc params.fc; lam 3e8/fc; steer (theta) exp(-1j*2*pi*params.d*(0:params.N-1).*sin(theta)/lam); Rxx data * data / size(data, 1); % N×N 协方差矩阵 power_map zeros(size(theta_scan)); for i 1:length(theta_scan) w conj(steer(theta_scan(i))); power_map(i) abs(w * Rxx * w); % 该指向上的输出功率 end [~, idx] max(power_map); est_theta rad2deg(theta_scan(idx)); end逻辑说明先算协方差矩阵Rxx再对每个候选方向计算w * Rxx * w得到功率随角度的分布。功率最大的角度对应的就是来波方向。验证方法很简单用第3章的data跑doa_scan估计角度应该落在10度附近信号来向误差小于0.5度说明整条链路权向量、阵列流型、数据生成是一致的。参数说明扫描步长0.5度测角分辨率大约0.5度足够验证一致性想更高精度就得用插值或子空间类算法但那是后话了。把theta_scan换成干扰角度-30度再扫一次峰值会落在-30度说明干扰分量建模正确。如果两个峰值同时出现说明信噪比和干噪比设置合理算法能区分两个来向。从那以后我每次改阵元数或者换频段都会跑一遍doa_scan和前几章的main.m确认峰值角度、零陷深度、旁瓣电平三个指标同时满足预期再继续往下做硬件方案。这个习惯帮我挡掉过至少三次因为阵元间距写错导致的返工。这份代码把从模型到验证的链路都串起来了希望你拿到手之后也能一次跑通希望帮到你。本文还有配套的精品资源点击获取

相关新闻

30B大模型手机部署实战:UFS 4.1存储优化与量化方案

30B大模型手机部署实战:UFS 4.1存储优化与量化方案

1. 当30B大模型撞上手机存储:一场注定要打的硬仗把30B参数的大模型塞进手机,这件事在两年前听起来像是天方夜谭。但到了今天,端侧AI已经从“能不能跑”进入到了“怎么跑得动、跑得稳”的阶段。我最近在折腾本地大模型部署的时候,反…

2026/10/3 10:17:04 阅读更多 →
Codex与Claude协同开发:额度优化与账号安全策略

Codex与Claude协同开发:额度优化与账号安全策略

1. 两套工具同时开工,我到底在图什么先把结论摆在前面:我同时用 Codex 和 Claude 做日常开发,不是因为钱多烧得慌,也不是因为对某个工具有信仰。核心原因只有一个——它们的能力边界不一样,而我的任务类型也不一样。把…

2026/10/3 10:17:04 阅读更多 →
Codex与Claude组合使用指南:额度优化与封号风险规避

Codex与Claude组合使用指南:额度优化与封号风险规避

1. 为什么要把 Codex 和 Claude 放在一起用 先说结论:我同时用 Codex 和 Claude 做 AI 编程,不是因为钱多烧得慌,也不是因为喜欢折腾,而是因为这两个工具在真实项目里的能力边界完全不同。单用任何一个,都会在某个环节…

2026/10/3 10:17:04 阅读更多 →

最新新闻

AI工程化从零开始:手写神经网络与部署全链路实战指南

AI工程化从零开始:手写神经网络与部署全链路实战指南

别把“from scratch”理解歪了。它不是让你用某个流行框架三分钟训练一个模型,也不是什么“零基础转码 AI 速成”的噱头。在我眼里,ai-engineering-from-scratch 就是一句话:作为一个工程师,你究竟能不能不依赖任何封装&#xff0…

2026/10/3 10:52:53 阅读更多 →
Python机器学习量化投资研究:数据、算法集成与回测全流程解析

Python机器学习量化投资研究:数据、算法集成与回测全流程解析

简介:这是一套面向量化投资学习者和金融科技从业者的Python机器学习实战资源,以基本面量化投资为核心场景,集成了线性回归、决策树、随机森林、支持向量机、XGBoost、LSTM等多种算法,覆盖数据预处理、特征工程、模型训练、策略回测…

2026/10/3 10:52:52 阅读更多 →
机器学习+量化投资:从特征工程到多算法集成的完整实践

机器学习+量化投资:从特征工程到多算法集成的完整实践

简介:本资源为Python机器学习驱动的基本面量化投资研究项目,包含完整源码、配套数据集与项目说明文档,面向具备一定Python基础、希望将机器学习算法应用于金融量化场景的学习者和研究者。包内共219个文件,主要由167个csv数据文件、…

2026/10/3 10:52:52 阅读更多 →
从零开始的AI工程:Prompt、Harness与Agent实战拆解

从零开始的AI工程:Prompt、Harness与Agent实战拆解

1. 从零开始的AI工程:这个领域到底在解决什么问题1.1 当"会用AI"变成"能交付AI系统",差距就出来了这两年我一直在做AI相关项目的落地交付,接触过大量团队后感受特别深:真正卡住大家的地方,早就不再…

2026/10/3 10:52:52 阅读更多 →
AI工程从零开始:构建可维护的大模型应用完整链路

AI工程从零开始:构建可维护的大模型应用完整链路

你有没有过这样的体验——用ChatGPT写几段代码、让它帮你润色一封邮件,觉得AI也不过如此?但当你接到一个真正的任务,比如“给公司做一个AI客服助手”“把工单系统接入大模型自动分类”,你会发现事情完全不一样了。模型吐出来的内容…

2026/10/3 10:52:52 阅读更多 →
Jev本地部署实战:从模型权重到Codex接入与RAG系统

Jev本地部署实战:从模型权重到Codex接入与RAG系统

最近我的几个技术群突然被同一个名字刷屏了:Jev。有人把它描述成“新出的编程模型”,有人在 Codex 工作流里已经接上它跑起了代码生成,还有人在到处问 Windows 能不能本地部署。我看了一圈社区讨论、GitHub 仓库和几个公开的实操案例&#xf…

2026/10/3 10:51:52 阅读更多 →

日新闻

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南 【免费下载链接】ex-skill 前任 skill 项目地址: https://gitcode.com/gh_mirrors/exsk/ex-skill 前任.skill 是一个运行在 Claude Code 上的开源 Skill:导入微信、iMessage、短信、…

2026/10/3 0:00:27 阅读更多 →
45个经典Linux面试题:从命令到网络排障的完整考点解析

45个经典Linux面试题:从命令到网络排障的完整考点解析

刚开始带应届生的时候,我最头疼的就是他们拿着一摞Linux面试题背得滚瓜烂熟,一上机全露馅。后来自己从被面的人变成面别人的人,才慢慢摸清楚:Linux面试题考的根本不是答案本身,而是你面对一个不确定的系统问题时&#…

2026/10/3 0:01:28 阅读更多 →
SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

简介:本资源是一份面向SAP ABAP开发人员、生产计划专员及ERP实施顾问的实操型操作指南,聚焦SAP生产预留核心业务场景,系统解决物料预留创建、查询、校验与批量处理等高频问题。文档以结构化方式覆盖预留背景原理、OMC2编码规则、工厂级参数配…

2026/10/3 0:01:28 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/3 9:14:33 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 9:47:50 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/3 9:42:31 阅读更多 →

月新闻

我发现了一个新思路:用 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/2 10:36:31 阅读更多 →
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/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练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/3 9:42:36 阅读更多 →