PMCW体制雷达系列文章(4) – PMCW雷达之抗干扰
说明
本文作为PMCW体制雷达系列文章之一,主要聊聊FMCW&PMCW两种体制雷达的干扰问题。事实上不管是通信领域还是雷达领域,对于一切以电磁波作为媒介的信息传递活动,干扰是无处不在的。近年来,随着雷达装车率的提高,车载毫米波雷达之间的干扰问题受到了越来越多的重视,雷达在受到干扰后可能会出现漏检、虚警等问题,这些对于辅助/自动驾驶而言会有极大的风险,不可不察。
规划本话题的初衷是为了说明PMCW雷达相较于FMCW雷达在抗干扰上的优势,不过这句话的意思并不是说PMCW雷达就不会受到干扰,而是PMCW雷达在同等前提下受到干扰的影响要小一些,且其抑制干扰的手段也要多一些,关于这两种体制雷达的干扰影响细节及其区别是本文重点论述的方面。
本文算是对我之前所写两篇博文:车载毫米波雷达信号处理中的干扰问题-CSDN博客、PMCW体制雷达系列文章(1) – PMCW体制雷达综述-CSDN博客的补充,所以建议读者在阅读本文之前,可以先看前面两篇。本文内容主要来源[1],在其基础上加上一些自己的理解所成,参考文献[1]及其references是很好的研究资料,建议感兴趣的读者可以深入研读。
Blog
20231119 博文第一次写作
目录
说明
目录
一、雷达间干扰问题概述
二、FMCW雷达之间的干扰
三、PMCW雷达之间的干扰
四、雷达间干扰问题的解决
五、总结
六、参考资料
一、雷达间干扰问题概述
试想一种简单的行车场景,如图1.1左图所示,自车安装了前雷达,目标车在同一车道的前方,并装有后向雷达,该雷达与自车雷达类似:比如两者的发射功率P、天线增益G、工作频段及调制方式一致。此时对于自车雷达而言,目标车是其需要检测的目标物,而目标车上的雷达所发射的电磁波对自车雷达而言是干扰,该场景下干扰源与目标同距(距离都为R),右图所示的场景类似,只是此时目标(自车前方车辆)与干扰源不同距。
图1.1 雷达干扰示意图[1]
后续内容分析同距离场景。由雷达方程可得,自车雷达所接收到的目标反射回波功率Pr和干扰源所发射的电磁波功率PI分别为:
(1-1)
(1-2)
式中,Pt为雷达发射功率,G为天线增益,λ为载波波长,σ为目标车雷达散射截面积(RCS)。(对雷达方程不是很熟悉的读者可以参考我之前的博文:毫米波雷达的系统设计细节(1) - 从雷达方程到雷达威力图_雷达系统设计-CSDN博客)。由两者之比可以得到信号干扰比(signal-to-interference, SIR)为:
(1-3)
引入Gp为雷达对目标回波信号的处理增益,该值可以提高雷达的SIR,则上式变成:
(1-4)
从目标检测的角度来说,SIR值应该越大越好,但由于干扰相较于正常目标回波由正比于距离平方的能量附加(干扰源发射的电磁波少走了一半的路程),干扰的存在会严重影响目标检测。以式(1-4)为参考,举个例子,假设目标的RCS值为10dBsm(小车的典型RCS值),距离为100m,雷达对目标的信号处理增益为50dB(该值已经很大了,该处理增益主要来源于对ADC数据的二维压缩、相干/非相干积累等),带入上式可得SIR等于9dB,当距离为200m时,SIR为3dB,考虑到小车的RCS值在是实际运动过程中会随入射角、距离等因素发生较大变化(甚至低至0dBsm),而且这里的讨论假定信号处理过程中干扰无增益,总之,这两个例子下得到的SIR值表明:干扰功率已经很接近信号功率,所以目标的正常检测会受到较大影响。
前文的讨论以接近理想情况的场景结合雷达方程对干扰影响做出了大致的评估。对干扰影响的量化,更一般的方法是以干扰噪声比(interference-noise-ratio, INR)来评估,为简化讨论:假定干扰信号的能量像噪声一样均匀分布在被干扰雷达的有效带宽内,这种情况下干扰的影响是最小的(被噪声化了)。我们假设干扰源的发射带宽为B,则干扰源所发射的电磁波信号在被干扰雷达(Victim radar)上的功率谱密度PSDint为:
(1-5)
同样,该式来源于雷达方程。式中,Pt为干扰雷达的发射功率;Gt(Gr)分别是干扰源雷达的发射天线增益以及被干扰雷达接收天线增益;NTx(NRx)对应干扰源的发射天线数量以及被干扰雷达的接收天线数量;Llos_T(Llos_R)为传输损耗,该损耗包含了在雷达内部收发硬件链路上的损耗、电磁波在空气中传播的损耗以及电磁波穿透汽车保险盖和雷达天线罩时的损耗;R为干扰源与被干扰雷达之间的相对距离;DF是干扰源的发射脉冲在被干扰雷达脉冲接收时间段的占比,该值取值范围是[0 1],K是为FMCW体制雷达设定的参数(因为FMCW雷达的下变频以及低通滤波的过程中会将干扰信号与发射信号差频中超过滤波带宽的部分滤除掉,而PMCW雷达是发射单频信号,且我们假定干扰与发射信号载波频率相同,对于PMCW雷达,该K值为1),它的定义为:被干扰雷达混频解调后在基带中的干扰信号的功率谱密度与在射频接收端接收到的干扰信号的功率谱密度之比:
(1-6)
式中,是基带中干扰信号的功率谱密度,
是射频接收端接收到的干扰信号的功率谱密度。功率谱密度与带宽成反比,所以也可以将之转换成频带宽度之比:
是干扰雷达的射频发射带宽,
是混频滤波后在基带中的干扰带宽,干扰带宽与干扰源和被干扰雷达两者的调频斜率等有关,关于K值的理解和分析放在了第二章。
上述内容对干扰的功率谱密度做了定义,被干扰雷达的干扰噪声比INR为:
(1-7)
式中,对应噪声的功率谱密度,且:
(1-8)
式中,k为玻尔兹曼常数,To为环境温度,Fn为接收机噪声系数,接收机的输入噪声功率(热噪)为: Ni = kBTo,B为输入带宽,Fn定义为输入信噪比除以输出信噪比,也即该值正比于输出噪声功率No除以输入噪声功率Ni,于是输出噪声功率No = Fn*Ni,带入Ni = kBTo即可得式(1-8)。
结合前述各式可知,INR的大小与诸如距离、带宽、干扰源的发射功率等因素有关,下图为基于前述各式的仿真结果[1],(设置K=1):
图1.2 INR仿真结果
图1.2表征的是被干扰雷达正常波束指向(下图,波束指向0°)以及波束指向2°(上图)时不同距离下的INR值。可以看到INR的值整体上是很大的!且随着距离的减小而增加,小于150米时该值大于10dB,高于噪声10dB的干扰功率会极大地影响雷达的目标检测:包括淹没回波中能量较低的弱目标或较远距离的目标,这会造成雷达漏检、降低雷达的最远检测距离等问题。
以上算是建立了干扰的数学模型和分析框架,并对干扰问题做了基础探讨,后文分别细化FMCW与PMCW两种体制雷达下的干扰问题。
二、FMCW雷达之间的干扰
FMCW雷达发射调频连续波(chirp)信号对目标进行探测,目标回波在接收端与本振信号进行混频、滤波并被ADC采集,对采集的时域信号进行傅里叶变换后得到目标对应的频率信息并完成对目标距离的检测,正常情况且不考虑噪声时前述处理过程如下图所示:
图2.1 FMCW体制雷达正常目标回波信号及其处理示意图
当FMCW雷达间存在干扰时,干扰的波形和本振之间会有不同的“位置关系”,如下图所示:
图2.2 FMCW体制雷达间的不同干扰示意图
上图例举了FMCW雷达间可能的三种干扰情况,第3种情况下干扰源与目标回波完全一致,其结果时产生无法与正常目标区分的虚假目标,这是雷达虚警的来源之一,不过在实际应用中,考虑到发射信号与干扰信号发射周期、帧周期等可能不一样,首先这种情况发生的概率极低,此外,随着自车或干扰源所在车辆的运动,干扰信号与发射信号之间的相对时序关系等会发生变化,从而使得这种情况下检出的虚假目标不具备连续性,该虚假目标会被后续的跟踪等算法很容易地滤除掉,本节主要考虑前两种更具一般性的干扰情况。
前两种情况下干扰信号的调频斜率与发射信号不一样,其中情况1所示干扰信号的斜率为负,这两种情况下因为两信号混频后的差频频率会从某个较大值逐渐减小至0,随后逐渐增加,所以干扰信号的能量会分布在较大带宽(当然,小于滤波带宽)内,这两种情况都会导致局部或全部滤波带宽频域内的噪底抬升,如下图所示:
图2.3 干扰情况下的时域&频域示意图
图中显示干扰信号在频带内的功率要高于底噪15~20dB,在目标检测中,等价于噪底抬升了15~20dB,噪底的抬高会极大地影响雷达的目标检测:包括淹没回波能量较低的弱目标或远距处的目标,这会造成漏检、降低雷达的最远检测距离等问题。
在前文第一章被干扰雷达接收到的干扰信号功率谱密度公式(1-5)中,我们在雷达方程的基础上增加了参数DF表征干扰源的发射脉冲在被干扰雷达脉冲接收时间段的占比,该值取值范围是[0 1],这从上图2.2中很容易理解(对于PMCW雷达也是这样)。此外,对于FMCW雷达,我们增加了参数K,并将之定义为干扰信号的发射带宽和基带信号中受干扰带宽的比值,不难理解的是,在发射带宽一定的前提下,基带信号中的受干扰带宽越大,对应干扰信号与雷达发射信号的差频“快速地贯穿”整个滤波频带,K越小,不同K值下的干扰对比如下图所示[1]:
图2.4 不同K值下的干扰影响对比示意图
如上图所示,由于有带通滤波器的存在,两信号的差频只有在滤波器带宽内才会被ADC采集到,当K=1时,其差频快速地从滤波器的截止频率(负)变化为0,然后再增长至截止频率,K=10时,两信号的最大差频仍处在滤波器的截止频率内,所以干扰信号的存在时间甚至可以贯穿整个采样时宽,这种情况下对被干扰雷达的影响更大。
以上分析只针对单个干扰信号对雷达的影响,实际应用中问题会更复杂:不同车辆上的雷达所发射的信号都可能对本车雷达造成干扰,且这些干扰对应的K值也不尽相同。
三、PMCW雷达之间的干扰
PMCW雷达间的干扰相较于FMCW要简单一些,假设干扰源与受干扰雷达的载频、相位调制速率、以及带宽都完全一样,只是两者的编码方式不同。此时干扰信号再被干扰雷达内经过混频、低通滤波以及匹配滤波(因为编码方式不一样,所以干扰信号并不会产生正常目标回波那种匹配滤波后的“尖峰”)处理后在时域和频域都类似噪声分布,如下图所示:
图3.1 PMCW雷达间干扰影响
还是如前式(1-5)所给出的,不同于FMCW雷达间的干扰,PMCW下干扰信号的能量被受干扰雷达接收的大小只与DF值有关,而FMCW雷达由于去斜接收会将频带进一步压缩至滤波器的窄带宽内,由此导致雷达基带中的干扰信号功率谱密度增加,进而恶化干扰噪声比INR,两种情况的对比如下述两式所示:
(3-1)
(3-2)
式中,是受干扰雷达接收到的干扰信号功率,Bi是该接收到的干扰信号的频宽。对于FMCW雷达,接收信号会被进一步压缩至窄带宽内,对应K>1,而导致干扰的功率谱密度增加,进而提高INR,这也从底层原理上解释了为什么PMCW体制雷达相较于FMCW体制雷达更不易受干扰。
此外,不难理解的是,PMCW体制雷达也更容易避免干扰:FMCW雷达的射频信号需要占用很大的带宽(所用带宽越大其距离分辨率越高),而车载雷达可用频段是受限定的:76-81GHz,于是随着雷达数量的增加雷达间的相互干扰会不可避免地恶化,而PMCW雷达采用单频作载频,车载雷达的带宽有5GHz,所以不同雷达间有极大的空间可以错开载频,其次,得益于通信领域伪随机编码技术的使用,雷达间可以使用不同的编码方式、编码长度、相位调制速率等方式很好地相互隔绝,规避干扰。
四、雷达间干扰问题的解决
随着雷达在车上的装配率越来越高,雷达间的干扰问题也越来越多地引起关注,关于干扰影响的减弱或消除的研究也逐渐增加,关于干扰的消除/减弱我在博文车载毫米波雷达信号处理中的干扰问题-CSDN博客中有过比较详细的说明,本章内容与之相互补充,总结来说,主要包括以下几个解决方向(更细节的一些研究、仿真和实测数据验证等工作读者可以参考[1]的参考文献):
一是通过各种手段来规避干扰:1、通过改变雷达天线极化方向的方式使得雷达无法接收(或只能接收极少能量)与之不同极化方向干扰源的干扰信号;2、保持雷达发射脉冲的周期或帧周期不变,改变(随机/伪随机化)雷达发射的单脉冲或帧在其周期中的位置来避免干扰;3、因为雷达的带通滤波带宽恒定,可以在可用频带范围内改变发射信号的载频使得干扰信号与本雷达的差频超过滤波器频带范围而被滤掉,从而避免干扰。
二是检测到干扰,并采取一定的手段来减弱干扰的影响:1、在所采集的ADC时域数据中,通过分析并找到干扰对应的位置,随后对这些数据进行修复(如置0、插值等手段)以减小干扰的影响;2、可以在后端的数据处理中通过算法获取干扰源所在的方向信息,随后在发射端使用波束成形等方法将雷达的波束指向远离干扰的方向以减弱干扰的影响。
三是系统性地解决该问题:通过推动相关法规从源头上规避雷达间的相互干扰,比如可以给角雷达、前雷达分配不同频带,规定其使用不同的调制方式、编码方式等手段来系统地解决该问题。
五、总结
本文论述雷达间的干扰问题,首先针对最简单的应用场景对干扰问题进行了数学建模,随后在干扰功率谱密度公式的指导下,比较细节地对FMCW雷达间、PMCW雷达间的干扰情况进行了论述,并分别从更不易受干扰影响以及更容易规避干扰两个角度探讨了PMCW体制雷达相较于FMCW体制雷达在抗干扰上的优势。本文的最后给出了关于抗干扰手段的总结。
六、参考资料
[1]Allond,Stephen,Stark,et al.Interference in Automotive Radar Systems: Characteristics, mitigation techniques, and current and future research[J].[2023-11-14].
相关文章:

PMCW体制雷达系列文章(4) – PMCW雷达之抗干扰
说明 本文作为PMCW体制雷达系列文章之一,主要聊聊FMCW&PMCW两种体制雷达的干扰问题。事实上不管是通信领域还是雷达领域,对于一切以电磁波作为媒介的信息传递活动,干扰是无处不在的。近年来,随着雷达装车率的提高,…...

Gin框架源码解析
概要 目录 Gin路由详解 Gin框架路由之Radix Tree 一、路由树节点 二、请求方法树 三、路由注册以及匹配 中间件含义 Gin框架中的中间件 主要讲述Gin框架路由和中间件的详细解释。本文章将从Radix树(基数树或者压缩前缀树)、请求处理、路由方法树…...
MacOS设置JAVA_HOME环境变量
首先先查看一下,系统当前使用的java是谁,可以使用/usr/libexec/java_home命令 % /usr/libexec/java_home /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home检查一下这个路径下的文件,发现这是一个jre的目录。加上-V参数看…...
闭眼检测实现
引言 这段代码是一个实时眼睛状态监测程序,可以用于监测摄像头捕获的人脸图像中的眼睛状态,判断眼睛是否闭合。具体应用实现作用说明如下: 1. 实时监测眼睛状态 通过摄像头捕获的实时视频流,检测人脸关键点并计算眼睛的 EAR&a…...
系列六、Java垃圾回收器主要有哪些?
一、Java垃圾回收器主要有哪些? UseSerialGC、UseParallelGC、UseConcMarkSweepGC、UseParallelNewGC、UseParallelOldGC、UseG1GC...

【7】Spring Boot 3 集成组件:缓存组件 spring cache + spring data redis
目录 【7】Spring Boot 3 集成组件:缓存组件 spring cache spring data redis什么是缓存抽象声明式注解JSR-107对应SpEL上下文数据 引入依赖cache 支持的缓存类型缓存类型配置NONESIMPLEREDIS自定义配置 CAFFEINE Hazelcast...总结 个人主页: 【⭐️个人主页】 需要…...
说说Java中的不可重入锁
什么是锁? 简单来讲在Java中,锁是一种用于并发控制的机制,用于保护共享资源,防止多个线程同时访问或修改数据导致的数据不一致性和线程安全问题。在Java虚拟机(JVM)中,每个对象都有一个相关联的…...
C++学习 --vector
目录 1, 什么是vector 2, 创建vector 2-1, 标准数据类型 2-2, 自定义数据类型 2-3, 其他创建方式 3, 操作vector 3-1, 赋值 3-2, 添加元素 3-2-1, 添加元素(assi…...
Android图片涂鸦,Kotlin(1)
Android图片涂鸦,Kotlin(1) import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Path import android.graphics.PointF import android.…...

upload-labs(1-17关攻略详解)
upload-labs pass-1 上传一个php文件,发现不行 但是这回显是个前端显示,直接禁用js然后上传 f12禁用 再次上传,成功 右键打开该图像 即为位置,使用蚁剑连接 连接成功 pass-2 源码 $is_upload false; $msg null; if (isse…...
《 机器人基础 》期末试卷(A)
一、填空题(30分,每空2分) 1. 按照相机的工作方式,机器人常用相机分为1)__ 单目摄像头 2)__ 双目摄像头 _ 3)_深度摄像头_ 三类。 2. 度量地图强调…...

Azure Machine Learning - Azure AI 搜索中的矢量搜索
矢量搜索是一种信息检索方法,它使用内容的数字表示形式来执行搜索方案。 由于内容是数字而不是纯文本,因此搜索引擎会匹配与查询最相似的矢量,而不需要匹配确切的字词。本文简要介绍了 Azure AI 搜索中的矢量支持。 其中还解释了与其他 Azure…...
3 redis实现一个消息中间件
使用list实现一个队列,可以从左侧入队,也可以从右侧入对 即可以从左侧读取,也可以从右侧读取 1、Lindex Lindex 命令用于通过索引获取列表中的元素 也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的…...

js添加dom到指定div之后,并给添加的dom类名,然后设置其样式,以及el-popover层级z-index过高问题解决。
遇到一个需求,Vue项目做一个表格,要求表头与表格内容分开,如下效果所示,表头与表格有个高度间隔边距(箭头所示),因为默认我们的el-table的表头与内容是一起的: 思路:通过querySelector获取el-table__header-wrapper元素,通过createElement创建一个div,通过 newElem…...
C语言结构体
#include <stdio.h> #include <string.h> #include <stdlib.h>//struct Student_s { // int num; // char name[20]; // char gender; // int age; // float Chinese; // float Math; // float English; // char addr[30]; //}; //最后的分号一定要写&#x…...

【Python大数据笔记_day10_Hive调优及Hadoop进阶】
hive调优 hive官方配置url: Configuration Properties - Apache Hive - Apache Software Foundation hive命令和参数配置 hive参数配置的意义: 开发Hive应用/调优时,不可避免地需要设定Hive的参数。设定Hive的参数可以调优HQL代码的执行效率,或帮助定位问…...

React经典初级错误
文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案,感兴…...
C# System.Array.CopyTo() 和 System.Array.Clone() 有什么区别
System.Array.CopyTo() 和 System.Array.Clone() 是用于数组复制的两种不同方法,它们在实现和用途上有一些区别。 System.Array.CopyTo() 方法: CopyTo() 方法用于将数组的元素复制到另一个数组。它是 Array 类的实例方法,可以用于复制一个…...
Stable Diffusion 启动时 got an unexpected keyword argument ‘socket_options‘ 错误解决
Stable Diffusion 启动时 got an unexpected keyword argument socket_options 错误解决 问题解决方法 问题 Launching Web UI with arguments: Traceback (most recent call last):File "launch.py", line 48, in <module>main()File "launch.py"…...
CSS 文本属性篇
文字颜色 属性名:color作用:控制文字的颜色可选值: 1.颜色名 color: blue; 2.rgb或rgba color:rgb(132, 220, 254); color:rgba(132, 220, 254,0.5); 3.hex或hexa(十六进制) color:#0078d4; color:#0078d48b; 4.hsl或h…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...