現(xiàn))
簡介逆合成孔徑雷達(dá)ISAR成像過程中相位誤差常常導(dǎo)致圖像散焦PGA懲罰函數(shù)梯度自聚焦算法是消除這一問題的有效技術(shù)。該MATLAB代碼面向雷達(dá)信號處理領(lǐng)域的研究人員與工程師提供一份可直接運(yùn)行的PGA自聚焦實(shí)現(xiàn)適用于目標(biāo)特征提取、成像質(zhì)量改善等典型應(yīng)用場景。壓縮包內(nèi)共1個文件為.m格式的源碼體積僅1KB結(jié)構(gòu)輕量便于閱讀與調(diào)試。目前已有1025人學(xué)習(xí)下載在相關(guān)學(xué)習(xí)者中擁有一定參考價值。代碼完整覆蓋了參數(shù)初始化、圖像質(zhì)量指標(biāo)梯度計算、相位校正因子迭代更新以及收斂判斷等關(guān)鍵環(huán)節(jié)使用者能夠根據(jù)實(shí)際系統(tǒng)性能需要自行調(diào)整迭代次數(shù)和步長并通過對比不同參數(shù)下的聚焦結(jié)果加深對算法行為的理解。通過研讀這份代碼讀者不僅可以掌握PGA算法的實(shí)現(xiàn)細(xì)節(jié)還能將其核心邏輯遷移到自己的ISAR數(shù)據(jù)處理流程中最終獲得散焦校正后的高分辨率雷達(dá)圖像。1. PGA 自聚焦為什么 ISAR 圖像總是差最后一口氣做 ISAR 成像的工程師大多有過這種體驗(yàn)數(shù)據(jù)采集時信號強(qiáng)度夠、信噪比也漂亮距離壓縮后的回波看著干干凈凈一排方位向 FFT 出來圖像卻是糊的。問題常常不在前端硬件而在回波的相位歷史里混入了未知的相位誤差。PGAPhase Gradient Autofocus相位梯度自聚焦就是業(yè)內(nèi)最常用、也最值得先試的一類自聚焦算法它不依賴外部參考點(diǎn)從場景自身強(qiáng)散射點(diǎn)的相位梯度出發(fā)把相位誤差逐輪迭代消除。這篇文章從 PGA 的估計原理講到最小實(shí)現(xiàn)、參數(shù)設(shè)置和真實(shí) ISAR 流程里的組合方式最后給出用模擬數(shù)據(jù)驗(yàn)證聚焦效果的套路適合正在做 ISAR 運(yùn)動補(bǔ)償和成像質(zhì)量優(yōu)化的讀者。2. 相位誤差藏在回波的哪里PGA 的估計對象與依據(jù)2.1 非空變相位誤差I(lǐng)SAR 散焦的真正來源ISAR 成像利用目標(biāo)與雷達(dá)視線之間的相對旋轉(zhuǎn)形成合成孔徑方位向高分辨依賴回波在脈沖間的相干積累。理想情況下每個脈沖之間的相位差只由目標(biāo)散射點(diǎn)的幾何位置決定做一次方位向 FFT 就能得到清晰圖像。實(shí)際情況遠(yuǎn)沒有這么理想平臺運(yùn)動測量誤差、目標(biāo)變速機(jī)動、大氣折射起伏、本振相位漂移都會給每個脈沖疊加一個額外的相位擾動。這個擾動隨慢時間變化卻對所有距離單元基本相同就是所謂的非空變相位誤差也是 PGA 最擅長對付的對象。如果誤差隨距離單元變化比如目標(biāo)存在大角度轉(zhuǎn)動時不同距離單元的越分辨單元徙動程度不同那就屬于空變相位誤差單靠 PGA 處理不了。很多新手把 PGA 當(dāng)成“萬能對焦”遇到距離對齊沒做好、包絡(luò)彎曲嚴(yán)重的實(shí)測數(shù)據(jù)也直接往上套結(jié)果迭代半天圖像更散。先分清誤差特性再選算法比糾結(jié)參數(shù)更值得投入時間。2.2 圖像域與慢時間域相位歷史的兩副面孔距離壓縮后的數(shù)據(jù)是二維復(fù)矩陣一維是距離單元一維是方位慢時間脈沖。對慢時間維做 FFT 得到的圖像域是雷達(dá)工程師最熟悉的呈現(xiàn)方式但相位誤差的估計偏偏不能直接在圖像域做。原因很簡單一個散射點(diǎn)在圖像域的能量彌散開來峰值位置疊加了旁瓣和鄰近散射點(diǎn)的干擾直接取相位得到的是混合相位不是獨(dú)立的誤差相位。PGA 的做法是在兩個域之間反復(fù)切換。粗成像后在圖像域用窗把強(qiáng)散射點(diǎn)孤立出來排除旁瓣干擾把加窗后的數(shù)據(jù)變回慢時間域此時每個距離單元的信號近似等價于一個孤立點(diǎn)目標(biāo)的相位歷史可以安全地做相位差分估計。這就像先用手在圖像上遮住無關(guān)區(qū)域再回到時間域測相位。兩副面孔缺一不可不加窗直接測時域相位會被多散射點(diǎn)干涉污染不加回時域又拿不到相位梯度信息。2.3 為什么估梯度而不是估絕對值直接從單個距離單元的相位歷史估計絕對相位誤差最容易翻車。路線上有兩個障礙一是目標(biāo)散射結(jié)構(gòu)本身自帶相位比如強(qiáng)點(diǎn)的位置多普勒相位與誤差相位混疊二是噪聲和旁瓣疊加后單點(diǎn)相位測量方差極大。PGA 繞開絕對值改做相鄰脈沖間的相位差分。對同一個散射點(diǎn)相鄰脈沖的理想差分只由該點(diǎn)的多普勒頻率決定是常數(shù)誤差的差分則隨誤差類型變化。強(qiáng)點(diǎn)加窗后把差分結(jié)果跨距離單元累加可以大幅壓低噪聲和雜波的影響最后積分得到完整相位誤差。相位差分還有一個隱藏好處免去了解纏繞的麻煩。絕對相位動輒跨多個周期積分前必須逐點(diǎn)解纏繞解錯一個點(diǎn)整條相位鏈都崩而相鄰脈沖的相位差落在主值區(qū)間內(nèi)取 angle 就直接得到。這種“估梯度再積分”的思路后來被很多改進(jìn)算法繼承理解了它再去看加權(quán) PGA、分塊 PGA 都會輕松很多。3. 從回波到聚焦PGA 最小實(shí)現(xiàn)與四個關(guān)鍵參數(shù)3.1 PGA 四步循環(huán)選點(diǎn)、加窗、差分、積分標(biāo)準(zhǔn) PGA 的每一次迭代都可以壓縮成四步。第一步是強(qiáng)散射點(diǎn)選擇對每個距離單元找方位向幅度最大的位置作為候選強(qiáng)點(diǎn)并按信雜比門限篩選場景里真正的強(qiáng)點(diǎn)越多估計方差越小。第二步是加窗把每個強(qiáng)點(diǎn)的峰值通過循環(huán)移位挪到圖像域中心用矩形窗截取主瓣附近的樣本窗外置零這一步?jīng)Q定了估計的“隔離度”。第三步是相位梯度估計把加窗后的圖像域數(shù)據(jù)做逆 FFT 回到慢時間域?qū)ο噜徝}沖做共軛相乘把所有距離單元的乘積累加取相位得到逐脈沖相位差分。第四步是積分與校正對差分累加得到相位誤差去掉整體線性相位趨勢那部分對應(yīng)圖像平移不屬于散焦誤差然后用它校正原始數(shù)據(jù)重新成像收縮窗寬進(jìn)入下一輪。四步循環(huán)跑 5 到 10 輪窗寬從幾十個單元逐輪收縮到幾個單元。前期窗寬大能收集到足夠的信號能量用于初步估計后期窗寬小把鄰近干擾點(diǎn)隔離干凈讓估計精度逐步提高。收斂后圖像熵顯著下降方位向旁瓣被壓低強(qiáng)點(diǎn)主瓣變尖銳。整個流程不依賴任何外部參考點(diǎn)這正是 PGA 在 ISAR 自聚焦里地位穩(wěn)固的原因。3.2 最小實(shí)現(xiàn)一份可運(yùn)行的 PGA 核心代碼下面給出一份可直接運(yùn)行的核心實(shí)現(xiàn)基于 NumPy 完成不需要額外依賴。代碼保留標(biāo)準(zhǔn)流程并在窗外相位處理上做了一點(diǎn)工程保護(hù)適合先跑通再改。import numpy as np def pga(data, n_iter8, win_init64, win_min3, shrink0.6, strong_thresh_db10, n_strong_max30, tol0.01): 標(biāo)準(zhǔn) PGA 自聚焦實(shí)現(xiàn) data: 距離壓縮后的二維復(fù)矩陣, shape(n_range, n_pulse) 返回: phi(相位誤差向量), data_corr(校正后數(shù)據(jù)) n_range, n_pulse data.shape phi np.zeros(n_pulse) data_corr data.copy() for it in range(n_iter): # 方位向 FFT 到圖像域 img np.fft.fftshift(np.fft.fft(data_corr, axis1), axes1) # 1. 強(qiáng)散射點(diǎn)選擇峰值相對中值幅度超過門限 peak np.abs(img).max(axis1) noise np.median(np.abs(img), axis1) 1e-12 ratio_db 20 * np.log10(peak / noise) candidates np.where(ratio_db strong_thresh_db)[0] if len(candidates) n_strong_max: order np.argsort(peak[candidates])[::-1] candidates candidates[order[:n_strong_max]] if len(candidates) 0: break # 2. 當(dāng)前迭代窗寬逐輪收縮 w max(int(win_init * (shrink ** it)), win_min) w min(w, n_pulse) half w // 2 center n_pulse // 2 # 3. 循環(huán)移位 加窗 IFFT 回慢時間域 g_list [] for r in candidates: idx_max np.argmax(np.abs(img[r])) shifted np.roll(img[r], center - idx_max) mask np.zeros(n_pulse) mask[center - half: center half] 1.0 g np.fft.ifft(shifted * mask) g_list.append(g) G np.stack(g_list) # shape(n_sel, n_pulse) # 4. 相鄰脈沖共軛相乘并跨距離單元累加 grad np.zeros(n_pulse, dtypecomplex) grad[:-1] np.sum(G[:, 1:] * np.conj(G[:, :-1]), axis0) # 窗外差分置零避免低信雜比區(qū)噪聲主導(dǎo)相位 valid np.zeros(n_pulse, dtypebool) valid[center - half: center half - 1] True grad[~valid] 0.0 # 5. 取相位差分累加積分得到相位誤差 delta np.angle(grad) cum np.cumsum(delta) cum np.unwrap(cum) # 6. 去除線性相位趨勢對應(yīng)圖像整體平移不能作為誤差補(bǔ)償 t_all np.arange(n_pulse) - center mask_fit valid (np.abs(grad) 1e-6) if mask_fit.sum() 2: k, b np.polyfit(t_all[mask_fit], cum[mask_fit], 1) phi_est cum - (k * t_all b) else: phi_est cum # 7. 只更新窗內(nèi)有可靠估計的相位窗外沿用上一輪結(jié)果 phi_new phi.copy() phi_new[mask_fit] phi_est[mask_fit] # 8. 收斂判斷 if np.max(np.abs(phi_new - phi)) tol: phi phi_new break phi phi_new # 9. 用原始數(shù)據(jù)重新校正避免誤差逐輪累積 data_corr data * np.exp(-1j * phi) return phi, data_corr代碼里有兩個值得留意的設(shè)計。第一校正時每次都用原始數(shù)據(jù)乘相位補(bǔ)償而不是在上一輪校正結(jié)果上繼續(xù)乘這樣可以防止估計誤差逐輪累積是一線實(shí)現(xiàn)里常踩的坑。第二相位誤差更新只作用在窗內(nèi)可靠段窗外沿用上一輪值這是對邊緣噪聲的一種工程抑制代價是窗寬收縮速度不能太快否則窗外長時間得不到更新。參數(shù)說明win_init控制初始窗寬一般取 64 或主瓣寬度的 4 到 8 倍物理解釋是初始隔離度低但能量收集多適合粗估。shrink是窗寬收縮率0.5 到 0.7 之間常見取 0.6 是速度和精度的折中。win_min最小窗寬建議 3太小會丟掉主瓣有效樣本。strong_thresh_db是強(qiáng)點(diǎn)門限10 dB 起步實(shí)測數(shù)據(jù)雜波重時提到 15 到 20。tol是相鄰兩輪相位誤差的最大變化量單位弧度0.01 已經(jīng)相當(dāng)嚴(yán)格。3.3 必調(diào)參數(shù)窗寬、收縮率、迭代次數(shù)與收斂門限參數(shù)推薦范圍典型值說明win_init32~12864初始窗寬太大包含鄰近散射點(diǎn)干擾太小梯度信噪比不足shrink0.5~0.70.6窗寬逐輪收縮率決定隔離度提升速度win_min3~53最小窗寬低于主瓣寬度會損失有效信號n_iter5~108迭代輪數(shù)多數(shù)場景 8 輪內(nèi)收斂strong_thresh_db10~2010強(qiáng)點(diǎn)信雜比門限實(shí)測數(shù)據(jù)建議提高tol0.005~0.050.01相位誤差變化收斂門限單位弧度調(diào)參時先固定迭代次數(shù)和門限只調(diào)窗寬序列是最快的路徑。很多場景下把win_init從 64 降到 32迭代輪數(shù)能省兩輪但強(qiáng)點(diǎn)密集時容易在初期就引入旁瓣干擾。反過來shrink取 0.7 會讓窗寬收縮太慢浪費(fèi)迭代取 0.5 又可能讓窗內(nèi)樣本在后期過少相位梯度方差變大。我一般先跑一輪打印每輪實(shí)際窗寬確認(rèn)最后一輪窗寬在 3 到 5再微調(diào)shrink。4. 接進(jìn)真實(shí) ISAR 流程前處理、分塊與組合策略4.1 距離對齊是前提PGA 不背的鍋PGA 的輸入是距離壓縮后的復(fù)數(shù)據(jù)但有一個隱含前提所有脈沖的距離包絡(luò)要對齊。如果目標(biāo)距離走動沒消除同一散射點(diǎn)在不同脈沖里落到不同距離單元它的相位歷史就被包絡(luò)移動的線性相位污染PGA 會把這種平移誤判成相位誤差校正結(jié)果越弄越糟。常見做法是先做包絡(luò)對齊相關(guān)法、最小熵法、全局距離對齊都可以然后再進(jìn)入 PGA 環(huán)節(jié)。工程上我習(xí)慣把“距離對齊 初相校正”稱為粗補(bǔ)償把 PGA 稱為精補(bǔ)償。粗補(bǔ)償解決的是包絡(luò)位置和多普勒中心偏移精補(bǔ)償解決的是殘余相位起伏。兩者順序不能顛倒也不能互相替代。曾經(jīng)有一次實(shí)測數(shù)據(jù)拿到手項目組直接跑 PGA圖像熵怎么也不降后來檢查發(fā)現(xiàn)距離向包絡(luò)有十幾個距離單元的漂移把包絡(luò)對齊補(bǔ)上之后PGA 兩輪就收斂了。這個鍋確實(shí)不該 PGA 背。4.2 弱散射點(diǎn)場景分塊 PGA 與局部估計實(shí)測中不是每個場景都有理想的強(qiáng)散射點(diǎn)。海面艦船、復(fù)雜地面目標(biāo)這類擴(kuò)展目標(biāo)方位向剖面上可能找不到幾個超過 15 dB 的孤立點(diǎn)。這時候全局 PGA 的梯度估計被大量弱散射點(diǎn)主導(dǎo)相位差分接近隨機(jī)迭代容易發(fā)散。常見的做法是把距離向分成若干塊每塊獨(dú)立選強(qiáng)點(diǎn)、獨(dú)立估計相位誤差再做塊間相位拼接。分塊 PGA 的塊寬沒有固定標(biāo)準(zhǔn)通常按距離向單元數(shù)的八分之一到四分之一切分每塊至少保留 16 個距離單元否則統(tǒng)計量不足。塊間拼接時兩塊重疊區(qū)域各用自己的估計結(jié)果做加權(quán)平均減少相位跳變。如果分塊后仍然找不到強(qiáng)點(diǎn)退一步用幅度加權(quán) PGA所有距離單元都參與梯度累加但權(quán)重與峰值幅度掛鉤弱點(diǎn)的貢獻(xiàn)被壓低。實(shí)際效果介于全局 PGA 和理想強(qiáng)點(diǎn)場景之間是實(shí)測數(shù)據(jù)里性價比很高的過渡方案。4.3 運(yùn)動補(bǔ)償?shù)慕M合順序先粗后精一套我在模擬和實(shí)測中反復(fù)驗(yàn)證過的 ISAR 處理順序是距離壓縮 → 包絡(luò)對齊 → 初相校正 → 傳統(tǒng)成像 → PGA 精補(bǔ)償 → 二次成像。初相校正用來消除整體多普勒偏移如果不做PGA 估計出的相位誤差里會混入一個大的線性分量雖然后續(xù)有去趨勢步驟兜底但會浪費(fèi)迭代輪數(shù)。PGA 放在粗補(bǔ)償之后是為了讓輸入相位誤差盡量只有高頻起伏成分這部分正是 PGA 的強(qiáng)項。如果 PGA 收斂后圖像仍有散焦先不要急著增加迭代輪數(shù)回頭檢查兩個地方一是殘余相位誤差是否距離空變?nèi)绻切枰镁嚯x分塊或針對非均勻轉(zhuǎn)動的成像算法二是強(qiáng)散射點(diǎn)門限是否太低雜波被當(dāng)成了強(qiáng)點(diǎn)。PGA 在整套流程里負(fù)責(zé)最后一段精補(bǔ)償前面基礎(chǔ)沒打好它救不回來。5. 避坑與排查PGA 常見失效模式的定位手冊5.1 現(xiàn)象一迭代 20 輪仍在漂移現(xiàn)象迭代輪數(shù)已經(jīng)超過 10相位誤差每次更新都還有明顯變化圖像熵下降但遲遲不收斂。 原因窗寬收縮太慢或根本沒有收縮強(qiáng)散射點(diǎn)鄰近的其他散射結(jié)構(gòu)一直留在窗內(nèi)梯度估計每次都被相同的干擾項拉動。 解決檢查每輪實(shí)際窗寬打印值確認(rèn)它從win_init一路降到win_min。把shrink從 0.6 調(diào)到 0.5或者直接給固定窗寬序列比如[64, 32, 16, 8, 4]每輪強(qiáng)制更新。5.2 現(xiàn)象二越迭代越糊現(xiàn)象圖像整體在方位向移動主瓣越來越靠近圖像中心但聚焦質(zhì)量反而下降強(qiáng)點(diǎn)周圍出現(xiàn)拖尾。 原因循環(huán)移位操作帶入的線性相位被積分進(jìn)了相位誤差校正時把目標(biāo)本身的方位位置信息也補(bǔ)償?shù)袅恕?解決確認(rèn)在積分后做了線性去趨勢用np.polyfit擬合相位誤差的線性分量并減掉。注意循環(huán)移位必須在圖像域完成不要在慢時間域直接按索引挪動數(shù)據(jù)否則會引入額外線性相位。5.3 現(xiàn)象三強(qiáng)點(diǎn)貢獻(xiàn)被噪聲淹沒現(xiàn)象相位梯度估計看起來是隨機(jī)噪聲迭代幾輪之后相位誤差完全沒有規(guī)律圖像比校正前更亂。 原因強(qiáng)點(diǎn)門限設(shè)太低大量弱距離單元參與了梯度累加。這些單元的相位由噪聲主導(dǎo)累加后把強(qiáng)點(diǎn)的真實(shí)梯度信號淹沒了。 解決把strong_thresh_db從 10 提高到 15 甚至 20同時檢查參與估計的距離單元數(shù)是否超過n_strong_max上限。還可以打印每個距離單元的信雜比看看候選強(qiáng)點(diǎn)是否真的“強(qiáng)”。5.4 現(xiàn)象四出現(xiàn)相位跳變現(xiàn)象校正后的相位誤差沿脈沖軸有明顯跳躍圖像上出現(xiàn)重影對應(yīng)同一目標(biāo)在方位向分裂成兩個峰。 原因差分相位積分后沒有正確解纏繞或者把窗內(nèi)估計的相位誤差直接覆蓋到全孔徑窗外相位沒有過渡銜接。 解決積分時改用復(fù)數(shù)累加再取相位例如np.angle(np.cumsum(np.exp(1j * delta)))比直接對角度數(shù)組做 cumsum 更穩(wěn)。更新相位誤差時只覆蓋窗內(nèi)可靠段窗外沿用上一輪值過渡區(qū)域做三到五個點(diǎn)的平滑。5.5 現(xiàn)象五輸入用了幅度數(shù)據(jù)現(xiàn)象PGA 完全沒有效果相位誤差估計接近全零圖像沒有任何變化。 原因把復(fù)數(shù)回波取模后輸入 PGA。幅度數(shù)據(jù)的相位信息已經(jīng)丟失相位梯度自聚焦自然無從談起。 解決確認(rèn)輸入是距離壓縮后的復(fù)數(shù)矩陣數(shù)據(jù)類型為 complex64 或 complex128并且校正/成像鏈路中一直沒有丟失虛部。6. 進(jìn)階驗(yàn)證用模擬目標(biāo)量化聚焦與收斂6.1 模擬散焦注入驗(yàn)證算法的正確性在動實(shí)測數(shù)據(jù)之前先做一組模擬驗(yàn)證能省掉大量排查時間。構(gòu)造幾個點(diǎn)目標(biāo)回波注入已知相位誤差跑完 PGA 再對比修正前后的相位譜和圖像熵可以確認(rèn)算法實(shí)現(xiàn)是否正確。下面是一段完整的驗(yàn)證腳本骨架。rng np.random.default_rng(42) n_range, n_pulse 128, 128 data np.zeros((n_range, n_pulse), dtypecomplex) # 圖像域放置三個點(diǎn)目標(biāo)轉(zhuǎn)換到慢時間域 points [(30, 10, 1.0), (80, 35, 0.8), (110, 60, 0.6)] for r0, fd, amp in points: n np.arange(n_pulse) data[r0, :] amp * np.exp(1j * 2 * np.pi * fd * n / n_pulse) # 注入相位誤差正弦 隨機(jī)游走模擬平臺振動和殘余運(yùn)動誤差 n np.arange(n_pulse) phase_err 0.8 * np.sin(2 * np.pi * 3 * n / n_pulse) phase_err 0.15 * np.cumsum(rng.normal(0, 0.05, n_pulse)) data * np.exp(1j * phase_err) data rng.normal(0, 0.05, data.shape) 1j * rng.normal(0, 0.05, data.shape) # 調(diào)用 PGA phi_est, data_corr pga(data, n_iter8) # 校正前后圖像 img_before np.fft.fftshift(np.fft.fft(data, axis1), axes1) img_after np.fft.fftshift(np.fft.fft(data_corr, axis1), axes1) def image_entropy(img): p np.abs(img) ** 2 p p / p.sum() return -np.sum(p * np.log(p 1e-12)) print(entropy before/after:, image_entropy(img_before), image_entropy(img_after))這段模擬刻意設(shè)成高信噪比、已知誤差的干凈場景目的是驗(yàn)證鏈路本身是否正確。正常實(shí)現(xiàn)下圖像熵會明顯下降比如從 5.x 降到 4.x具體數(shù)字跟點(diǎn)目標(biāo)數(shù)量和噪聲功率有關(guān)。如果熵不降先回第 3 章檢查win_init和shrink大概率是窗寬序列設(shè)置問題。6.2 用圖像熵和對比度做收斂量化PGA 調(diào)參不能靠肉眼。實(shí)測數(shù)據(jù)里我習(xí)慣同時看三個量圖像熵、對比度和相位誤差最大變化量。圖像熵反映整體聚焦程度熵越低聚焦越好對比度用圖像矩陣的標(biāo)準(zhǔn)差除以均值計算對比度越高說明強(qiáng)點(diǎn)越突出相位誤差最大變化量則是收斂判斷的直接依據(jù)。三者配合使用才能在參數(shù)調(diào)整時判斷是變好了還是只是“看起來更干凈”。形成一套固定習(xí)慣之后PGA 就不再是玄學(xué)拿到新數(shù)據(jù)先跑模擬注入驗(yàn)證代碼確認(rèn)實(shí)現(xiàn)沒問題再上實(shí)測數(shù)據(jù)打印每輪窗寬和相位誤差變化量最后用熵和對比度量化前后差異。遇到散焦先排查輸入是否復(fù)數(shù)、距離是否對齊再去動參數(shù)。這套流程幫我處理過不少實(shí)測數(shù)據(jù)大多數(shù)散焦問題都能穩(wěn)定收斂希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取