國 磊, 尚 勇, 白 森
(1.中國空空導(dǎo)彈研究院, 河南 洛陽 471009; 2.民航飛行學(xué)院洛陽分院, 河南 洛陽 471009)
?
FPGA的弱小信號(hào)處理關(guān)鍵技術(shù)研究
國磊1, 尚勇2, 白森1
(1.中國空空導(dǎo)彈研究院, 河南 洛陽471009; 2.民航飛行學(xué)院洛陽分院, 河南 洛陽471009)
算法的計(jì)算精度要求和算法實(shí)現(xiàn)所需的FPGA資源是FPGA選型的關(guān)鍵因素。本文從工程應(yīng)用角度出發(fā),詳細(xì)地論述了基于FPGA的弱小信號(hào)處理關(guān)鍵技術(shù)研究及實(shí)現(xiàn),結(jié)合噪聲成形算法給出FPGA實(shí)現(xiàn)信號(hào)處理時(shí)濾波器輸出截?cái)辔粩?shù)確定原則,依此原則既確保計(jì)算精度又可節(jié)省FPGA硬件消耗。最后分析影響弱小信號(hào)檢測的直流問題,闡述其產(chǎn)生的原因并給出有效的直流抑制方法。
信號(hào)處理;弱小目標(biāo)檢測;FPGA;噪聲成形;直流抑制;濾波器截?cái)?/p>
隨著信號(hào)處理技術(shù)的發(fā)展, 數(shù)字信號(hào)處理越來越多的應(yīng)用于信號(hào)處理的各個(gè)領(lǐng)域, 其中FPGA占有廣闊的市場。 由于FPGA器件自身的特點(diǎn), 其運(yùn)算大多采用有限位數(shù)定點(diǎn)運(yùn)算形式實(shí)現(xiàn), 如何既保證運(yùn)算精度又有效地利用FPGA資源, 從而避免FPGA資源的浪費(fèi)甚至無法實(shí)現(xiàn)成為數(shù)字信號(hào)處理必須面對(duì)的問題。 本文基于此, 對(duì)FPGA的弱小信號(hào)處理關(guān)鍵技術(shù)開展了研究。
數(shù)字接收系統(tǒng)一般由A/D和FPGA組成, A/D將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào), FPGA接收數(shù)字信號(hào)完成后續(xù)信號(hào)處理操作, 高精度A/D(以2 208為例)量化位數(shù)為16 bit, 有效位數(shù)約11 bit, 本文以此為依據(jù)建立的仿真模型可表示為
R(t)=S(t)+N(t)+D
式中:S(t)為信號(hào);N(t)為噪聲;D為直流分量。
模型中噪聲采用均值為零的高斯白噪聲, 根據(jù)A/D有效位數(shù)可推算出量化后信噪比為66 dB, 設(shè)信號(hào)滿量程輸入為10 dBm, 噪聲功率約為-56 dBm。 直流分量根據(jù)各系統(tǒng)實(shí)際測量所得數(shù)值確定即可, 本文直流分量定為40。 由于A/D量化位數(shù)為16 bit, 在FPGA中數(shù)據(jù)處理格式為有符號(hào)補(bǔ)碼, 有效量程為-32 768~32 767, 因此S(t)取在此量化區(qū)間的連續(xù)波單頻信號(hào)即可滿足算法驗(yàn)證需求。 為證明算法的有效性和通用性, 本文信號(hào)動(dòng)態(tài)范圍取+10~-105 dBm, 即包含滿量程和淹沒在噪聲背景下兩種極限情況。
2.1信號(hào)處理流程
信號(hào)處理一般流程如圖1所示, FPGA接收A/D轉(zhuǎn)換后的數(shù)字信號(hào)后, 完成正交變換、 窄帶濾波處理、 相參積累等一系列算法, 將時(shí)域信號(hào)轉(zhuǎn)換成頻域信息, 轉(zhuǎn)由信息處理單元完成后續(xù)工作。
圖1信號(hào)處理基本流程
傳統(tǒng)正交變換主要通過輸入信號(hào)與固定頻率的正余弦信號(hào)進(jìn)行混頻, 后經(jīng)過低通濾波得到IQ兩路信號(hào), 當(dāng)采樣率滿足fs=4f0/(2k+1)時(shí), 正余弦信號(hào)可簡化成0, 1, -1交替出現(xiàn)序列, FPGA實(shí)現(xiàn)正交處理時(shí)可將正交系數(shù)與后續(xù)低通濾波器系數(shù)組合形成新的濾波器系數(shù), 轉(zhuǎn)由FIR濾波器實(shí)現(xiàn)正交處理。 式中,f0為信號(hào)載頻;fs為采樣率。
窄帶濾波處理主要完成降采樣率操作。 當(dāng)前A/D量化一般在中頻進(jìn)行, 采樣率較高, 給后續(xù)處理帶來巨大壓力, 增加了FPGA程序設(shè)計(jì)難度, 同時(shí)不利于信噪比的改善。 為了改善信噪比, 同時(shí)降低程序開發(fā)難度, 降采樣處理是必要的。 通過仿真可以看出要得到系統(tǒng)需求的數(shù)據(jù)率, 單濾波器實(shí)現(xiàn)濾波, 濾波器階數(shù)過大, FPGA無法實(shí)現(xiàn)。 這里采用窄帶濾波器組分級(jí)處理實(shí)現(xiàn)降采樣。
相參積累可根據(jù)FPGA資源情況選擇在FPGA或DSP中實(shí)現(xiàn), 本文選擇在FPGA中實(shí)現(xiàn)。
2.2濾波器輸出截?cái)喾治?/p>
FPGA內(nèi)部運(yùn)算基于定點(diǎn)二進(jìn)制有符號(hào)補(bǔ)碼, 濾波器輸出有全精度輸出和截?cái)噍敵鰞煞N形式。 全精度輸出數(shù)據(jù)沒有損失, 但運(yùn)算量較大, 占FPGA硬件資源較多, 濾波器組級(jí)聯(lián)設(shè)計(jì)在不做截?cái)嗵幚淼那闆r下無法實(shí)現(xiàn), 必須考慮濾波器舍位處理, 濾波器舍位應(yīng)顧全滿量程信號(hào)和淹沒在噪聲中信號(hào)兩種極端情況。
2.2.1滿量程信號(hào)高位處理
滿量程信號(hào)輸入時(shí), 濾波器輸出高位取舍需考慮溢出問題, 一般保留原則為高位只有一位符號(hào)位, 其他為數(shù)據(jù)有效位即可, 這樣既保證數(shù)據(jù)位數(shù)有效利用, 又避免發(fā)生溢出。 工程實(shí)現(xiàn)中ISE10.1以下版本濾波器輸出一般保留3~4位符號(hào)位, 程序設(shè)計(jì)時(shí)需要仿真定位, 而ISE10.1以上版本由于濾波器核采用新型結(jié)構(gòu)實(shí)現(xiàn), 濾波器輸出一般保留2位符號(hào)位, 從次高位開始保留即可。
2.2.2淹沒在噪聲中的信號(hào)低位處理
信號(hào)淹沒在噪聲中時(shí), 為了得到有效信號(hào)信息, 噪聲必須占據(jù)3~4位數(shù)據(jù)位數(shù), 即噪聲成形算法。 A/D量化后引入的噪聲分量可用chipscope實(shí)際測量獲得, 也可根據(jù)A/D有效位數(shù)算出。 如前設(shè)A/D有效位數(shù)約為11 bit, 以16 bit A/D計(jì)算, 噪聲約占5 bit。 經(jīng)過濾波降采樣處理后, 噪聲能量降低, 噪聲幅度變小, 噪聲占據(jù)位數(shù)后移。 根據(jù)噪聲成形原理, 為保留信號(hào)信息, 噪聲占有位數(shù)需維持在3~4 bit, 在濾波器系數(shù)增益為1的情況下, 需合理考慮濾波器輸入輸出之間的位數(shù)展寬, 以保證噪聲成形的應(yīng)用條件。
依據(jù)上述分析完成每級(jí)濾波器輸出位數(shù)的確定, 既可節(jié)省FPGA資源, 又保留了全部的信號(hào)信息, 完成了信號(hào)處理算法實(shí)現(xiàn)。
2.3直流產(chǎn)生及抑制
FPGA實(shí)現(xiàn)數(shù)字信號(hào)處理中不可避免會(huì)存在直流分量, 這會(huì)直接影響對(duì)弱小信號(hào)的檢測, 在系統(tǒng)進(jìn)行信息處理之前, FPGA必須采取有效的措施對(duì)直流進(jìn)行抑制。
FPGA內(nèi)直流主要來源于A/D量化、 失配引入的直流和定點(diǎn)非全精度運(yùn)算引入的直流。 前者可通過改善A/D輸入匹配電阻、 提高A/D量化精度等措施減小。 在A/D型號(hào)電路確定后, 外界引入直流分量已定, FPGA內(nèi)部可加入高通濾波進(jìn)一步削減外界直流分量。 后者由于受FPGA硬件資源限制, 無法做到全精度運(yùn)算, 只能采取四舍五入措施減小。 一般情況下, A/D量化引入的直流經(jīng)過正交處理后不會(huì)對(duì)后續(xù)信號(hào)處理帶來影響, 但工程實(shí)現(xiàn)中可能會(huì)對(duì)A/D采樣信號(hào)進(jìn)行調(diào)制, 從而造成直流延拓。 A/D量化輸入直接進(jìn)行高通濾波處理是目前廣泛采用的手段, Xilinx公司FPGA軟件開發(fā)工具ISE提供的濾波器軟核最低階數(shù)為8, 本文從工程應(yīng)用角度出發(fā), 考慮FPGA硬件資源有效利用, 提出一種更加簡單有效的直流抑制算法, 具體如下:
簡單高通濾波(僅使用簡單的寄存、 移位操作即可, 不使用FIR濾波器), 濾波器系數(shù)bp = [0, -0.25, 0, 0.5, 0, -0.25, 0], 緩存5個(gè)時(shí)鐘同期, 分別記作dat_delay1, dat_delay2, dat_delay3, dat_delay4, dat_delay5。 然后定義16位數(shù)據(jù)data_new, 作如下運(yùn)算: Data_new=dat_delay3*2- dat_delay1- dat_delay5
ISE10.1以上版本濾波器軟核自帶對(duì)稱式四舍五入處理選項(xiàng), 當(dāng)濾波器輸入不大于18 bit時(shí)可直接利用濾波器核完成四舍五入, 但工程實(shí)際應(yīng)用中, 經(jīng)反復(fù)驗(yàn)證發(fā)現(xiàn), 當(dāng)濾波器輸出舍位較多時(shí), 軟核自帶對(duì)稱式四舍五入功能存在缺陷, 并未達(dá)到抑制直流的效果甚至引入新的直流分量。 本文根據(jù)FPGA內(nèi)部數(shù)據(jù)運(yùn)算基于二進(jìn)制有符號(hào)補(bǔ)碼實(shí)現(xiàn)的特點(diǎn), 提出自定義四舍五入算法, 解決FPGA內(nèi)的直流問題, 算法公式如下:
Dout=floor([Din+1]/2)
FPGA內(nèi)部實(shí)現(xiàn): Din為比經(jīng)過濾波器輸出截?cái)嗵幚頂?shù)據(jù)位數(shù)多一位的濾波器輸出; Dout為Din加1后舍去最低位的結(jié)果, 即四舍五入處理后的數(shù)據(jù)。 本算法在濾波器輸出為最大正數(shù)時(shí)會(huì)溢出, 需加入判斷邏輯, 防止溢出, 一般工程應(yīng)用很少會(huì)發(fā)生溢出現(xiàn)象。
實(shí)驗(yàn)仿真數(shù)據(jù)通過安捷侖邏輯分析儀16822A采集獲得, 中心頻率60 MHz, 多普勒頻率5 kHz, 為驗(yàn)證算法有效性, 信號(hào)輸入幅度取典型值7 dBm和-105 dBm。 其中: 7 dBm為大信號(hào), 用于確定程序中關(guān)于大信號(hào)情況下濾波器輸出高位保留是否合理; -105 dBm為弱小信號(hào)。 采集數(shù)據(jù)的時(shí)/頻域效果圖如圖2(a)所示, 橫坐標(biāo)為采樣點(diǎn)數(shù)N, 縱坐標(biāo)為信號(hào)量化后絕對(duì)幅度, 由于大信號(hào)狀態(tài)信號(hào)呈現(xiàn)完美包絡(luò)形式, 這里未給出, 只給出了大信號(hào)頻域處理結(jié)果。 弱小信號(hào)時(shí)域波形如圖2(b)所示, 從圖中可以看出弱小信號(hào)已經(jīng)淹沒在噪聲背景中, 并且其頻域結(jié)果直流分量明顯, 如不作任何處理則對(duì)后續(xù)目標(biāo)檢測處理會(huì)造成影響, 如圖2(c)所示。
圖2實(shí)采數(shù)據(jù)時(shí)/頻域顯示
FPGA實(shí)現(xiàn)的功能仿真結(jié)果如圖3所示, 證明算法在FPGA實(shí)現(xiàn)中的可行性。 圖中給出了大信號(hào)經(jīng)A/D量化后的中頻時(shí)域波形、 經(jīng)過信號(hào)處理后的低頻輸出結(jié)果及數(shù)據(jù)有效標(biāo)志。 可以看出中頻時(shí)域波形呈現(xiàn)為包絡(luò)狀態(tài), 目標(biāo)速度信息隱含在包絡(luò)里并調(diào)制在中頻載波上, 經(jīng)過信號(hào)處理后的低頻數(shù)據(jù)為只包含目標(biāo)多普勒信息的正弦波形。 仿真結(jié)果說明FPGA實(shí)現(xiàn)了對(duì)雷達(dá)目標(biāo)回波的正交下變頻和濾波處理, 完成了雷達(dá)目標(biāo)回波的初步解析, 并未造成目標(biāo)信息丟失, 而弱小信號(hào)情況下波形仿真結(jié)果不直觀, 這里不給出。
圖3FPGA仿真結(jié)果
各種濾波輸出舍位處理對(duì)直流影響分析見圖4。 在不考慮FPGA硬件資源的情況下, 圖4(a)為濾波器直接截?cái)嗖⒈A?2位輸出, 其處理結(jié)果經(jīng)過存儲(chǔ), 由Matlab進(jìn)行分析信號(hào)直流比為17.8, 直流對(duì)信號(hào)檢測不造成影響。 但由于保留位數(shù)過多, 不利于FPGA實(shí)現(xiàn)和資源優(yōu)化; 圖4(b)為直接截?cái)嗖⒈A?4位輸出時(shí), 節(jié)省了FPGA資源但信號(hào)直流比惡化, 信號(hào)直流比只有1.57, 嚴(yán)重影響后續(xù)信號(hào)檢測, 此仿真同時(shí)說明直流影響與保留位數(shù)有關(guān), 當(dāng)數(shù)據(jù)保留位數(shù)較多時(shí), 直流影響可以忽略。 圖4(c)為直接利用Xilinx提供四舍五入選項(xiàng)得到的仿真結(jié)果, 信號(hào)直流比為1.94, 可見直接調(diào)用IP核對(duì)直流抑制并無顯著改善; 圖4(d)為采用本文設(shè)計(jì)的四舍五入算法并保留相同位數(shù)仿真結(jié)果, 信號(hào)直流比為17.6, 可見本算法既降低了FPGA硬件資源損耗, 又抑制了直流分量, 凈化了弱小信號(hào)檢測的噪聲背景。
圖4各種舍位處理結(jié)果對(duì)比
本文提出的算法既保證了系統(tǒng)性能, 又不對(duì)信號(hào)處理應(yīng)用環(huán)境作過多的資源限制, 節(jié)省硬件資源降低工程造價(jià), 間接提高了FPGA在信號(hào)處理領(lǐng)域的應(yīng)用空間。 該算法只能在一定動(dòng)態(tài)范圍內(nèi)改善系統(tǒng)性能, 目前可適應(yīng)110 dB的系統(tǒng)動(dòng)態(tài), 對(duì)進(jìn)一步增加動(dòng)態(tài)范圍方面能力略顯不足。 如系統(tǒng)需求更大的動(dòng)態(tài)范圍信號(hào)處理能力而又不期望硬件提升所帶來的工程設(shè)計(jì)成本的提高, 則需在自適應(yīng)濾波技術(shù)方面進(jìn)行考慮。
[1] 于麗霞, 王福明. 微弱信號(hào)檢測技術(shù)綜述[J]. 信息技術(shù), 2007(2): 115-116.
[2] Gong Xuemei, Gaalaas E, Alexander M, et al. A 120 dB Multi-Bit SC Audio DAC with Second-Order Noise Shaping[C]∥IEEE International Solid-State Circuits Conference, 2000: 344-345.
[3] Yu S H, Hu J S. Analysis and Design of a Single-Bit Noise-Shaping Quantizer[C]∥American Control Conference, 2003: 1631-1636.
[4] Xilinx. Virtex-6 Family Overview[M].USA: Xilinx, 2012.
[5] 克勞切 R E.多抽樣率數(shù)字信號(hào)處理[M]. 北京: 人民郵電出版社, 1988.
[6] 奧本海姆 A V, 謝弗 R W. 數(shù)字信號(hào)處理[M].西安: 西安交通大學(xué)出版, 2002.
[7] 萬建偉, 王玲.信號(hào)處理仿真技術(shù)[M].長沙: 國防科技大學(xué)出版社, 2008.
[8] 徐明遠(yuǎn), 邵玉斌.MATLAB 仿真在通信電子工程中的應(yīng)用[M].西安: 西安電子科技大學(xué)出版社, 2010.
[9] Lyons R. Interpolated Narrowband Low Pass FIR Filters[J]. IEEE Signal Processing Magazine, 2003, 20(1): 50-57.
[10] MathWorks. Efficient Narrow Transition-Band FIR Filter Design[K]. MATLAB7.0 HELP, 1999-2000.
Study on Key Technologies for Weak Signal Processing Method of FPGA
Guo Lei1, Shang Yong2, Bai Sen1
(1.China Airborne Missile Academy, Luoyang 471009, China;2. Civil Aviation Flight University of Luoyang, Luoyang 471009, China)
The calculation precision of algorithm and the FPGA resources for the algorithm implementation are the key factors in the FPGA selection. From the perspective of engineering application, the research and implementation of weak signal processing technology based on FPGA is discussed in detail. Combined with the noise shaping algorithm, the paper gives the principle of determining the fliter output truncation number when the signal processing is realized by FPGA. This can ensure the accuracy of calculation and save the FPGA hardware consumption. Finally, the influence of direct-current(DC) in the weak signal detection is analyzed, the reason for DC generation is expounded and an effective method of DC inhibition is provided.
signal processing; weak target detecting; FPGA; noise shaping; DC suppression; filter truncation
10.19297/j.cnki.41-1228/tj.2016.03.010
2015-06-25
國磊(1982-), 男, 遼寧錦州人, 碩士, 高級(jí)工程師, 研究方向?yàn)樾盘?hào)處理及FPGA應(yīng)用。
TN911.72
A
1673-5048(2016)03-0045-04