ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SAR成像:一文搞懂图像尺寸与回波数据尺寸的关系

SAR成像:一文搞懂图像尺寸与回波数据尺寸的关系 做SAR成像处理这几年我经常被刚入职的同事问一道“入门题”拿到一段原始回波数据到底能处理出多大一幅图像或者反过来甲方说目标区域是10km×10km我该采集多长时间、多少脉冲的数据才算够这两个问题听起来简单但背后牵扯到采样率、脉冲重复频率、合成孔径时间、距离徙动、地距投影这一串概念任何一个环节没想清楚成像结果要么范围对不上要么边缘一片糊。这篇文章是“SAR成像处理基本知识”系列的第二篇专门聊图像尺寸和回波尺寸之间的关系。它适合刚接触SAR数据处理的学生、工程师也适合做任务规划、想知道“数据量”和“出图范围”之间怎么换算的朋友。我会从距离向和方位向分别展开再把实际操作中怎么估算、怎么截取数据、出问题怎么排查这些事一并讲透。顺带说一句搜SAR资料时经常还会碰到另一个“SAR”芯片里的逐次逼近型模数转换器两者只是缩写相同本文说的SAR是合成孔径雷达别走错门。1. 先理清两组“尺寸”回波矩阵和图像矩阵到底长什么样1.1 原始回波快时间-慢时间二维数据矩阵先看雷达端。SAR工作时雷达沿飞行方向不断发射脉冲每个脉冲遇到地面目标后产生回波被接收机采样记录下来。这里有两个时间维度一个叫快时间指单个脉冲从发射到接收这段极短的时间对应电磁波往返的延迟换算一下就是目标到雷达的斜距另一个叫慢时间指一个个脉冲发射的时刻对应雷达沿航迹移动到的不同位置。把数据排开就是一个二维复数矩阵。矩阵的行方向是快时间采样点由采样率和接收窗口时长决定列方向是慢时间采样点由脉冲重复频率PRF和记录时长决定。矩阵里每个元素通常用I/Q复数表示包含了回波的幅度和相位信息。很多人第一次拿到原始数据会被吓到因为矩阵里看不出任何图像轮廓就像胶卷底片没冲洗前一样必须经过聚焦处理才能变成人眼能看懂的图。这个阶段的关键点在于回波矩阵的尺寸完全由采集参数决定距离向点数就是采样率乘接收窗口时长方位向点数就是PRF乘记录脉冲数。它和目标场景的实际大小有关系但绝不是简单的对应关系因为每个脉冲里混叠着整个波束覆盖范围内所有目标的回波。1.2 SAR图像距离-方位二维聚焦结果再看输出端。经过距离压缩、距离徙动校正、方位压缩这一套处理之后原来混叠在一起的回波能量被“归位”到各自对应的地面位置形成一幅二维复数图像。图像的距离向坐标表示目标的斜距或者换算后的地距方位向坐标表示目标沿航迹方向的位置每个像素值是那个分辨率单元内目标后向散射系数的估计同样包含幅度和相位。和回波矩阵不同图像矩阵的行列数并不完全由采集参数决定而是由成像处理器的输出网格设置决定。处理器根据你要不要做地距投影、要不要多视、像素间距取多大自行确定输出多少个距离向采样点和多少个方位向采样点。所以这里要先建立一个概念回波尺寸是“采集了多少数据”图像尺寸是“最后输出多大范围、多少像素”两者有联系但不是一回事。中间的桥梁是成像算法、几何模型和处理参数。1.3 数据尺寸与图像尺寸为什么不相等很多初学者会天然地以为回波矩阵有4000行、4000列图像应该也是4000×4000。实际操作中几乎见不到这种整齐的对应原因有三个层面。第一匹配滤波过程会改变信号长度。距离压缩和方位压缩本质上都是卷积运算卷积输出的长度比输入长但SAR处理中会通过裁剪或补零把长度调整到需要的值输出网格和原始数据点数自然就可能不同。第二聚焦过程存在“边缘无效区”。不管是距离向还是方位向位于数据边缘的目标其回波历史往往不完整无法完成精确聚焦。处理器通常会在边缘丢弃一部分数据导致有效图像范围小于原始数据覆盖的几何范围。第三坐标投影变换。斜距图像和地距图像的尺寸换算不是线性的入射角不同放大比例也不同。这几个因素叠加在一起你就明白了图像尺寸是“理论可聚焦范围”与“处理余量”权衡后的结果不是回波数据的机械映射。2. 距离向回波长度如何决定图像的“横宽”2.1 接收窗口、采样率与测绘幅宽的计算距离向的起点是接收窗口。雷达发射脉冲后并不能一直开着接收机因为同一时刻回波会来自不同距离而发射后的强信号和近距离杂波会干扰远距离回波所以接收机开一个时间窗口只记录这个窗口内的回波。窗口时长直接决定了距离向能覆盖的斜距范围公式很简单W_r c × T_w / 2W_r是斜距测绘幅宽c是光速T_w是接收窗口时长除以2是因为电磁波要往返。这个公式是距离向尺寸的第一条生命线。举个例子T_w 40微秒光速按3×10^8 m/s算W_r 3×10^8 × 40×10^-6 / 2 6000米。也就是说这组参数最多能覆盖6公里的斜距范围。接收窗口内要采样多少个点由采样率Fs决定N_r Fs × T_w。采样率还决定了距离向的像素间距对于复基带信号距离向像素间距是Δr c / (2 × Fs)。比如Fs120MHzΔr 3×10^8 / (2×120×10^6) 1.25米采样点数N_r 120×10^6 × 40×10^-6 4800点。这里有个星载SAR特别要注意的系统约束接收窗口不能太长因为脉冲重复间隔PRI是有限的窗口必须排在发射脉冲和近距杂波之后、下一个发射脉冲之前。所以幅宽一旦做大窗口就长PRF就不得不降低而PRF降低又会引发方位向模糊。这就是SAR系统设计中经典的幅宽与分辨率、模糊度三角权衡。你现在看到的星载SAR图像幅宽基本都是这种权衡后的结果。2.2 距离徙动有效成像幅宽被“吃掉”的那部分算出6公里幅宽不代表图像最后真的有6公里宽。原因出在距离徙动上。目标在合成孔径时间内随雷达运动其斜距不是固定的而是呈曲线变化这意味着目标回波会跨多个距离单元走动。在聚焦之前必须把这个徙动轨迹校正回同一个距离单元这就是距离徙动校正。校正有个前提目标在徙动过程中经历的所有距离单元都必须落在接收窗口记录的数据范围内。位于图像边缘的目标其徙动轨迹的一部分可能超出了数据边界自然无法被完整校正聚焦质量会严重下降甚至产生虚假目标。因此实际处理中会在距离向两端各舍弃一部分采样点留下“安全边缘”。我在项目里的经验是边缘舍弃量至少覆盖距离徙动量再留几个保护单元具体数值和波长、合成孔径时间、斜视角都有关系。正侧视情况下距离徙动量可能只有几个距离单元还算温和斜视模式下距离徙动可能跨几十甚至上百个距离单元这时幅宽损失就非常可观了。这也是为什么你有时会看到不同软件处理同一批数据输出图像的边缘略有差异大概率就是对边缘处理策略不同而不是算法错了。2.3 斜距到地距投影变换如何拉伸图像尺寸SAR图像原生输出通常是斜距图像也就是距离向坐标按斜距等间隔排列。但用户习惯看地面上的距离所以很多产品会再做一次斜距到地距的投影转换。地距分辨率和斜距分辨率的关系是ρ_g ρ_r / sinθ。θ是当地入射角。因为sinθ≤1地距分辨率通常比斜距分辨率粗而且在不同距离处入射角不同所以整幅图的地距比例尺并不均匀。靠近近距端入射角小sinθ小地距拉伸厉害靠近远距端拉伸程度减弱。这带来一个很实际的影响斜距图上等间隔的像素转到地距图后近端和远端的像素间距不一样。也就是说地距图像的尺寸不是简单把斜距幅宽除以一个固定系数而是要做逐像素重采样。星载SAR图像产品里标注的“幅宽”通常指的就是地距幅宽斜距幅宽反而要少一些。所以当你看到一幅星的图像标着20公里幅宽时别急着用斜距参数去反推先搞清楚产品坐标框架。3. 方位向合成孔径时间决定图像能“拉多长”3.1 PRF、数据时长与方位向原始数据长度方位向的数据长度初看起来是PRF乘记录时长N_a PRF × T_rec。假设PRF4000Hz记录时长2秒那么方位向原始数据有8000个脉冲对应的航迹长度是V × T_recV是平台速度。如果V7500m/s这段数据覆盖的航迹就是15公里。很多新人在这里会犯一个错误以为15公里航迹对应的图像方位向就是15公里。实际差得远。方位向成像的核心是合成孔径一个目标要成为可聚焦的目标必须被雷达波束完整照射一段足够长的时间。在这段时间里雷达沿航迹移动的距离就是合成孔径长度L_s目标的多普勒历史才能完整记录下来。L_s的估算公式是L_s λ × R / D_a。λ是波长R是目标斜距D_a是天线方位向尺寸。这个式子初看有点反直觉天线尺寸越大合成孔径反而越短因为波束变窄、地面足印变小。但SAR的奇妙之处就在这里不是用物理天线长度去分辨目标而是用合成孔径的等效长度去分辨所以方位向分辨率ρ_a D_a / 2。天线做得小合成孔径长分辨单元也小。3.2 合成孔径积累与有效成像带宽度现在把合成孔径时间算出来T_s L_s / V。还是用刚才的例子λ0.03米R600公里D_a5米那么L_s 0.03×600000/5 3600米T_s 3600/7500 0.48秒。如果数据记录时长T_rec2秒我们用这2秒的数据去成像情况是这样位于数据段中间的目标前后各有至少0.48秒的完整观测时间多普勒历史完整可以聚焦但位于数据段起始边缘的目标它在0.48秒合成孔径时间内的后半段可能被采集到了前半段却发生在数据记录开始之前所以多普勒历史不完整无法形成清晰焦点。因此有效方位向成像范围是W_az V × (T_rec - T_s)。把数代入7500 × (2 - 0.48) 11400米约11.4公里。这比15公里的航迹长度缩水了不少缩掉的量正好是合成孔径对应的一段航迹长度。这不是处理bug而是SAR聚焦的物理约束每个可聚焦目标必须被完整观测一段时间。所以你以后看到星载SAR图像方位向尺寸比轨道弧段长度小得多不用惊讶。这在条带模式、聚束模式、扫描模式里都成立只是具体损失多少不一样。聚束模式通过波束控制延长了目标驻留时间能换来更大幅宽或更高分辨率但代价是沿轨覆盖范围缩小本质还是这个道理。3.3 图像像素间隔与方位向过采样方位向原始数据有8000个慢时间采样点对应航迹15公里按奈奎斯特条件方位向采样间隔在空间域对应V/PRF 7500/4000 1.875米。但是图像输出时我们通常选择更小的像素间隔来提高目视体验和后续处理精度比如取分辨率的1/2左右。在这个例子里方位向理论分辨率是D_a/22.5米像素间隔取1.25米的话11.4公里的有效成像范围就需要9120列。这个数比原始方位向采样点数8000还大因为图像输出时做了插值重采样。这就再次印证了图像矩阵大小和回波矩阵大小不是一回事。多说一句多视处理。为了抑制斑点噪声常把方位向多普勒频谱分成几个子带分别成像然后非相干叠加这叫多视。多视处理会降低方位向分辨率但图像覆盖范围不变像素间距也可以保持原样只是每个像素的地理意义变了。这时候看图像行列数去反推分辨率一定要先搞清楚产品经历了什么处理。4. 实战如何从回波数据估算最终图像尺寸4.1 三步估算法从参数文件到几何覆盖范围搞清楚了原理实际操作中可以按三步走快速估算一景数据能出多大图。我拿一个典型星载SAR参数演示一遍。第一步从参数文件里读出关键参数采样率Fs、接收窗口时长T_w、PRF、数据记录时长T_rec、平台速度V、波长λ、参考斜距R、天线方位向尺寸D_a。第二步分别算距离向和方位向的理论覆盖。距离向斜距幅宽是W_r c×T_w/2方位向有效范围是W_az V×(T_rec - λR/(D_a×V))。同时算像素间距距离向Δr c/(2Fs)方位向按预期分辨率的一半左右取。第三步考虑边缘舍弃和投影转换。距离向两端各预留一定余量如果是地距产品再按入射角换算成地距幅宽。下面是这组数据的完整计算import math c 3e8 Fs 120e6 Tw 40e-6 PRF 4000 T_rec 2.0 V 7500 lam 0.03 R 600e3 Da 5 # 距离向 N_range int(Fs * Tw) W_r_slant c * Tw / 2 dr c / (2 * Fs) # 方位向 N_azi int(PRF * T_rec) Ls lam * R / Da Ts Ls / V W_az V * (T_rec - Ts) rho_az Da / 2 d_az rho_az / 2 # 像素间距取分辨率一半 # 图像输出列数方位向 img_cols W_az / d_az print(距离向采样点数:, N_range) print(斜距幅宽(m):, W_r_slant) print(距离像素间距(m):, dr) print(方位向原始脉冲数:, N_azi) print(合成孔径长度(m):, Ls) print(合成孔径时间(s):, Ts) print(有效方位成像宽度(m):, W_az) print(方位分辨率(m):, rho_az) print(输出图像方位向列数(约):, int(img_cols))算完的结果距离向4800点、斜距幅宽6000米、方位向原始脉冲8000个、有效方位成像宽度约11.4公里、方位分辨率2.5米、按1.25米像素间距输出约9120列。这个估算结果就是后续处理时判断算法输出是否正常的基准线。4.2 子区成像时的数据截取规则工程里很少对整段数据做全场景成像更多是先定位目标区域然后截取一段子数据做高分辨率成像。这时候截取范围怎么定直接决定能不能把目标聚焦好。距离向截取要看目标区域的斜距跨度。假设你要观察的地面目标横跨地距1公里入射角30°对应的斜距跨度大约是1×sin30°500米。按1.25米的距离像素间距至少需要400个距离采样点。但还要加上距离徙动校正需要的余量正侧视条件下可能只有几个距离单元斜视情况下要按实际徙动量额外增加。稳妥做法是在计算值两侧再多留几十个保护点。方位向截取除了目标沿轨长度外还要再加上合成孔径长度。如果目标沿轨方向长2公里合成孔径3600米那么方位向截取的轨迹长度至少是5600米。你要是只截了2公里目标在方位向就只能部分积累图像会严重散焦分辨率完全达不到预期。我见过不少新手栽在这里觉得“反正目标就那么大截少点省算力”。省的那点时间远不够弥补目标聚焦质量损失和返工成本。实操中我会在理论最小值上再乘1.1到1.2的系数给算法留出余量这个习惯帮我避免过很多次边缘散焦问题。4.3 图像尺寸对不上时的反向排查技巧反过来如果处理的图像范围和预期不符往这几个方向查大概率能找到原因。先查入射角。斜距转地距时用错入射角图像距离向拉伸比例就会整体偏移近端远端的误差还不一样。这个错误很隐蔽因为图像本身看着是正常的只是距离向变长或变短。再查PRF。PRF设得低于方位向多普勒带宽方位向会模糊图像看起来像叠了一层重影。严重的时候图像边缘出现“鬼影”目标方位向尺寸看起来也不对。可以用B_d ≈ 2V/D_a估算多普勒带宽验证PRF是否留有足够的过采样余量。然后查数据截取。确认方位向截取时有没有包含完整的合成孔径时间。如果数据段正好切在目标驻留时间中间目标的方位向频谱只保留了一部分聚焦后点目标会展宽图像上会表现为方位向尺寸不足、边缘模糊。最后查接收窗口起点。窗口开早了近距离回波没进来目标跑到图像边界上开晚了远距离回波被截断目标直接消失。这类问题在实测数据处理中很常见参数文件里稍微差几十个采样点就是几百米的位置偏差。5. 常见问题速查与避坑经验5.1 高频疑问与快速答案把平时被问得最多的问题整理成一张表方便随手查阅。疑问快速答案详细说明距离向幅宽为什么比接收窗口算出来小一点距离徙动校正需要边缘余量两端会舍弃部分数据2.2节方位向图像长度为什么远小于航迹长度每个目标必须被完整观测合成孔径时间T_s边缘目标多普勒历史不完整3.2节像素间距和分辨率是一回事吗不是。像素间距可以远小于分辨率只要采样满足过采样分辨率取决于信号带宽和天线尺寸1.3节、3.3节SLC图像和幅度图像尺寸为什么可能不同SLC是斜距网格幅度图可能做过地距投影或多视处理坐标体系不同2.3节、3.3节回波矩阵点数和图像点数为什么不一样中间经历了匹配滤波、截取、插值、投影变换输出网格由处理参数决定1.3节、4.1节5.2 三处最容易被忽略的细节最后分享三个我在实际项目中踩过坑、也帮别人排查过多次的细节。第一采样率到底是实数还是复数。很多SLC产品说明里写的采样率已经是复采样率距离向像素间距直接用c/(2Fs)算。如果误当成实采样率像素间距会差一倍图像距离向尺寸对不上但只从图上很难看出来。拿到数据第一件事就是确认参数文档里的采样率定义。第二方位向图像列数不等于原始脉冲数。这个在前面已经反复强调但每次遇到新同事还是会犯。图像列数等于有效成像宽度除以像素间距和PRF乘以记录时间得到的脉冲数不是一回事尤其是在做过插值、多视之后。第三讨论图像尺寸前先确认坐标框架。斜距图、地距图、经过地形校正的图尺寸和坐标完全不同。你和别人对接时说“图像宽12000像素”不如说“这幅图像距离向地距覆盖12公里、入射角约35°”来得清楚。我自己的习惯是拿到新数据源的第一件事不是直接跑成像算法而是先按这套方法把尺寸估算一遍再开始处理。算完心里就有底了哪怕处理结果不对劲也能快速判断是参数解析问题、几何投影问题还是算法问题。这套“先算后处理”的思路推荐给所有做SAR的同行。
返回列表