AURIX™ TC3xx雷達信號處理CFAR算法詳解

作者:英飛凌汽車電子生態圈 錢偉喆

CFAR是非常普遍的信號過濾手段,用於提取超過動態閾值的點目標信息。AURIX™ TC3xx單片機的雷達信號處理單元SPU集成了該硬體功能,並且提供兩種典型的CFAR算法。


背景介紹

當雷達回波信號功率幅值超過某個閾值時,能被檢測到,該閾值不可能是固定的,必須根據周圍環境、目標分布反射強弱,雜波噪聲干擾等動態變化,而CFAR(constant false alarm rate)就是用於計算動態閾值的典型手段。CFAR直接影響檢測機率(probability of detection)【1】,同樣的收發機信噪比,較大的CFAR能獲得較大的檢測機率。

算法實現

由於CFAR使用非常普遍,AURIX™ TC3xx單片機的雷達信號處理單元SPU集成了該硬體功能,並且提供兩種典型的CFAR算法,分別是CA-CFAR (cell-averaging CFAR)和GOS-CFAR (generalized order statistic CFAR)。圖1是典型CA-CFAR算法結構,摘自Matlab參考文獻【1】。SPU還集成了兩種算法的子分類,提供更多的檢測方法。兩種算法各有優缺點,GOS-CFAR在多目標場景性能較優,且其適應性強,參數的微小調整對雜波噪聲的濾除影響較小【2】,【3】
1
                                                                          圖1. 典型的CA-CFAR(摘自【1】)

為防止帶相位信息的各天線信號互相干涉,通常使用不帶相位的NCI(non-coherent integer)功率數據進行CFAR處理,這樣能準確表征回波信號在各天線上的功率加總。得到的CFAR結果以位(bit)為基本單元,每個位對應NCI矩陣中的一個數據,該數據可能是32位或16位存儲格式。NCI矩陣的維度是距離點數乘以都卜勒點數。CFAR結果中置一的位,代表該對應NCI的數據被檢測出;置零的位(圖2中CFAR bit mask未置一的位),代表該對應NCI的數據未被檢測出。

CFAR檢測出的結果代表該數據點的功率幅值超過動態閾值,極大可能是來自某目標的反射點。該數據點在每個天線上的信息需要保留,用於下一步的到達角運算。而沒超過動態閾值的數據點可能是噪聲雜波等,可被刪除。CFAR結果可以配合SPU內的Bin rejection單元用於過濾距離-都卜勒FFT結果,刪除不需要的數據點。圖2形象地展示了如何用CFAR 結果過濾距離-都卜勒FFT數據。

2
                                                                    圖2. CFAR結果對距離-都卜勒FFT過濾示意圖

SPU內的Bin rejection單元可以方便的實現濾波功能。Bin rejection單元可以設定多種靈活的判斷條件,比如跟設定的閾值比較,或者設定需要保留的數據向量維度,或者配合CFAR單元設定需要保留的bit mask等等。不滿足條件的數據單元可以被清零或刪除。

將CFAR結果依次配置到Bin rejection的掩碼寄存器中,該寄存器是32位,有64組,總共對應2048(=32x64)個數據。但距離-都卜勒FFT數據維度往往較大,而且還要考慮天線維度,所以需要多次配置掩碼寄存器,才能過濾全部三維數據。

使用SPU一維CFAR實現二維CFAR

SPU中CFAR硬體實現是一維的,可以沿距離維度,或者都卜勒維度,而實際工程應用中往往需要二維CFAR。理論上的二維CFAR實現,是通過被測點與周圍一圈點合成計算出的閾值進行比較,計算量較大,尤其使用GOS-CFAR時,因為需要進行排序的運算量是O(n^2),而一維是O(n)。文獻【2】中提出一種分別由距離和都卜勒維度CFAR合成的二維CFAR,這種方法有效降低了工程計算量,保持實時性的同時,也能兼顧在噪聲環境下的性能。下面將詳細介紹如何使用SPU的一維CFAR實現二維CFAR並進行檢測。



3

                                                                              圖3. 二維CFAR、點目標檢測和到達角計算流程,以及仿真結果

圖3的第一行流程,提供了二維CFAR、點目標檢測和到達角計算流程,其中淡藍色顯示的步驟使用SPU實現,而綠色則代表CPU實現的步驟。圖3的第二行給出了每個步驟的仿真結果,能直觀表現二維CFAR的計算方法。圖中前兩步是典型的毫米波雷達信號預處理步驟,只是在第一步同時計算了距離維的NCI及GOS-CFAR,等第二步獲得都卜勒維的CFAR後,就能合成二維結果。


需要注意的是,由於CFAR的存儲方式是以一個位元(bit)代表一個數據點,而第二步完成的都卜勒結果是距離結果的轉置,所以第三步中要實現的位與(bit AND)操作並不簡單,需要對兩個互為轉置的CFAR結果進行位尋址。Tricore™ CPU提供了位操作指令EXTR.U,能夠方便地將某個32位字中的某個位元提取出來進行處理【4】。在某些頻繁調用,或時間裕量較短的場景,建議使用匯編代碼,減少耗時較長的存儲器訪問次數,使能CPU 指令緩存,並配合編譯器的時間優化選項,來降低代碼執行時間。舉個例子,使用CPU計算512*128維度的二維CFAR,並進行檢測提取出128個點目標,同時將提取出的目標數據搬運到連續內存,方便實施第四步驟的角度傅里葉運算,整個圖3中第三步驟耗時大約是1ms ,CPU運行主頻是300MHz。


總結


CFAR是非常普遍的信號過濾手段,用於提取超過動態閾值的點目標信息。AURIX ™ TC3xx單片機的雷達信號處理單元SPU集成了該硬體功能,並且提供兩種典型的CFAR算法。配合SPU中的bin rejection硬體功能,CFAR結果用於過濾距離-都卜勒FFT,將可能來自目標的反射點提取出來,進行下一步到達角計算。另外,AURIX™ TC3xx CPU能在較短時間內,將兩次SPU的一維CFAR結果,進行位與操作,實現二維CFAR過濾功能,提取目標。

參考文獻

【1】 RADAR SYSTEMS ANALYSIS AND DESIGN USING MATLAB’, Bassem R. Mahafza.

【2】Fast Two-Dimensional CFAR Procedure’, Matthias Kronauge, Hermann Rohling, IEEE Trans. on Aerospace and electronic systems Vol. 49, No. 3 July 2013.

【3】Ordered Statistic CFAR Technique – an Overview’, Hermann Rohling, Hamburg University of Technology.

【4】TC1.6_DSP_Optimization_Guide_part1_v1.2’, Infineon Technologies AG.


掃描二維碼,關注英飛凌汽車電子尋找更多應用或產品信息

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源

: https://mp.weixin.qq.com/s/z14ujuNSv5VJZjZLaJkUBw