【学习记录】射线补偿原理与实现:从物理模型到MATLAB代码
【学习记录】射线补偿原理与实现从物理模型到MATLAB代码在经颅超声聚焦中颅骨会引入严重的相位畸变和幅度衰减。射线补偿Ray Compensation是一种快速预补偿方法通过沿直线积分介质参数计算每个通道的额外延时和衰减然后反向补偿。本文从原理、数学公式、离散实现、补偿逻辑到完整实现链条系统梳理射线补偿的全部知识点并对照实际脚本说明其局限。 目录原理一句话物理模型数学公式离散实现梯形积分补偿逻辑完整实现链条对应脚本局限总结一、原理一句话把声波从阵元到焦点的路径近似成一条直线沿这条线积分介质的慢度和衰减得到每通道的额外延时和额外衰减然后反向补偿。二、物理模型2.1 声波走直线真实声波在骨-水界面会折射路径弯曲。射线法忽略折射假设波沿直线从阵元走到焦点。⚠️这是一个近似但计算极快适合快速预检。2.2 沿直线积分对每个阵元画一条到焦点的直线。直线上每一点的介质参数声速、衰减从 k-Wave 的介质网格里插值得到。沿这条线积分慢度积分→ 总传播时间衰减积分→ 总衰减2.3 减去纯水参考得到“额外延时”和“额外衰减”这两个差值才是颅骨引入的畸变需要补偿。三、数学公式3.1 额外延时总传播时间纯水参考时间额外延时3.2 额外衰减幂律衰减模型沿直线积分额外衰减相对幅度四、离散实现梯形积分连续积分在代码里用梯形法离散% 1. 把直线分成 nIntervals 段nIntervalsceil(L/sampleStepMm);% 采样间隔 网格步长的一半tlinspace(0,1,nIntervals1);% 2. 计算每个采样点的坐标pointsMmelementMmt*(focusMm-elementMm);% 3. 插值查介质参数soundSpeedinterpolants.soundSpeed(pointsMm);alphaCoeffinterpolants.alphaCoeff(pointsMm);% 4. 梯形权重weightsones(nSamples,1);weights(1)0.5;weights(end)0.5;% 5. 积分dsMmL/nIntervals;travelTimeSec(dsMm*1e-3)*sum(weights.*(1./soundSpeed));alphaIntegral(dsMm/10)*sum(weights.*alphaCoeff);梯形法把积分区间分成小段每段用梯形面积近似再求和。五、补偿逻辑5.1 延时补偿extraDelayUs是绝对延时——穿骨越厚越大。补偿refmax(extraDelayUs);compDelayref-extraDelayUs;物理直觉穿骨最厚的通道延时最大 → 补偿量 0它已经最晚穿骨最薄的通道延时最小 → 补偿量最大它需要等这样所有通道同时到达焦点。5.2 幅度补偿relativeAmplitudeScale是接收幅度比。补偿gainrelativeAmplitudeScale.^(-gamma);% gamma 控制强度gaingain/mean(gain);% 归一化gain(1-blend)blend*gain;% 与均匀混合gainmax(minGain,min(maxGain,gain));% 限幅gammagamma值含义gamma 0不补幅度gamma 0.5半补ray_compensatedgamma 1全补⚠️限幅防止把噪声放大。六、完整实现链条1. 读探头坐标 颅骨介质 ↓ 2. 对每个有效阵元 a. 画直线到焦点 b. 沿直线采样介质参数 c. 梯形积分得时间和衰减 d. 减去纯水参考 ↓ 3. 输出 focus_channel_attenuation.csv extra_delay_us, relative_amplitude_scale ↓ 4. 补偿 compDelay max(extraDelay) - extraDelay gain relativeAmplitudeScale .^ (-gamma) ↓ 5. 构造发射信号 source.p(k,:) gain(k) * circshift(pulse, compDelay(k)/dt) ↓ 6. 跑 k-Wave记录焦平面算指标七、对应脚本脚本职责simulate_skull_attenuation画直线、积分、输出补偿表skull_focus_ray_phase_compensated_export只补延时幅度均匀skull_focus_ray_compensated_export延时 轻度幅度skull_focus_simulation_export构造发射信号、跑仿真、算指标八、局限假设真实后果直线传播骨-水界面强折射相位残差几十度无多次散射颅骨内反射、模式转换能量预测偏差点源阵元有限尺寸 2.5 mm高估焦点锐度静态介质颅骨不均匀个体差异⚠️折射是最大误差源。这就是为什么射线补偿只能到 20–30%而全波时反能到 50–80%。九、总结射线补偿 沿直线积分介质参数得额外延时和衰减反向补偿。维度内容原理直线近似 数值积分实现griddedInterpolant查参数 梯形法积分补偿延时取max - 当前幅度取scale^(-gamma)局限忽略折射精度有限定位快速预检不是最终方案一句话总结射线补偿是经颅超声聚焦的快速预补偿方法沿直线积分介质慢度和衰减得到每通道的额外延时和衰减反向补偿后让所有通道同时到达焦点。但它忽略了折射这一最大误差源精度有限只适合快速预检。

相关新闻

REA:AI Agent驱动的四阶逆向探针系统

REA:AI Agent驱动的四阶逆向探针系统

1. REA 不是又一个“AI Agent 框架”,而是一把逆向工程级的探针“REA:让 AI Agent 从应用表象一路追到二进制深处”——这个标题里没有一个虚词,全是动词和路径。它不讲“赋能”,不提“生态”,更不谈“范式升级”。它说…

2026/10/17 8:01:16 阅读更多 →
SQL四大操作语句避坑指南:ORDER BY、INSERT、UPDATE、DELETE

SQL四大操作语句避坑指南:ORDER BY、INSERT、UPDATE、DELETE

1. 从一条报错开始的SQL基础课前阵子带一个新人看数据库里的订单表,他写了一条语句想把订单金额大于1000的记录挑出来并按金额倒序排,结果运行出来数据全乱了,金额有大有小,排序完全不对。他拿着屏幕来找我,我扫了一眼…

2026/10/17 8:01:16 阅读更多 →
TensorFlow静态库编译实战:从Bazel构建到工业部署

TensorFlow静态库编译实战:从Bazel构建到工业部署

1. 为什么要把 TensorFlow 编译成静态库把 TensorFlow 编译成静态库这件事,听起来像是“重复造轮子”,毕竟官方已经提供了 pip 包、Docker 镜像、甚至预编译的 C 动态库。但真正在工业部署、嵌入式设备、或者需要把模型推理能力塞进一个独立可执行文件的…

2026/10/17 8:01:16 阅读更多 →

最新新闻

STM32F103移植W5500 ioLibrary:SPI驱动与socket通信实战

STM32F103移植W5500 ioLibrary:SPI驱动与socket通信实战

简介:面向基于STM32F103RCT6等MINISTM32平台的嵌入式开发者,这套W5500 ioLibrary移植工程包含完整的驱动适配代码,可直接参考使用。W5500是集成SPI接口的硬核以太网控制器,自带TCP/IP协议栈,配合STM32的SPI外设即可实现…

2026/10/17 11:31:27 阅读更多 →
Python 操作 Git 仓库:subprocess 与 GitPython 选型与避坑实战

Python 操作 Git 仓库:subprocess 与 GitPython 选型与避坑实战

我自己的日常里,真正让我下决心系统地用 Python 去操作 Git 仓库,是因为一次“人肉同步十几个仓库”的惨痛经历——明明都是机械式的git add、git commit、git push,但一旦仓库数量上来,手动敲命令就容易漏,某次还因为…

2026/10/17 11:31:27 阅读更多 →
AI Agent落地餐饮数字化:从客服到供应链的全链路实战

AI Agent落地餐饮数字化:从客服到供应链的全链路实战

开头不写AI套路话,直接用场景切入。 上个月我帮一个做连锁餐饮的朋友梳理门店数字化方案,聊到一半他忽然问我:“你说的AI,到底和我们现在用的扫码点餐、ERP进销存有什么区别?不就是换个方式记数据吗?”这个…

2026/10/17 11:31:27 阅读更多 →
Python操作Git仓库完整实操:原理、封装与踩坑记录

Python操作Git仓库完整实操:原理、封装与踩坑记录

直接上手 Python 操作 Git 仓库,这是我踩过不少坑之后整理出来的完整实操记录。不管你是想批量拉取几十个仓库、做自动化发布脚本,还是写一个像样的小工具来管理多项目,这套内容都能直接抄作业。文章里我会把底层原理、工具选型、代码封装、常…

2026/10/17 11:31:27 阅读更多 →
神经网络如何自发形成学习能力:自组织机制观测指南

神经网络如何自发形成学习能力:自组织机制观测指南

1. 这不是“教AI怎么学”,而是看神经网络自己长出学习能力的过程你有没有想过,一个刚初始化的神经网络,参数全是随机数,连最简单的加法都算不对,它凭什么能在训练中突然“开窍”,不仅学会识别猫狗&#xff…

2026/10/17 11:31:27 阅读更多 →
Ultraedit使用:配置字数统计工具栏与TaoToken API Key统一管理

Ultraedit使用:配置字数统计工具栏与TaoToken API 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 11:30:27 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →