【導讀】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. 典型的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. 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. 二維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.
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: