当前位置: 首页 > news >正文

IVUS中FIR滤波应

一、IVUS

人们都接触过超声(ultrasound),大多数人接触超声估计还是从电影中的反潜作战中看到的。后来,随着应用的普及,可能家庭中有孕妇之类的情况也会有超声的检测。对绝大多数人看来,超声检测只是看到一大片黑乎乎的屏幕上分布着不同的斑点罢了。但实际上,这些斑点的用处可大了。
在心脏手术的应用上,超声也有很大的作用。IntraVascular UltraSound,也就是IVUS,是一种微创的血管内成像技术。可以理解成用一个微型的超声探头,在血管内部发射高频的声波,通过不断的旋转和前后位移来获取连续的血管的横截面图像。超声在不同的组织的反射能力各有不同,所以就可以通过反射回来的成像来判断血管内是否存在血栓、斑块以及血管壁上是否有纤维化或钙化等情况。通过医生的评估进行风险干预,包括但不限于药物治疗、安装心脏支架等。同时,还可以在术后进行治疗结果的评估,比如支架的贴壁情况等等。
IVUS有效的弥补了冠状动脉造影(CAG,Coronary Angiography)的不足,是一种冠心病诊断和介入治疗中非常重要的方法。

二、FIR在IVUS中的应用

在前面已经了解了FIR,那么在IVUS中为什么要引入FIR呢?既然在IVUS中使用超声,那么就极有可能会引入噪音或低频漂移(catheter motion)。也就是说,可以通过带通滤波来实现对非关心信号的过滤。同样,如果在知晓发射脉冲频率的情况下,也可以根据发射脉冲进行滤波匹配,实现对信噪比(SNR)和轴向分辨率(axial resolution)的提升。
而且,如果在后续的信号处理中要进行降采样(decimation或IQ demodulation),那么在之前的抗混叠滤波中就必须进行FIR。 另外,在包络提取前后滤波,Hilbert变换/包络检测链路中用FIR做平滑,可以提高灰阶图稳定性。 使用线性相位FIR在尽量保持边缘的前提下降噪,可以改善血管壁/斑块可视化,提高图像的质量(斑点噪声抑制与图像平滑)。

三、需求处理

如果想获取关心的带宽信号,一般来说需要对相应的带宽边界进行外延。而这个外延的范围需要一个经验值,其处理方流程如下:

  1. 确定定指标
    一般给出 f0(探头中心频率)、BW(-6 dB带宽)、fs(采样率)、允许纹波 Rp、阻带衰减 A,过渡带宽Δf
  2. RF带通FIR
    通带常取:[f0(1-BW/2), f0(1+BW/2)](按实际频响微调)
    阶数常用 Kaiser 估算,计算公式:

N ≈ (A-8)/(2.285*Δω),Δω=2πΔf/fs
Δf=∣fstop−fpass∣
其中:
A = stopband attenuation (dB):阻断衰减
Δω = 归一化过渡带

在实际应用中可简化为:

对称线性相位FIR,可以保持回波形态不被相位畸变
3. 时延与成像补偿
FIR群时延:τg = N/(2fs),需要在深度轴补偿,否则会有轴向偏移。也就是说,计算后要进行数据的偏移处理

四、计算阶值

下面看一个计算阶数的例子(真正的数据需要一个实际测量的经验值,下面只是一个模拟的例子):

  1. 设定目标
    fs = 200MHz, passband为35~65MHz,stopband为低于30MHz和高于75MHz
  2. 计算N(阶数)
    Δf= min(35-30,75-65)=5
    N=200/5=40taps
  3. 利用工具进行阶数计算
    可以利用Pyton相关的库进行计算
Fs=500e6low,high=10e6,70e6nyq=0.5*Fs#阶数 (Order/Taps):一般推荐101,在500MHz下可提供约5MHz的过渡带宽度#firwin:是 SciPy 库中用于设计‌有限脉冲响应(FIR)滤波器‌的核心函数。它采用‌窗函数法‌,能够高效地设计出具有‌线性相位特性‌的 FIR 滤波器#低截止频率 (low):一般使用20MHz,10-24MHz能量强,但20MHz以下多为 Ring-down 和运动伪影#高截止频率 (high):一般使用65MHz,兼顾高分辨率。若后续处理性能受限,可降至 60 MHz#window='hamming':窗函数:Hamming (汉明窗),在主瓣宽度和旁瓣抑制之间取得平衡taps=firwin(101,[low/nyq,high/nyq],pass_zero=False,window='hamming')
  1. 预处理
    起始点清零(Near-field Blanking):在
    群延迟补偿(Delay Compensation):前面提到的FIR滤波器会引入(N-1)/2个采样点的延迟,如N=101,则信号会右偏移50个点,需要将处理后的信号向左平移50个点。也可在结果中丢弃前50个点。

最后会算出来一个101长度的数组,可以在相关的程序中直接定义并使用。注意,这个有很大的经验值在内,不可照搬。

五、总结

技术最大的作用就是为人所用,可以在实际场景中解决问题,FIR亦是如此。通过上面的分析和说明,可以看到使用FIR可以对超声数据进行过滤处理,达到初步的目的。并为后续的相关数据算法提供基础的数据流。

http://www.jsqmd.com/news/464176/

相关文章:

  • 技术解析:无人机电调协议进化史——从PWM到Dshot的性能跃迁
  • 【Altium】AD20狭小空间差分对圆弧蛇形等长线绘制技巧与版本差异解析
  • Windows 10下OpenPose从零部署:Python 3.7与CUDA 11.6环境配置全攻略
  • 从NASA Earthdata获取ASTER L2地表温度数据的完整实践指南
  • Jetson AGX Orin 搭载AX200网卡:从硬件识别到驱动加载全流程解析
  • 【Verilog文件操作实战】从txt到bin:读写、解析与格式转换全解析
  • 3分钟搞懂dB/dBm/dBV区别:用生活案例讲透电子测量单位
  • C++性能优化实战:用Google Benchmark精准测量你的代码效率(附避坑指南)
  • 分子动力学模拟必备:5个力场参数查询网站实测(附使用技巧)
  • 燃料电池发电系统SOFC-MFPC控制的simulink/MATLAB仿真模型,附相关文献
  • 【GWAS实战】一站式全基因组分析可视化平台巡礼与选型指南
  • QGIS+天地图实战:用TianDiTu Tools插件快速搭建合规地图底图
  • 低频信号发生器选型指南:ICL8038 vs XR2206实测对比(附三角波优化方案)
  • 火绒安全:国产杀毒软件的轻量化与高效防护之道
  • 分层强化学习:从理论基石到前沿算法全景解析
  • 摄影三要素:光圈、快门与感光度的实战应用指南
  • JD-GUI保姆级教程:把反编译的Java代码还原成可维护项目的最佳实践
  • 从零构建电商订单系统:基于Cola-StateMachine的轻量级状态机实践
  • conda环境下PyQt5运行报错全解析:从qt.qpa.plugin到xcb的完整修复流程
  • SQL Server存储过程开发避坑指南:从入门到高效调试的完整流程
  • 5分钟搞懂立体匹配算法:从SAD到深度学习,这些坑我都帮你踩过了
  • 为什么你的Type-C接口充电这么慢?全面解析USB PD协议与充电效率优化
  • FreeRTOS实战:如何用vTaskDelay和vTaskDelayUntil精准控制任务周期(STM32F4案例)
  • Hyper-V环境下CVAT标注平台部署全记录:从Docker配置到超级用户创建
  • Halcon实战:利用点云局部密度分析实现高效降噪
  • 从参数到实践:FPGA驱动JESD204B与ADRV9009实现高速AD-DA数据链路
  • Java 21 Record实战:告别Lombok,这些场景用Record更香
  • ArcGIS轨迹数据可视化:从基础到高级的实战指南
  • 睿尔曼机械臂Python API实战:从基础控制到UDP状态监控
  • 日志技术